sezanzeb / input-remapper

๐ŸŽฎ โŒจ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.79k stars 156 forks source link

ModuleNotFoundError: No module named 'inputremapper'; no devices detected #723

Closed Shoxx98 closed 1 year ago

Shoxx98 commented 1 year ago

Traceback (most recent call last): File "/usr/bin/input-remapper-gtk", line 38, in from inputremapper.gui.gettext import _, LOCALE_DIR ModuleNotFoundError: No module named 'inputremapper'

Txordi00 commented 1 year ago

Same problem here. I think it started to fail after the update to gnome 44.1 (I am on Manjaro GNOME).

Shoxx98 commented 1 year ago

also noticed it after a big wave of updates.

pintassilgo commented 1 year ago

Was having the same issue after upgrading to python 3.11. So I redid manual installation from readme and now GUI starts, but no device is recognized so my remaps aren't working.

input-remapper-gtk 2.0.0 27d7b3e8294606c94c87a5033ab69034a159a839 https://github.com/sezanzeb/input-remapper
python-evdev 1.6.1
Done
Connected to the service
Loaded config from "~/.config/input-remapper-2/config.json"
WARNING: HandlerDisabled entry failed: "nothing connected to <bound method CodeEditor._on_gtk_changed of <inputremapper.gui.components.editor.CodeEditor object at 0x7f1c3dc7c410>>"
WARNING: HandlerDisabled exit failed: "nothing connected to <bound method CodeEditor._on_gtk_changed of <inputremapper.gui.components.editor.CodeEditor object at 0x7f1c3dc7c410>>"
/usr/bin/input-remapper-reader-service:60: RuntimeWarning: coroutine 'ReaderService.run' was never awaited
  reader_service.run()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
WARNING: HandlerDisabled entry failed: "nothing connected to <bound method RecordingToggle._on_gtk_toggle of <inputremapper.gui.components.editor.RecordingToggle object at 0x7f1c3dc6d190>>"
WARNING: HandlerDisabled exit failed: "nothing connected to <bound method RecordingToggle._on_gtk_toggle of <inputremapper.gui.components.editor.RecordingToggle object at 0x7f1c3dc6d190>>"
sezanzeb commented 1 year ago

but no device is recognized so my remaps aren't working.

Is input-remapper-control --list-devices finding any?

sezanzeb commented 1 year ago

ModuleNotFoundError: No module named 'inputremapper'

Post the output of

Shoxx98 commented 1 year ago

input-remapper-control --list-devices ๎‚ฒ โœ” Traceback (most recent call last): File "/usr/bin/input-remapper-control", line 30, in from inputremapper.logger import logger, update_verbosity, log_info ModuleNotFoundError: No module named 'inputremapper'

find /usr/ -iname "inputremapper*" ๎‚ฒ 1 โœ˜ /usr/share/metainfo/io.github.sezanzeb.input_remapper.metainfo.xml /usr/share/input-remapper /usr/share/input-remapper/input-remapper.policy /usr/share/input-remapper/input-remapper.svg /usr/share/input-remapper/input-remapper-autoload.desktop /usr/share/input-remapper/input-remapper.service /usr/share/input-remapper/lang/sk/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/it_IT/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/fr_FR/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/it/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/uk_UA/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/fr/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/ru/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/zh/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/sk_SK/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/ru_RU/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/uk/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/lang/zh_CN/LC_MESSAGES/input-remapper.mo /usr/share/input-remapper/io.github.sezanzeb.input_remapper.metainfo.xml /usr/share/input-remapper/input-remapper-gtk.desktop /usr/share/input-remapper/input-remapper.glade /usr/share/input-remapper/inputremapper.Control.conf /usr/share/input-remapper/99-input-remapper.rules /usr/share/input-remapper/input-remapper-large.png /usr/share/applications/input-remapper-gtk.desktop find: โ€˜/usr/share/polkit-1/rules.dโ€™: Permission denied /usr/share/polkit-1/actions/input-remapper.policy find: โ€˜/usr/lib/firmware/b43legacyโ€™: Permission denied find: โ€˜/usr/lib/firmware/b43โ€™: Permission denied /usr/lib/systemd/system/input-remapper.service /usr/lib/udev/rules.d/99-input-remapper.rules /usr/lib/python3.10/site-packages/inputremapper /usr/lib/python3.10/site-packages/input_remapper-2.0.0-py3.10.egg-info /usr/bin/input-remapper-reader-service /usr/bin/input-remapper-gtk /usr/bin/input-remapper-control /usr/bin/input-remapper-service

