{"record":{"id":"8d11c9989f27ffdc","repo":"iberianpig/fusuma","slug":"libinput-list-devices-failed-with-output-o","errorCode":null,"errorMessage":"libinput list-devices failed with output: #{o}","messagePattern":"libinput list-devices failed with output: #(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/fusuma/libinput_command.rb","lineNumber":49,"sourceCode":"    # @return [String]\n    #: () -> String?\n    def version\n      # version_command prints \"1.6.3\\n\"\n      @version ||= `#{version_command}`.strip\n    end\n\n    # @yieldparam [String] gives a line in libinput list-devices output to the block\n    #: () { (String) -> void } -> void\n    def list_devices(&block)\n      cmd = list_devices_command\n      unless @logged_list_devices\n        MultiLogger.debug(list_devices: cmd)\n        @logged_list_devices = true\n      end\n      o, _, s = Open3.capture3(cmd)\n\n      unless s.success?\n        raise \"libinput list-devices failed with output: #{o}\"\n      end\n\n      o.each_line(&block)\n    end\n\n    # @return [Integer] return a latest line libinput debug-events\n    #: (StringIO) -> Array[untyped]\n    def debug_events(writer)\n      Open3.pipeline_start([debug_events_with_options], [\"grep -v POINTER_ --line-buffered\"], out: writer, in: \"/dev/null\")\n    end\n\n    # @return [String] command\n    # @raise [SystemExit]\n    #: () -> String?\n    def version_command\n      if @libinput_command\n        \"#{@libinput_command} --version\"\n      elsif @debug_events_command && @list_devices_command","sourceCodeStart":31,"sourceCodeEnd":67,"githubUrl":"https://github.com/iberianpig/fusuma/blob/43a7eb04fe6c0709a646be183a612e56e5f60a2e/lib/fusuma/libinput_command.rb#L31-L67","documentation":"Error \"libinput list-devices failed with output: #{o}\" thrown in iberianpig/fusuma.","triggerScenarios":"Thrown at lib/fusuma/libinput_command.rb:49 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify libinput is installed and that libinput list-devices runs successfully in a terminal.","Run fusuma with sufficient privileges: add your user to the input group (sudo gpasswd -a USER input) and re-login.","Run the failing command shown in the debug log manually to see the underlying error."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"43a7eb04fe6c0709a646be183a612e56e5f60a2e","analyzedAt":"2026-08-23T06:17:53.504Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}