iberianpig/fusuma · error

libinput list-devices failed with output: #{o}

Error message

libinput list-devices failed with output: #{o}

What it means

Error "libinput list-devices failed with output: #{o}" thrown in iberianpig/fusuma.

Source

Thrown at lib/fusuma/libinput_command.rb:49

    # @return [String]
    #: () -> String?
    def version
      # version_command prints "1.6.3\n"
      @version ||= `#{version_command}`.strip
    end

    # @yieldparam [String] gives a line in libinput list-devices output to the block
    #: () { (String) -> void } -> void
    def list_devices(&block)
      cmd = list_devices_command
      unless @logged_list_devices
        MultiLogger.debug(list_devices: cmd)
        @logged_list_devices = true
      end
      o, _, s = Open3.capture3(cmd)

      unless s.success?
        raise "libinput list-devices failed with output: #{o}"
      end

      o.each_line(&block)
    end

    # @return [Integer] return a latest line libinput debug-events
    #: (StringIO) -> Array[untyped]
    def debug_events(writer)
      Open3.pipeline_start([debug_events_with_options], ["grep -v POINTER_ --line-buffered"], out: writer, in: "/dev/null")
    end

    # @return [String] command
    # @raise [SystemExit]
    #: () -> String?
    def version_command
      if @libinput_command
        "#{@libinput_command} --version"
      elsif @debug_events_command && @list_devices_command

View on GitHub (pinned to 43a7eb04fe)

Solutions

  1. Verify libinput is installed and that libinput list-devices runs successfully in a terminal.
  2. Run fusuma with sufficient privileges: add your user to the input group (sudo gpasswd -a USER input) and re-login.
  3. Run the failing command shown in the debug log manually to see the underlying error.

When it happens

Trigger: Thrown at lib/fusuma/libinput_command.rb:49 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of iberianpig/fusuma@43a7eb04fe (2026-08-23). Data as JSON: /api/errors/8d11c9989f27ffdc. Report an issue: GitHub.