python3 -c "import sys; print(sys.path)" ๎‚ฒ INT โœ˜ ['', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/usr/lib/python3.11/site-packages']

sezanzeb commented 1 year ago

In the output above, it can be seen that the inputremapper python package is installed to /usr/lib/python3.10/site-packages/inputremapper

But sys.path looks for paths of 3.11

I'm assuming you upgraded from python 3.10 to 3.11 recently. Try reinstalling input-remapper, maybe this already helps

pintassilgo commented 1 year ago

Is input-remapper-control --list-devices finding any?

No, but sudo input-remapper-control --list-devices finds my keyboard and mouse.

But while I can launch input-remapper by running input-remapper-gtk despite the warnings from my previous comment, sudo input-remapper-gtk doesn't work:

(input-remapper-gtk:15968): Gtk-WARNING **: 18:45:09.868: cannot open display: 
pintassilgo commented 1 year ago

I searched for "cannot open display:" in the repo and found this: https://github.com/sezanzeb/input-remapper/issues/117#issuecomment-1468993969

sudo -E input-remapper-gtk works, input-remapper GUI launches and shows my devices. But the UI is weird, the top bar is black and unreadable, including window close button and also the selected tab, which is Devices at startup.

image

xremap and keyd are listed as devices because they are the softwares I'm using to replace input-remapper while it's broken.

sezanzeb commented 1 year ago

sudo input-remapper-gtk

https://wiki.archlinux.org/title/Running_GUI_applications_as_root

[...] there are no real, substantiated, technological reasons why anybody should run a GUI application as root. By running GUI applications as an admin user you are literally running millions of lines of code that have not been audited properly to run under elevated privileges; you are also running code that will touch files inside your $HOME and may change their ownership on the file system; connect, via IPC, to even more running code, etc. You are opening up a massive, gaping security hole [...].

input-remapper is designed to work around this issue. It uses pkexec to start a process without GUI logic that sends the devices back to the gui. The "ReaderService" as seen in this picture: https://github.com/sezanzeb/input-remapper/blob/main/readme/development.md#architecture

When I start input-remapper, this window appears:

image

Is this also the case for you?

pintassilgo commented 1 year ago

Is this also the case for you?

Yes, but then, since upgrading from Python 3.10 to Python 3.11 (among other updates on that day, I'm just guessing Python is related), no device is recognized.

You requested me to run input-remapper-control --list-devices, same result, so I tried with sudo and my devices appeared. But input-remapper GUI is broken with sudo, as per my previous comments.

sezanzeb commented 1 year ago

running sudo input-remapper-control --list-devices is fine, and might just be the correct way to do that.

Run input-remapper-gtk -d, and post the logs of the startup here

pintassilgo commented 1 year ago
05:26:44.048844 32359 GUI INFO logger.py:265: input-remapper-gtk 2.0.0 27d7b3e8294606c94c87a5033ab69034a159a839 https://github.com/sezanzeb/input-remapper
05:26:44.048980 32359 GUI INFO logger.py:273: python-evdev 1.6.1
05:26:44.049044 32359 GUI WARNING logger.py:276: Debug level will log all your keystrokes! Do not post this output in the internet if you typed in sensitive or private information with your device!
05:26:44.049105 32359 GUI DEBUG input-remapper-gtk:67: Using locale directory: /usr/share/input-remapper/lang
05:26:44.067050 32359 GUI DEBUG pipe.py:70: Creating new pipe for "/tmp/input-remapper/reader-results"
05:26:44.067780 32359 GUI DEBUG pipe.py:70: Creating new pipe for "/tmp/input-remapper/reader-commands"
05:26:44.067965 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.terminate: <function ReaderClient.attach_to_events.<locals>.<lambda> at 0x7f6b826a7ba0>
05:26:44.068279 32359 GUI DEBUG reader_service.py:144: Running `pkexec input-remapper-control --command start-reader-service -d`
05:26:46.372685 32366 control DEBUG input-remapper-control:232: Call for "['/usr/bin/input-remapper-control', '--command', 'start-reader-service', '-d']"
05:26:46.385566 32366 control DEBUG input-remapper-control:214: System is booted
05:26:46.388582 32366 control INFO input-remapper-control:262: Done
05:26:46.426276 32359 GUI INFO daemon.py:228: Connected to the service
05:26:46.426538 32359 GUI DEBUG daemon.py:264: Telling service about "~/.config/input-remapper-2"
05:26:46.429400 32359 GUI DEBUG global_uinputs.py:135: Creating FrontendUInputs
05:26:46.429496 32359 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard"
05:26:46.429558 32359 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper gamepad"
05:26:46.429613 32359 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper mouse"
05:26:46.429663 32359 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard + mouse"
05:26:46.430100 32359 GUI INFO global_config.py:109: Loaded config from "~/.config/input-remapper-2/config.json"
05:26:46.430314 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.groups: <bound method Controller._on_groups_changed of <inputremapper.gui.controller.Controller object at 0x7f6b832b6c10>>
05:26:46.430459 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method Controller._on_preset_changed of <inputremapper.gui.controller.Controller object at 0x7f6b832b6c10>>
05:26:46.430548 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.init: <bound method Controller._on_init of <inputremapper.gui.controller.Controller object at 0x7f6b832b6c10>>
05:26:46.430604 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method Controller._publish_mapping_errors_as_status_msg of <inputremapper.gui.controller.Controller object at 0x7f6b832b6c10>>
05:26:46.430654 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Controller._publish_mapping_errors_as_status_msg of <inputremapper.gui.controller.Controller object at 0x7f6b832b6c10>>
05:26:46.430770 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.terminate: <function UserInterface.__init__.<locals>.<lambda> at 0x7f6b82550d60>
05:26:46.567522 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.groups: <bound method DeviceGroupSelection._on_groups_changed of <inputremapper.gui.components.device_groups.DeviceGroupSelection object at 0x7f6b82afc890>>
05:26:46.567622 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.group: <bound method DeviceGroupSelection._on_group_changed of <inputremapper.gui.components.device_groups.DeviceGroupSelection object at 0x7f6b82afc890>>
05:26:46.567698 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.group: <bound method PresetSelection._on_group_changed of <inputremapper.gui.components.presets.PresetSelection object at 0x7f6b82566cd0>>
05:26:46.567758 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method PresetSelection._on_preset_changed of <inputremapper.gui.components.presets.PresetSelection object at 0x7f6b82566cd0>>
05:26:46.568076 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method MappingListBox._on_preset_changed of <inputremapper.gui.components.editor.MappingListBox object at 0x7f6b82566d10>>
05:26:46.568142 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method MappingListBox._on_mapping_changed of <inputremapper.gui.components.editor.MappingListBox object at 0x7f6b82566d10>>
05:26:46.568218 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.uinputs: <bound method TargetSelection._on_uinputs_changed of <inputremapper.gui.components.editor.TargetSelection object at 0x7f6b82567d10>>
05:26:46.568275 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method TargetSelection._on_mapping_loaded of <inputremapper.gui.components.editor.TargetSelection object at 0x7f6b82567d10>>
05:26:46.568350 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.group: <bound method Breadcrumbs._on_group_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82567d90>>
05:26:46.568412 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method Breadcrumbs._on_preset_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82567d90>>
05:26:46.568465 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Breadcrumbs._on_mapping_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82567d90>>
05:26:46.568663 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.group: <bound method Breadcrumbs._on_group_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82561050>>
05:26:46.568724 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method Breadcrumbs._on_preset_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82561050>>
05:26:46.568774 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Breadcrumbs._on_mapping_changed of <inputremapper.gui.components.common.Breadcrumbs object at 0x7f6b82561050>>
05:26:46.569014 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.do_stack_switch: <bound method Stack._do_stack_switch of <inputremapper.gui.components.main.Stack object at 0x7f6b82566e50>>
05:26:46.569117 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.recording_finished: <bound method RecordingToggle._on_recording_finished of <inputremapper.gui.components.editor.RecordingToggle object at 0x7f6b82570550>>
05:26:46.569210 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method RequireActiveMapping._on_preset of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b82570d10>>
05:26:46.569267 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method RequireActiveMapping._on_mapping of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b82570d10>>
05:26:46.569824 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.status_msg: <bound method StatusBar._on_status_update of <inputremapper.gui.components.main.StatusBar object at 0x7f6b82570d50>>
05:26:46.569902 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.recording_started: <bound method RecordingStatus._on_recording_started of <inputremapper.gui.components.editor.RecordingStatus object at 0x7f6b98231710>>
05:26:46.569958 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.recording_finished: <bound method RecordingStatus._on_recording_finished of <inputremapper.gui.components.editor.RecordingStatus object at 0x7f6b98231710>>
05:26:46.570202 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method AutoloadSwitch._on_preset_changed of <inputremapper.gui.components.editor.AutoloadSwitch object at 0x7f6b82572410>>
05:26:46.570288 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method ReleaseCombinationSwitch._on_mapping_changed of <inputremapper.gui.components.editor.ReleaseCombinationSwitch object at 0x7f6b82572810>>
05:26:46.570359 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method CombinationListbox._on_mapping_changed of <inputremapper.gui.components.editor.CombinationListbox object at 0x7f6b82572990>>
05:26:46.570413 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.selected_event: <bound method CombinationListbox._on_event_changed of <inputremapper.gui.components.editor.CombinationListbox object at 0x7f6b82572990>>
05:26:46.570498 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.selected_event: <bound method AnalogInputSwitch._on_event of <inputremapper.gui.components.editor.AnalogInputSwitch object at 0x7f6b82572a50>>
05:26:46.571081 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.selected_event: <bound method TriggerThresholdInput._on_event of <inputremapper.gui.components.editor.TriggerThresholdInput object at 0x7f6b82572b50>>
05:26:46.571954 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method RelativeInputCutoffInput._on_mapping_message of <inputremapper.gui.components.editor.RelativeInputCutoffInput object at 0x7f6b82afead0>>
05:26:46.572858 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method OutputAxisSelector._on_mapping_message of <inputremapper.gui.components.editor.OutputAxisSelector object at 0x7f6b82579410>>
05:26:46.572925 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.uinputs: <bound method OutputAxisSelector._on_uinputs_message of <inputremapper.gui.components.editor.OutputAxisSelector object at 0x7f6b82579410>>
05:26:46.573006 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method KeyAxisStackSwitcher._on_mapping_message of <inputremapper.gui.components.editor.KeyAxisStackSwitcher object at 0x7f6b98200190>>
05:26:46.573108 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method ReleaseTimeoutInput._on_mapping_message of <inputremapper.gui.components.editor.ReleaseTimeoutInput object at 0x7f6b8257a650>>
05:26:46.573311 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method TransformationDrawArea._on_mapping_message of <inputremapper.gui.components.editor.TransformationDrawArea object at 0x7f6b8257a7d0>>
05:26:46.574300 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Sliders._on_mapping_message of <inputremapper.gui.components.editor.Sliders object at 0x7f6b8257a990>>
05:26:46.574403 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method RequireActiveMapping._on_preset of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b3d0>>
05:26:46.574462 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method RequireActiveMapping._on_mapping of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b3d0>>
05:26:46.574548 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method RequireActiveMapping._on_preset of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b410>>
05:26:46.574722 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method RequireActiveMapping._on_mapping of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b410>>
05:26:46.574800 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.preset: <bound method RequireActiveMapping._on_preset of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b5d0>>
05:26:46.574855 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method RequireActiveMapping._on_mapping of <inputremapper.gui.components.editor.RequireActiveMapping object at 0x7f6b8257b5d0>>
05:26:46.575326 32359 GUI WARNING utils.py:199: HandlerDisabled entry failed: "nothing connected to <bound method CodeEditor._on_gtk_changed of <inputremapper.gui.components.editor.CodeEditor object at 0x7f6b8257b590>>"
05:26:46.575497 32359 GUI WARNING utils.py:205: HandlerDisabled exit failed: "nothing connected to <bound method CodeEditor._on_gtk_changed of <inputremapper.gui.components.editor.CodeEditor object at 0x7f6b8257b590>>"
05:26:46.575605 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method CodeEditor._on_mapping_loaded of <inputremapper.gui.components.editor.CodeEditor object at 0x7f6b8257b590>>
05:26:46.575663 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.recording_finished: <bound method CodeEditor._on_recording_finished of <inputremapper.gui.components.editor.CodeEditor object at 0x7f6b8257b590>>
05:26:46.577109 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Autocompletion._on_mapping_changed of <autocompletion.Autocompletion object at 0x7f6b82580ac0 (Autocompletion at 0x55fc1988a200)>>
05:26:46.577199 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.uinputs: <bound method Autocompletion._on_uinputs_changed of <autocompletion.Autocompletion object at 0x7f6b82580ac0 (Autocompletion at 0x55fc1988a200)>>
05:26:46.577618 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method UserInterface.update_combination_label of <inputremapper.gui.user_interface.UserInterface object at 0x7f6b82560ed0>>
05:26:46.577694 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.injector_state: <bound method UserInterface.on_injector_state_msg of <inputremapper.gui.user_interface.UserInterface object at 0x7f6b82560ed0>>
05:26:46.577748 32359 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.user_confirm_request: <bound method UserInterface._on_user_confirm_request of <inputremapper.gui.user_interface.UserInterface object at 0x7f6b82560ed0>>
05:26:46.609330 32384 reader-service DEBUG data.py:96: Found data at "/usr/share/input-remapper"
05:26:46.621514 32384 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper/reader-results"
05:26:46.621684 32384 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper/reader-commands"
/usr/bin/input-remapper-reader-service:60: RuntimeWarning: coroutine 'ReaderService.run' was never awaited
  reader_service.run()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
05:26:46.623425 32359 GUI DEBUG reader_client.py:141: received {'type': 'status', 'message': 'ready'}
05:26:46.645188 32359 GUI DEBUG message_broker.py:76: from input-remapper-gtk:98: Signal=init: Signal: MessageType.init
05:26:46.645873 32359 GUI DEBUG groups.py:354: Discovering device paths
05:26:46.647108 32359 GUI DEBUG groups.py:478: Did not find any input device
05:26:46.648879 32359 GUI DEBUG message_broker.py:76: from reader_client.py:282: Signal=groups: GroupsData(groups={})
05:26:46.649731 32359 GUI DEBUG controller.py:128: Could not find a group
05:26:46.649810 32359 GUI DEBUG message_broker.py:76: from data_manager.py:140: Signal=uinputs: UInputsData(uinputs={'keyboard': {1: [0, ... 700]}, 'gamepad': {1: [304, ... 318], 3: [(0, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (1, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (2, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (3, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (4, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (5, AbsInfo(value=0, min=-32768, max=32768, fuzz=0, flat=0, resolution=0)), (16, AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0)), (17, AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0))]}, 'mouse': {1: [272, ... 279], 2: [0, ... 12]}, 'keyboard + mouse': {1: [0, ... 279], 2: [0, ... 12]}})
05:26:49.670267 32359 GUI DEBUG controller.py:738: Closing Application
05:26:49.670980 32359 GUI DEBUG message_broker.py:76: from controller.py:740: Signal=terminate: Signal: MessageType.terminate
05:26:49.671057 32359 GUI DEBUG reader_client.py:120: Sending "terminate" to ReaderService
05:26:49.671142 32359 GUI DEBUG reader_client.py:185: Stopping recorder.
05:26:49.671196 32359 GUI DEBUG reader_client.py:120: Sending "stop-reading" to ReaderService
05:26:49.671256 32359 GUI DEBUG reader_client.py:194: No recording generator existed
05:26:49.671395 32359 GUI DEBUG user_interface.py:375: Closing window
05:26:49.671608 32359 GUI DEBUG message_broker.py:76: from reader_client.py:196: Signal=recording_finished: Signal: MessageType.recording_finished
05:26:49.671743 32359 GUI DEBUG controller.py:741: Quitting
05:26:49.678065 32359 GUI DEBUG controller.py:738: Closing Application
05:26:49.678467 32359 GUI DEBUG message_broker.py:76: from controller.py:740: Signal=terminate: Signal: MessageType.terminate
05:26:49.678569 32359 GUI DEBUG reader_client.py:120: Sending "terminate" to ReaderService
05:26:49.678667 32359 GUI DEBUG reader_client.py:185: Stopping recorder.
05:26:49.678728 32359 GUI DEBUG reader_client.py:120: Sending "stop-reading" to ReaderService
05:26:49.678838 32359 GUI DEBUG reader_client.py:194: No recording generator existed
05:26:49.679094 32359 GUI DEBUG user_interface.py:375: Closing window
05:26:49.679231 32359 GUI DEBUG message_broker.py:76: from reader_client.py:196: Signal=recording_finished: Signal: MessageType.recording_finished
05:26:49.679396 32359 GUI WARNING utils.py:199: HandlerDisabled entry failed: "nothing connected to <bound method RecordingToggle._on_gtk_toggle of <inputremapper.gui.components.editor.RecordingToggle object at 0x7f6b82570550>>"
05:26:49.679529 32359 GUI WARNING utils.py:205: HandlerDisabled exit failed: "nothing connected to <bound method RecordingToggle._on_gtk_toggle of <inputremapper.gui.components.editor.RecordingToggle object at 0x7f6b82570550>>"
Shoxx98 commented 1 year ago

I reinstalled and it fixed my issues. no user data was lost.

sezanzeb commented 1 year ago

So the reader-service is somehow broken for you. Possibly because of /usr/bin/input-remapper-reader-service:60: RuntimeWarning: coroutine 'ReaderService.run' was never awaited reader_service.run()

This is how it looks for me:

sudo input-remapper-control --command start-reader-service -d
11:54:42.472611 10261 control DEBUG logger.py:297: Using rich.traceback
11:54:42.472764 10261 control DEBUG input-remapper-control:233: Call for "['/usr/bin/input-remapper-control', '--command', 'start-reader-service', '-d']"
11:54:42.476486 10261 control DEBUG input-remapper-control:215: System is booted
11:54:42.476540 10261 control DEBUG input-remapper-control:178: Running `input-remapper-reader-service -d &`
11:54:42.478297 10261 control INFO input-remapper-control:263: Done
โžœ  ~ 11:54:42.637407 10264 reader-service DEBUG logger.py:297: Using rich.traceback
11:54:42.671354 10264 reader-service DEBUG data.py:118: Found data at "/usr/share/input-remapper"
11:54:42.678065 10264 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper-mango/reader-results"
11:54:42.678256 10264 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper-mango/reader-commands"
11:54:42.678460 10264 reader-service DEBUG reader_service.py:154: Discovering initial groups
11:54:42.678667 10264 reader-service DEBUG groups.py:354: Discovering device paths
11:54:42.678953 10264 reader-service DEBUG groups.py:391: "PC Speaker" has no useful capabilities
11:54:42.753828 10264 reader-service DEBUG groups.py:402: Found unknown "Logitech USB Keyboard System Control" at "/dev/input/event5", hash "3ec135c52cf9bafbf93892fd9b833aad", key "3_1133_49960_usb-0000:28:00.3-2.3"
11:54:42.787067 10264 reader-service DEBUG groups.py:402: Found unknown "Logitech USB Keyboard Consumer Control" at "/dev/input/event4", hash "e205f561c4fa1ecab337969b46b51d72", key "3_1133_49960_usb-0000:28:00.3-2.3"
11:54:42.807214 10264 reader-service DEBUG groups.py:402: Found keyboard "Logitech USB Keyboard" at "/dev/input/event3", hash "cba0d7f555a960fabbad51fdb8f28b70", key "3_1133_49960_usb-0000:28:00.3-2.3"
11:54:42.844806 10264 reader-service DEBUG groups.py:402: Found mouse "USB Optical Mouse" at "/dev/input/event2", hash "14f36ff5018da900e3f14b07bb3c23ce", key "3_7119_5_usb-0000:28:00.3-2.1"
11:54:42.913766 10264 reader-service INFO groups.py:481: Found "Logitech USB Keyboard", "USB Optical Mouse"
11:54:42.913858 10264 reader-service DEBUG reader_service.py:161: Sending groups
11:54:42.913988 10264 reader-service DEBUG reader_service.py:193: Waiting for commands
sezanzeb commented 1 year ago

I just up upgraded to python 3.11, reinstalled input-remapper and am not having this issue

sezanzeb commented 1 year ago

Try replacing /bin/input-remapper-reader-service with https://gist.github.com/sezanzeb/8b5624134938236648d4f6ea213a0f30 and see if that improves anything

pintassilgo commented 1 year ago

Yes, this fixed it. input-remapper is working again normally, thanks. Maybe you should commit the change?