sezanzeb / input-remapper

šŸŽ® āŒØ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.84k stars 160 forks source link

Remapping stopped working after switching keyboards #994

Open cwitting opened 6 days ago

cwitting commented 6 days ago

I had a configuration where I remapped the "Ā½" key to "BTN_LEFT" on the mouse. This used to work perfectly. At some point I temporarily swapped keyboards to another, and remapped the key there. This also worked. Then I swapped back to the original keyboard and the remapping no longer works. I have tried reinstalling and purging all input-remapper related stuff. The key simply functions as normal.

Share some logs please:

  1. input-remapper-control --version : input-remapper 2.0.1 https://github.com/sezanzeb/input-remapper python-evdev 1.7.0

  2. which linux distro (ubuntu 20.04, manjaro, etc.): Ubuntu 24.04

  3. echo $XDG_SESSION_TYPE : wayland

  4. which desktop environment (gnome, plasma, xfce4, etc.) : gnome

  5. sudo ls -l /proc/1/exe : lrwxrwxrwx 1 root root 0 Oct 29 18:37 /proc/1/exe -> /usr/lib/systemd/systemd

  6. paste the affected preset .json file from ~/.config/input-remapper-2/presets: [ { "input_combination": [ { "type": 1, "code": 41, "origin_hash": "0f5ea3841c0305ec3c04103d3a1c3860" } ], "target_uinput": "mouse", "output_symbol": "BTN_LEFT", "mapping_type": "key_macro" } ]

  7. sudo pkill -f input-remapper-service && input-remapper-gtk -d, apply the preset and hit your key. Then share that log.:

christian@machine:~$ sudo apt install input-remapper [sudo] password for christian: Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: gir1.2-gtksource-4 input-remapper-daemon input-remapper-gtk libgtksourceview-4-0 libgtksourceview-4-common python3-evdev python3-inputremapper python3-pydantic python3-pydbus Suggested packages: python-evdev-doc python-pydbus-doc The following NEW packages will be installed: gir1.2-gtksource-4 input-remapper input-remapper-daemon input-remapper-gtk libgtksourceview-4-0 libgtksourceview-4-common python3-evdev python3-inputremapper python3-pydantic python3-pydbus 0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded. Need to get 293 kB/3,147 kB of archives. After this operation, 14.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://dk.archive.ubuntu.com/ubuntu noble/universe amd64 input-remapper-daemon all 2.0.1-1 [258 kB] Get:2 http://dk.archive.ubuntu.com/ubuntu noble/universe amd64 input-remapper-gtk all 2.0.1-1 [32.7 kB] Get:3 http://dk.archive.ubuntu.com/ubuntu noble/universe amd64 input-remapper all 2.0.1-1 [1,590 B] Fetched 293 kB in 0s (1,096 kB/s) Selecting previously unselected package libgtksourceview-4-common. (Reading database ... 232187 files and directories currently installed.) Preparing to unpack .../0-libgtksourceview-4-common_4.8.4-5build4_all.deb ... Unpacking libgtksourceview-4-common (4.8.4-5build4) ... Selecting previously unselected package libgtksourceview-4-0:amd64. Preparing to unpack .../1-libgtksourceview-4-0_4.8.4-5build4_amd64.deb ... Unpacking libgtksourceview-4-0:amd64 (4.8.4-5build4) ... Selecting previously unselected package gir1.2-gtksource-4:amd64. Preparing to unpack .../2-gir1.2-gtksource-4_4.8.4-5build4_amd64.deb ... Unpacking gir1.2-gtksource-4:amd64 (4.8.4-5build4) ... Selecting previously unselected package python3-evdev. Preparing to unpack .../3-python3-evdev_1.7.0+dfsg-1build1_amd64.deb ... Unpacking python3-evdev (1.7.0+dfsg-1build1) ... Selecting previously unselected package python3-pydantic. Preparing to unpack .../4-python3-pydantic_1.10.14-1_amd64.deb ... Unpacking python3-pydantic (1.10.14-1) ... Selecting previously unselected package python3-pydbus. Preparing to unpack .../5-python3-pydbus_0.6.0-5_all.deb ... Unpacking python3-pydbus (0.6.0-5) ... Selecting previously unselected package python3-inputremapper. Preparing to unpack .../6-python3-inputremapper_2.0.1-1_all.deb ... Unpacking python3-inputremapper (2.0.1-1) ... Selecting previously unselected package input-remapper-daemon. Preparing to unpack .../7-input-remapper-daemon_2.0.1-1_all.deb ... Unpacking input-remapper-daemon (2.0.1-1) ... Selecting previously unselected package input-remapper-gtk. Preparing to unpack .../8-input-remapper-gtk_2.0.1-1_all.deb ... Unpacking input-remapper-gtk (2.0.1-1) ... Selecting previously unselected package input-remapper. Preparing to unpack .../9-input-remapper_2.0.1-1_all.deb ... Unpacking input-remapper (2.0.1-1) ... Setting up python3-pydantic (1.10.14-1) ... Setting up python3-evdev (1.7.0+dfsg-1build1) ... Setting up python3-pydbus (0.6.0-5) ... Setting up libgtksourceview-4-common (4.8.4-5build4) ... Setting up python3-inputremapper (2.0.1-1) ... /usr/lib/python3/dist-packages/inputremapper/gui/controller.py:304: SyntaxWarnin g: invalid escape sequence '\d' match = re.search(" copy *\d*$", name) /usr/lib/python3/dist-packages/inputremapper/gui/messages/message_data.py:45: Sy ntaxWarning: invalid escape sequence '\d' all_matches = list(re.finditer("(\d+, )+", string)) Setting up libgtksourceview-4-0:amd64 (4.8.4-5build4) ... Setting up input-remapper-daemon (2.0.1-1) ... Created symlink /etc/systemd/system/input-remapper.service ā†’ /usr/lib/systemd/sy stem/input-remapper-daemon.service. Created symlink /etc/systemd/system/default.target.wants/input-remapper-daemon.s ervice ā†’ /usr/lib/systemd/system/input-remapper-daemon.service. Setting up gir1.2-gtksource-4:amd64 (4.8.4-5build4) ... Setting up input-remapper-gtk (2.0.1-1) ... Setting up input-remapper (2.0.1-1) ... Processing triggers for dbus (1.14.10-4ubuntu4.1) ... Processing triggers for desktop-file-utils (0.27-2build1) ... Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ... Processing triggers for libc-bin (2.39-0ubuntu8.3) ... christian@machine:~$ sudp^C christian@machine:~$ sudo pkill -f input-remapper-service && input-remapper-gtk -d 18:39:57.630428 3537 GUI DEBUG logger.py:294: Using rich.traceback 18:39:57.630489 3537 GUI INFO logger.py:262: input-remapper-gtk 2.0.1 https://github.com/sezanzeb/input-remapper 18:39:57.630548 3537 GUI INFO logger.py:270: python-evdev 1.7.0 18:39:57.630583 3537 GUI WARNING logger.py:273: 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! 18:39:57.630616 3537 GUI DEBUG input-remapper-gtk:67: Using locale directory: /usr/share/input-remapper/lang 18:39:57.645215 3537 GUI DEBUG global_uinputs.py:135: Creating FrontendUInputs 18:39:57.645267 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard" 18:39:57.645304 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper gamepad" 18:39:57.645334 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper mouse" 18:39:57.645362 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard + mouse" 18:39:57.645483 3537 GUI INFO paths.py:72: Creating dir "/tmp/input-remapper-christian" 18:39:57.645686 3537 GUI DEBUG pipe.py:70: Creating new pipe for "/tmp/input-remapper-christian/reader-results" 18:39:57.645879 3537 GUI DEBUG pipe.py:70: Creating new pipe for "/tmp/input-remapper-christian/reader-commands" 18:39:57.646030 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.terminate: <function ReaderClient.attach_to_events.<locals>.<lambda> at 0x7951e4f0d440> 18:39:57.646223 3537 GUI DEBUG reader_service.py:144: Runningpkexec input-remapper-control --command start-reader-service -d 18:39:59.732897 3545 control DEBUG logger.py:294: Using rich.traceback 18:39:59.732982 3545 control DEBUG input-remapper-control:233: Call for "['/usr/bin/input-remapper-control', '--command', 'start-reader-service', '-d']" 18:39:59.739191 3545 control DEBUG input-remapper-control:215: System is booted 18:39:59.739246 3545 control DEBUG input-remapper-control:178: Runninginput-remapper-reader-service -d & 18:39:59.739741 3545 control INFO input-remapper-control:263: Done 18:39:59.766149 3537 GUI INFO daemon.py:234: Starting the service 18:39:59.766207 3537 GUI DEBUG daemon.py:245: Runningpkexec input-remapper-control --command start-daemon -d 18:39:59.881130 3561 reader-service DEBUG logger.py:294: Using rich.traceback 18:39:59.904343 3561 reader-service DEBUG data.py:118: Found data at "/usr/share/input-remapper" 18:39:59.913287 3561 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper-christian/reader-results" 18:39:59.913400 3561 reader-service DEBUG pipe.py:87: Using existing pipe for "/tmp/input-remapper-christian/reader-commands" 18:39:59.913660 3561 reader-service DEBUG reader_service.py:154: Discovering initial groups 18:39:59.913962 3561 reader-service DEBUG groups.py:354: Discovering device paths 18:39:59.914414 3561 reader-service DEBUG groups.py:402: Found unknown "Sleep Button" at "/dev/input/event0", hash "9cfc19c3c931a9d205fc3fa9d159a97e", key "25_0_3_PNP0C0E" 18:39:59.939303 3561 reader-service DEBUG groups.py:402: Found keyboard "Logitech USB Receiver" at "/dev/input/event3", hash "e9a67299d19ec96ab59683858735f84f", key "3_1133_50504_usb-0000:00:14.0-5" 18:39:59.945253 3561 reader-service DEBUG groups.py:402: Found mouse "Logitech USB Receiver Mouse" at "/dev/input/event4", hash "3053316a9883deb9b2680fdf4ec5566b", key "3_1133_50504_usb-0000:00:14.0-5" 18:39:59.953298 3561 reader-service DEBUG groups.py:402: Found unknown "Logitech USB Receiver Consumer Control" at "/dev/input/event5", hash "e76f1b711639b821aba73daa6135a79b", key "3_1133_50504_usb-0000:00:14.0-5" 18:39:59.959234 3561 reader-service DEBUG groups.py:402: Found unknown "Logitech USB Receiver System Control" at "/dev/input/event6", hash "0640035a98ed99af181b8371040dbc9d", key "3_1133_50504_usb-0000:00:14.0-5" 18:39:59.967237 3561 reader-service DEBUG groups.py:402: Found unknown "Logitech USB Receiver" at "/dev/input/event7", hash "cc2310f50fc5ef2c9d4ba2b520dd6e3c", key "3_1133_50504_usb-0000:00:14.0-5" 18:39:59.982300 3561 reader-service DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event9", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:39:59.988297 3561 reader-service DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event10", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:39:59.997299 3561 reader-service DEBUG groups.py:402: Found unknown "SteelSeries SteelSeries Apex Pro Consumer Control" at "/dev/input/event11", hash "db6c5cda4e04cc7ec82a80e38811dcc2", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:00.006249 3561 reader-service DEBUG groups.py:402: Found mouse "SteelSeries SteelSeries Apex Pro Mouse" at "/dev/input/event12", hash "ed33858687464d5c19319b1c3508ee8b", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:00.019244 3561 reader-service DEBUG groups.py:402: Found touchpad "Logitech USB Receiver" at "/dev/input/event8", hash "a26093d551eefee9502869385d05d770", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:00.026244 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=3" has no useful capabilities 18:40:00.043223 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=7" has no useful capabilities 18:40:00.060218 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=8" has no useful capabilities 18:40:00.075225 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=9" has no useful capabilities 18:40:00.092153 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=10" has no useful capabilities 18:40:00.115221 3561 reader-service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=11" has no useful capabilities 18:40:00.132220 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Front Mic" has no useful capabilities 18:40:00.149227 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Rear Mic" has no useful capabilities 18:40:00.165220 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Line" has no useful capabilities 18:40:00.182220 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Line Out Front" has no useful capabilities 18:40:00.203219 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Line Out Surround" has no useful capabilities 18:40:00.224220 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Line Out CLFE" has no useful capabilities 18:40:00.241219 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Line Out Side" has no useful capabilities 18:40:00.257231 3561 reader-service DEBUG groups.py:391: "HDA Intel PCH Front Headphone" has no useful capabilities 18:40:00.257469 3561 reader-service INFO groups.py:481: Found "Sleep Button", "Logitech USB Receiver", "SteelSeries SteelSeries Apex Pro" 18:40:00.257540 3561 reader-service DEBUG reader_service.py:161: Sending groups 18:40:00.257709 3561 reader-service DEBUG reader_service.py:193: Waiting for commands 18:40:02.013513 3563 control DEBUG logger.py:294: Using rich.traceback 18:40:02.013596 3563 control DEBUG input-remapper-control:233: Call for "['/usr/bin/input-remapper-control', '--command', 'start-daemon', '-d']" 18:40:02.017885 3563 control DEBUG input-remapper-control:215: System is booted 18:40:02.017940 3563 control DEBUG input-remapper-control:178: Runninginput-remapper-service --hide-info -d & 18:40:02.018480 3563 control INFO input-remapper-control:263: Done 18:40:02.133314 3584 service DEBUG logger.py:294: Using rich.traceback 18:40:02.189924 3584 service DEBUG data.py:118: Found data at "/usr/share/input-remapper" 18:40:02.200770 3584 service DEBUG daemon.py:196: Creating daemon 18:40:02.200879 3584 service ERROR daemon.py:339: "/home/christian/.config/input-remapper-2/config.json" does not exist 18:40:02.200923 3584 service DEBUG shared_dict.py:57: Starting SharedDict process 18:40:02.202747 3585 service DEBUG shared_dict.py:63: SharedDict process started 18:40:02.207643 3584 service DEBUG daemon.py:281: Running daemon 18:40:02.244635 3537 GUI DEBUG daemon.py:264: Telling service about "/home/christian/.config/input-remapper-2" 18:40:02.245414 3584 service ERROR daemon.py:339: "/home/christian/.config/input-remapper-2/config.json" does not exist 18:40:02.245778 3537 GUI DEBUG global_uinputs.py:135: Creating FrontendUInputs 18:40:02.245832 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard" 18:40:02.245923 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper gamepad" 18:40:02.245970 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper mouse" 18:40:02.246029 3537 GUI DEBUG global_uinputs.py:103: creating fake UInput device: "input-remapper keyboard + mouse" 18:40:02.246110 3537 GUI DEBUG global_config.py:100: Config "/home/christian/.config/input-remapper-2/config.json" doesn't exist yet 18:40:02.246191 3537 GUI INFO paths.py:55: Creating file "/home/christian/.config/input-remapper-2/config.json" 18:40:02.246585 3537 GUI INFO global_config.py:129: Saved config to /home/christian/.config/input-remapper-2/config.json 18:40:02.246700 3537 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 0x7951e4f15b80>> 18:40:02.246758 3537 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 0x7951e4f15b80>> 18:40:02.246820 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.init: <bound method Controller._on_init of <inputremapper.gui.controller.Controller object at 0x7951e4f15b80>> 18:40:02.246862 3537 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 0x7951e4f15b80>> 18:40:02.246911 3537 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 0x7951e4f15b80>> 18:40:02.246969 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.terminate: <function UserInterface.__init__.<locals>.<lambda> at 0x7951e4f0e3e0> 18:40:02.311831 3537 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 0x7951e5876cf0>> 18:40:02.311890 3537 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 0x7951e5876cf0>> 18:40:02.311938 3537 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 0x7951e4f160f0>> 18:40:02.311970 3537 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 0x7951e4f160f0>> 18:40:02.312173 3537 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 0x7951e4f16270>> 18:40:02.312215 3537 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 0x7951e4f16270>> 18:40:02.312263 3537 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 0x7951e577e9c0>> 18:40:02.312297 3537 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 0x7951e577e9c0>> 18:40:02.312356 3537 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 0x7951e585bd10>> 18:40:02.312388 3537 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 0x7951e585bd10>> 18:40:02.312415 3537 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 0x7951e585bd10>> 18:40:02.312536 3537 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 0x7951e519be00>> 18:40:02.312571 3537 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 0x7951e519be00>> 18:40:02.312599 3537 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 0x7951e519be00>> 18:40:02.312745 3537 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 0x7951e4ef7890>> 18:40:02.312809 3537 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 0x7951e4e73ad0>> 18:40:02.312863 3537 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 0x7951e4f167e0>> 18:40:02.312895 3537 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 0x7951e4f167e0>> 18:40:02.313245 3537 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 0x7951e4f16900>> 18:40:02.313300 3537 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 0x7951e4ef6870>> 18:40:02.313337 3537 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 0x7951e4ef6870>> 18:40:02.313488 3537 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 0x7951e4f16ab0>> 18:40:02.313539 3537 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 0x7951e4f16a50>> 18:40:02.313579 3537 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 0x7951e4f16c00>> 18:40:02.313610 3537 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 0x7951e4f16c00>> 18:40:02.313654 3537 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 0x7951e4f167b0>> 18:40:02.314147 3537 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 0x7951e4f16b10>> 18:40:02.314742 3537 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 0x7951e4f15fd0>> 18:40:02.315246 3537 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 0x7951e4f15d90>> 18:40:02.315292 3537 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 0x7951e4f15d90>> 18:40:02.315373 3537 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 0x7951e4f15c40>> 18:40:02.315426 3537 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 0x7951e4f15e80>> 18:40:02.315552 3537 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 0x7951e4f15c70>> 18:40:02.316285 3537 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 0x7951e4f15fa0>> 18:40:02.316352 3537 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 0x7951e4f15d60>> 18:40:02.316390 3537 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 0x7951e4f15d60>> 18:40:02.316430 3537 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 0x7951e4f16000>> 18:40:02.316461 3537 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 0x7951e4f16000>> 18:40:02.316502 3537 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 0x7951e4f15d30>> 18:40:02.316531 3537 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 0x7951e4f15d30>> 18:40:02.316827 3537 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 0x7951e4f16c60>>" 18:40:02.316929 3537 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 0x7951e4f16c60>>" 18:40:02.316992 3537 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 0x7951e4f16c60>> 18:40:02.317029 3537 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 0x7951e4f16c60>> 18:40:02.318016 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method Autocompletion._on_mapping_changed of <autocompletion.Autocompletion object at 0x7951da10d500 (Autocompletion at 0x1b70980)>> 18:40:02.318067 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.uinputs: <bound method Autocompletion._on_uinputs_changed of <autocompletion.Autocompletion object at 0x7951da10d500 (Autocompletion at 0x1b70980)>> 18:40:02.318283 3537 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 0x7951e4ef7560>> 18:40:02.318325 3537 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 0x7951e4ef7560>> 18:40:02.318358 3537 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 0x7951e4ef7560>> 18:40:02.346829 3537 GUI DEBUG reader_client.py:141: received {'type': 'status', 'message': 'ready'} 18:40:02.346904 3537 GUI DEBUG reader_client.py:141: received {'type': 'groups', 'message': '["{\\"paths\\": [\\"/dev/input/event0\\"], \\"names\\": [\\"Sleep Button\\"], \\"types\\": [], \\"key\\": \\"Sleep Button\\"}", "{\\"paths\\": [\\"/dev/input/event3\\", \\"/dev/input/event4\\", \\"/dev/input/event5\\", \\"/dev/input/event6\\", \\"/dev/input/event7\\", \\"/dev/input/event8\\"], \\"names\\": [\\"Logitech USB Receiver\\", \\"Logitech USB Receiver Mouse\\", \\"Logitech USB Receiver Consumer Control\\", \\"Logitech USB Receiver System Control\\", \\"Logitech USB Receiver\\", \\"Logitech USB Receiver\\"], \\"types\\": [\\"keyboard\\", \\"mouse\\", \\"touchpad\\"], \\"key\\": \\"Logitech USB Receiver\\"}", "{\\"paths\\": [\\"/dev/input/event9\\", \\"/dev/input/event10\\", \\"/dev/input/event11\\", \\"/dev/input/event12\\"], \\"names\\": [\\"SteelSeries SteelSeries Apex Pro\\", \\"SteelSeries SteelSeries Apex Pro\\", \\"SteelSeries SteelSeries Apex Pro Consumer Control\\", \\"SteelSeries SteelSeries Apex Pro Mouse\\"], \\"types\\": [\\"keyboard\\", \\"mouse\\"], \\"key\\": \\"SteelSeries SteelSeries Apex Pro\\"}"]'} 18:40:02.347226 3537 GUI DEBUG groups.py:354: Discovering device paths 18:40:02.347710 3537 GUI DEBUG groups.py:478: Did not find any input device 18:40:02.347825 3537 GUI DEBUG reader_client.py:287: Received 3 devices 18:40:02.348034 3537 GUI DEBUG message_broker.py:76: from reader_client.py:282: Signal=groups: GroupsData(groups={'Sleep Button': [], 'Logitech USB Receiver': [<DeviceType.KEYBOARD: 'keyboard'>, <DeviceType.MOUSE: 'mouse'>, <DeviceType.TOUCHPAD: 'touchpad'>], 'SteelSeries SteelSeries Apex Pro': [<DeviceType.KEYBOARD: 'keyboard'>, <DeviceType.MOUSE: 'mouse'>]}) 18:40:02.348195 3537 GUI INFO data_manager.py:297: Loading group "Sleep Button" 18:40:02.348251 3537 GUI INFO paths.py:72: Creating dir "/home/christian/.config/input-remapper-2/presets/Sleep Button" 18:40:02.349557 3537 GUI INFO paths.py:55: Creating file "/home/christian/.config/input-remapper-2/presets/Sleep Button/new preset.json" 18:40:02.349657 3537 GUI DEBUG preset.py:182: Not saving unchanged preset 18:40:02.349788 3537 GUI INFO data_manager.py:315: Loading preset "new preset" 18:40:02.349831 3537 GUI INFO preset.py:147: Loading preset from "/home/christian/.config/input-remapper-2/presets/Sleep Button/new preset.json" 18:40:02.349869 3537 GUI DEBUG preset.py:284: got empty file 18:40:02.350004 3537 GUI DEBUG device_groups.py:102: adding Sleep Button to device selection 18:40:02.350450 3537 GUI DEBUG device_groups.py:102: adding Logitech USB Receiver to device selection 18:40:02.350882 3537 GUI DEBUG device_groups.py:102: adding SteelSeries SteelSeries Apex Pro to device selection 18:40:02.351335 3537 GUI DEBUG message_broker.py:76: from data_manager.py:100: Signal=group: GroupData(group_key='Sleep Button', presets=()) 18:40:02.351420 3537 GUI DEBUG message_broker.py:76: from data_manager.py:158: Signal=injector_state: InjectorStateMessage(state='UNKNOWN') 18:40:02.351512 3537 GUI DEBUG message_broker.py:76: from data_manager.py:100: Signal=group: GroupData(group_key='Sleep Button', presets=('new preset',)) 18:40:02.351671 3537 GUI DEBUG message_broker.py:76: from data_manager.py:111: Signal=preset: PresetData(name='new preset', mappings=[], autoload=False) 18:40:02.352615 3537 GUI DEBUG message_broker.py:76: from controller.py:147: Signal=mapping: {'target_uinput': 'keyboard'} 18:40:02.354617 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:02.354690 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:02.366878 3537 GUI DEBUG message_broker.py:76: from input-remapper-gtk:98: Signal=init: Signal: MessageType.init 18:40:02.367008 3537 GUI DEBUG message_broker.py:76: from reader_client.py:282: Signal=groups: GroupsData(groups={'Sleep Button': [], 'Logitech USB Receiver': [<DeviceType.KEYBOARD: 'keyboard'>, <DeviceType.MOUSE: 'mouse'>, <DeviceType.TOUCHPAD: 'touchpad'>], 'SteelSeries SteelSeries Apex Pro': [<DeviceType.KEYBOARD: 'keyboard'>, <DeviceType.MOUSE: 'mouse'>]}) 18:40:02.367105 3537 GUI DEBUG controller.py:123: A group is already active 18:40:02.367360 3537 GUI DEBUG device_groups.py:102: adding Sleep Button to device selection 18:40:02.367921 3537 GUI DEBUG device_groups.py:102: adding Logitech USB Receiver to device selection 18:40:02.368277 3537 GUI DEBUG device_groups.py:102: adding SteelSeries SteelSeries Apex Pro to device selection 18:40:02.368571 3537 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]}}) 18:40:13.526989 3537 GUI DEBUG device_groups.py:66: Selecting device "SteelSeries SteelSeries Apex Pro" 18:40:13.527081 3537 GUI INFO data_manager.py:297: Loading group "SteelSeries SteelSeries Apex Pro" 18:40:13.527170 3537 GUI INFO paths.py:72: Creating dir "/home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro" 18:40:13.527362 3537 GUI DEBUG message_broker.py:76: from data_manager.py:100: Signal=group: GroupData(group_key='SteelSeries SteelSeries Apex Pro', presets=()) 18:40:13.528386 3537 GUI DEBUG message_broker.py:76: from data_manager.py:158: Signal=injector_state: InjectorStateMessage(state='UNKNOWN') 18:40:13.528595 3537 GUI INFO paths.py:55: Creating file "/home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json" 18:40:13.528735 3537 GUI DEBUG preset.py:182: Not saving unchanged preset 18:40:13.528873 3537 GUI DEBUG message_broker.py:76: from data_manager.py:100: Signal=group: GroupData(group_key='SteelSeries SteelSeries Apex Pro', presets=('new preset',)) 18:40:13.529176 3537 GUI INFO data_manager.py:315: Loading preset "new preset" 18:40:13.529235 3537 GUI INFO preset.py:147: Loading preset from "/home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json" 18:40:13.529274 3537 GUI DEBUG preset.py:284: got empty file 18:40:13.529351 3537 GUI DEBUG message_broker.py:76: from data_manager.py:111: Signal=preset: PresetData(name='new preset', mappings=[], autoload=False) 18:40:13.529610 3537 GUI DEBUG message_broker.py:76: from controller.py:147: Signal=mapping: {'target_uinput': 'keyboard'} 18:40:13.530427 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:13.530496 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:13.530635 3537 GUI DEBUG message_broker.py:76: from device_groups.py:68: Signal=do_stack_switch: DoStackSwitch(page_index=1) 18:40:15.272984 3537 GUI DEBUG presets.py:60: Selecting preset "new preset" 18:40:15.273041 3537 GUI INFO data_manager.py:315: Loading preset "new preset" 18:40:15.273087 3537 GUI INFO preset.py:147: Loading preset from "/home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json" 18:40:15.273128 3537 GUI DEBUG preset.py:284: got empty file 18:40:15.273214 3537 GUI DEBUG message_broker.py:76: from data_manager.py:111: Signal=preset: PresetData(name='new preset', mappings=[], autoload=False) 18:40:15.273499 3537 GUI DEBUG message_broker.py:76: from controller.py:147: Signal=mapping: {'target_uinput': 'keyboard'} 18:40:15.274263 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:15.274319 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:15.274456 3537 GUI DEBUG message_broker.py:76: from presets.py:62: Signal=do_stack_switch: DoStackSwitch(page_index=2) TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' TypeError: Couldn't find foreign struct converter for 'cairo.Context' 18:40:18.244197 3537 GUI DEBUG system_mapping.py:128: Gathering available keycodes 18:40:18.244271 3537 GUI DEBUG system_mapping.py:128: Gathering available keycodes 18:40:18.495323 3537 GUI INFO paths.py:55: Creating file "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:18.495482 3537 GUI DEBUG system_mapping.py:114: Writing "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:18.495727 3537 GUI DEBUG system_mapping.py:128: Gathering available keycodes 18:40:18.497080 3537 GUI DEBUG system_mapping.py:114: Writing "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:18.502950 3537 GUI DEBUG system_mapping.py:114: Writing "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:21.364296 3537 GUI DEBUG message_broker.py:76: from data_manager.py:111: Signal=preset: PresetData(name='new preset', mappings=[MappingData(input_combination=<InputCombination (<InputConfig (99, 99) unknown, 99, None, at 0x7951da160790>) at 0x7951da15e6c0>, target_uinput=None, output_symbol=None, output_type=None, output_code=None, name=None, mapping_type=None, release_combination_keys=True, macro_key_sleep_ms=0, deadzone=0.1, gain=1.0, expo=0.0, rel_rate=60, rel_to_abs_input_cutoff=2, release_timeout=0.05, force_release_timeout=False, message_type=<MessageType.mapping: 'mapping'>)], autoload=False) 18:40:21.366401 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.mapping: <bound method MappingSelectionLabel._on_mapping_changed of <MappingSelectionLabel for Combination (InputConfig unknown) as Empty Mapping at 0x7951da157f80>> 18:40:21.366462 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.combination_update: <bound method MappingSelectionLabel._on_combination_update of <MappingSelectionLabel for Combination (InputConfig unknown) as Empty Mapping at 0x7951da157f80>> 18:40:21.366791 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {} 18:40:21.367327 3537 GUI WARNING input_config.py:133: Unknown type for InputConfig unknown 18:40:21.369254 3537 GUI DEBUG message_broker.py:76: from data_manager.py:136: Signal=selected_event: InputConfig unknown 18:40:21.369909 3537 GUI DEBUG message_broker.py:76: from data_manager.py:136: Signal=selected_event: InputConfig unknown 18:40:21.370020 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='2 Mapping errors at "Empty Mapping", hover for info', tooltip='ā€“ none is not an allowed value\nā€“ The input specifies a key or macro input, but no macro or key is programmed.') 18:40:21.370157 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='2 Mapping errors at "Empty Mapping", hover for info', tooltip='ā€“ none is not an allowed value\nā€“ The input specifies a key or macro input, but no macro or key is programmed.') 18:40:21.370433 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {} 18:40:21.371752 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='2 Mapping errors at "Empty Mapping", hover for info', tooltip='ā€“ none is not an allowed value\nā€“ The input specifies a key or macro input, but no macro or key is programmed.') 18:40:21.371979 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'target_uinput': 'keyboard'} 18:40:21.373511 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"Empty Mapping": The input specifies a key or macro input, but no macro or key is programmed.', tooltip='The input specifies a key or macro input, but no macro or key is programmed.') TypeError: Couldn't find foreign struct converter for 'cairo.Context' 18:40:23.764832 3537 GUI DEBUG controller.py:596: Recording Keys 18:40:23.764911 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.combination_recorded: <bound method Controller._on_combination_recorded of <inputremapper.gui.controller.Controller object at 0x7951e4f15b80>> 18:40:23.764953 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.recording_finished: <function Controller.start_key_recording.<locals>.on_recording_finished at 0x7951da1784a0> 18:40:23.764988 3537 GUI DEBUG reader_client.py:172: Starting recorder. 18:40:23.776745 3537 GUI DEBUG reader_client.py:120: Sending "SteelSeries SteelSeries Apex Pro" to ReaderService 18:40:23.776862 3537 GUI DEBUG message_broker.py:76: from reader_client.py:178: Signal=recording_started: Signal: MessageType.recording_started 18:40:23.776984 3561 reader-service DEBUG reader_service.py:195: Received command "SteelSeries SteelSeries Apex Pro" 18:40:23.782557 3561 reader-service DEBUG system_mapping.py:128: Gathering available keycodes 18:40:23.784567 3561 reader-service DEBUG system_mapping.py:114: Writing "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:23.784820 3561 reader-service DEBUG system_mapping.py:128: Gathering available keycodes 18:40:23.786482 3561 reader-service DEBUG system_mapping.py:114: Writing "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:23.790588 3561 reader-service DEBUG event_reader.py:191: Starting to listen for events from /dev/input/event9, fd 14 18:40:23.790724 3561 reader-service DEBUG event_reader.py:191: Starting to listen for events from /dev/input/event10, fd 15 18:40:23.790791 3561 reader-service DEBUG event_reader.py:191: Starting to listen for events from /dev/input/event11, fd 16 18:40:23.790849 3561 reader-service DEBUG event_reader.py:191: Starting to listen for events from /dev/input/event12, fd 17 18:40:25.636183 3561 reader-service DEBUG reader_service.py:394: Sending to InputEvent for (1, 41, 1) KEY_GRAVE frontend 18:40:25.636283 3561 reader-service DEBUG reader_service.py:394: Sending to InputEvent for (1, 41, 1) KEY_GRAVE frontend 18:40:25.654758 3537 GUI DEBUG reader_client.py:141: received {'type': 'event', 'message': {'sec': 1730223625, 'usec': 635909, 'type': 1, 'code': 41, 'value': 1, 'origin_hash': '0f5ea3841c0305ec3c04103d3a1c3860'}} 18:40:25.654926 3537 GUI DEBUG message_broker.py:76: from reader_client.py:248: Signal=combination_recorded: CombinationRecorded(combination=<InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951e4e99d50>) at 0x7951da15f750>) 18:40:25.655264 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:25.657522 3537 GUI DEBUG message_broker.py:76: from data_manager.py:461: Signal=combination_update: CombinationUpdate(old_combination=<InputCombination (<InputConfig (99, 99) unknown, 99, None, at 0x7951da1625d0>) at 0x7951da15e710>, new_combination=<InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951e4e99d50>) at 0x7951da15f750>) 18:40:25.657671 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da176850>) at 0x7951da15f7a0>, 'target_uinput': 'keyboard'} 18:40:25.660355 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The input specifies a key or macro input, but no macro or key is programmed.', tooltip='The input specifies a key or macro input, but no macro or key is programmed.') 18:40:25.660479 3537 GUI DEBUG reader_client.py:141: received {'type': 'event', 'message': {'sec': 1730223625, 'usec': 635909, 'type': 1, 'code': 41, 'value': 1, 'origin_hash': '0f5ea3841c0305ec3c04103d3a1c3860'}} TypeError: Couldn't find foreign struct converter for 'cairo.Context' 18:40:25.705012 3561 reader-service DEBUG reader_service.py:394: Sending to InputEvent for (1, 41, 0) KEY_GRAVE frontend 18:40:25.705126 3561 reader-service DEBUG reader_service.py:394: Sending to InputEvent for (1, 41, 0) KEY_GRAVE frontend 18:40:25.715031 3537 GUI DEBUG reader_client.py:141: received {'type': 'event', 'message': {'sec': 1730223625, 'usec': 704815, 'type': 1, 'code': 41, 'value': 0, 'origin_hash': '0f5ea3841c0305ec3c04103d3a1c3860'}} 18:40:25.715115 3537 GUI DEBUG reader_client.py:160: Recorder finished. 18:40:25.715148 3537 GUI DEBUG reader_client.py:185: Stopping recorder. 18:40:25.715177 3537 GUI DEBUG reader_client.py:120: Sending "stop-reading" to ReaderService 18:40:25.715302 3537 GUI DEBUG message_broker.py:76: from reader_client.py:196: Signal=recording_finished: Signal: MessageType.recording_finished 18:40:25.715397 3561 reader-service DEBUG reader_service.py:195: Received command "stop-reading" 18:40:25.715544 3561 reader-service DEBUG event_reader.py:108: read loop stopped 18:40:25.715587 3561 reader-service INFO event_reader.py:207: read loop for /dev/input/event9 stopped 18:40:25.724209 3561 reader-service DEBUG event_reader.py:108: read loop stopped 18:40:25.724268 3561 reader-service INFO event_reader.py:207: read loop for /dev/input/event10 stopped 18:40:25.732296 3561 reader-service DEBUG event_reader.py:108: read loop stopped 18:40:25.732357 3561 reader-service INFO event_reader.py:207: read loop for /dev/input/event11 stopped 18:40:25.745202 3561 reader-service DEBUG event_reader.py:108: read loop stopped 18:40:25.745214 3537 GUI DEBUG reader_client.py:141: received {'type': 'event', 'message': {'sec': 1730223625, 'usec': 704815, 'type': 1, 'code': 41, 'value': 0, 'origin_hash': '0f5ea3841c0305ec3c04103d3a1c3860'}} 18:40:25.745258 3561 reader-service INFO event_reader.py:207: read loop for /dev/input/event12 stopped 18:40:25.745286 3537 GUI ERROR reader_client.py:157: Got event, but recorder is not running. 18:40:25.816881 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "enter your output here" match: None 18:40:33.132956 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18c510>) at 0x7951da15fac0>, 'target_uinput': 'mouse'} 18:40:33.136315 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The input specifies a key or macro input, but no macro or key is programmed.', tooltip='The input specifies a key or macro input, but no macro or key is programmed.') 18:40:33.136596 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json TypeError: Couldn't find foreign struct converter for 'cairo.Context' 18:40:35.621463 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da11e150>) at 0x7951da15e800>, 'target_uinput': 'mouse', 'mapping_type': 'key_macro'} 18:40:35.623533 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The input specifies a key or macro input, but no macro or key is programmed.', tooltip='The input specifies a key or macro input, but no macro or key is programmed.') 18:40:35.623947 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:36.854612 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "" match: None 18:40:38.223525 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18d090>) at 0x7951da15fe30>, 'target_uinput': 'mouse', 'output_symbol': 'b', 'mapping_type': 'key_macro'} 18:40:38.225210 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "b" is not available for the "mouse" target. Try "keyboard", "keyboard + mouse".', tooltip='The output_symbol "b" is not available for the "mouse" target. Try "keyboard", "keyboard + mouse".') 18:40:38.225508 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:38.326578 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "b" match: <re.Match object; span=(0, 1), match='b'> 18:40:38.435554 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18d990>) at 0x7951da164050>, 'target_uinput': 'mouse', 'output_symbol': 'BT', 'mapping_type': 'key_macro'} 18:40:38.437145 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BT" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BT" is not a macro and not a valid keycode-name') 18:40:38.437447 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:38.538383 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "bt" match: <re.Match object; span=(0, 2), match='bt'> 18:40:38.625512 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18e650>) at 0x7951da1644b0>, 'target_uinput': 'mouse', 'output_symbol': 'BTN', 'mapping_type': 'key_macro'} 18:40:38.627077 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BTN" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BTN" is not a macro and not a valid keycode-name') 18:40:38.627338 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:38.729081 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn" match: <re.Match object; span=(0, 3), match='btn'> 18:40:38.930609 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18f110>) at 0x7951da164870>, 'target_uinput': 'mouse', 'output_symbol': 'BTN_', 'mapping_type': 'key_macro'} 18:40:38.932104 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BTN_" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BTN_" is not a macro and not a valid keycode-name') 18:40:38.932389 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:39.033669 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn_" match: <re.Match object; span=(0, 4), match='btn_'> 18:40:39.195607 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18fad0>) at 0x7951da164c80>, 'target_uinput': 'mouse', 'output_symbol': 'BTN_L', 'mapping_type': 'key_macro'} 18:40:39.197279 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BTN_L" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BTN_L" is not a macro and not a valid keycode-name') 18:40:39.197560 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:39.298873 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn_l" match: <re.Match object; span=(0, 5), match='btn_l'> 18:40:39.344421 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18f5d0>) at 0x7951da1650e0>, 'target_uinput': 'mouse', 'output_symbol': 'BTN_LE', 'mapping_type': 'key_macro'} 18:40:39.345952 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BTN_LE" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BTN_LE" is not a macro and not a valid keycode-name') 18:40:39.346277 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:39.447297 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn_le" match: <re.Match object; span=(0, 6), match='btn_le'> 18:40:39.486595 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da194790>) at 0x7951da1652c0>, 'target_uinput': 'mouse', 'output_symbol': 'BTN_LEF', 'mapping_type': 'key_macro'} 18:40:39.488191 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=5, msg='"onehalf": The output_symbol "BTN_LEF" is not a macro and not a valid keycode-name', tooltip='The output_symbol "BTN_LEF" is not a macro and not a valid keycode-name') 18:40:39.488469 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:39.589695 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn_lef" match: <re.Match object; span=(0, 7), match='btn_lef'> 18:40:39.678426 3537 GUI DEBUG message_broker.py:76: from data_manager.py:125: Signal=mapping: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7951da18d690>) at 0x7951da15fe80>, 'target_uinput': 'mouse', 'output_symbol': 'BTN_LEFT', 'mapping_type': 'key_macro'} 18:40:39.679662 3537 GUI DEBUG message_broker.py:76: from controller.py:159: Signal=status_msg: StatusData(ctx_id=5, msg=None, tooltip=None) 18:40:39.679941 3537 GUI INFO preset.py:185: Saving preset to /home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json 18:40:39.781654 3537 GUI DEBUG autocompletion.py:96: get_incomplete_parameter text: "btn_left" match: <re.Match object; span=(0, 8), match='btn_left'> 18:40:50.180330 3537 GUI DEBUG message_broker.py:97: adding new Listener for MessageType.injector_state: <bound method Controller.show_injector_result of <inputremapper.gui.controller.Controller object at 0x7951e4f15b80>> 18:40:50.180437 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=1, msg='Starting injection...', tooltip=None) 18:40:50.181179 3584 service INFO global_config.py:109: Loaded config from "/home/christian/.config/input-remapper-2/config.json" 18:40:50.181921 3584 service INFO daemon.py:449: Request to start injecting for "SteelSeries SteelSeries Apex Pro" 18:40:50.181987 3584 service DEBUG daemon.py:294: Refreshing because last info is too old 18:40:50.282633 3584 service DEBUG groups.py:354: Discovering device paths 18:40:50.283376 3584 service DEBUG groups.py:402: Found unknown "Sleep Button" at "/dev/input/event0", hash "9cfc19c3c931a9d205fc3fa9d159a97e", key "25_0_3_PNP0C0E" 18:40:50.314305 3584 service DEBUG groups.py:402: Found keyboard "Logitech USB Receiver" at "/dev/input/event3", hash "e9a67299d19ec96ab59683858735f84f", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.320250 3584 service DEBUG groups.py:402: Found mouse "Logitech USB Receiver Mouse" at "/dev/input/event4", hash "3053316a9883deb9b2680fdf4ec5566b", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.328247 3584 service DEBUG groups.py:402: Found unknown "Logitech USB Receiver Consumer Control" at "/dev/input/event5", hash "e76f1b711639b821aba73daa6135a79b", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.337230 3584 service DEBUG groups.py:402: Found unknown "Logitech USB Receiver System Control" at "/dev/input/event6", hash "0640035a98ed99af181b8371040dbc9d", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.343243 3584 service DEBUG groups.py:402: Found unknown "Logitech USB Receiver" at "/dev/input/event7", hash "cc2310f50fc5ef2c9d4ba2b520dd6e3c", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.357290 3584 service DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event9", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:50.364302 3584 service DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event10", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:50.376307 3584 service DEBUG groups.py:402: Found unknown "SteelSeries SteelSeries Apex Pro Consumer Control" at "/dev/input/event11", hash "db6c5cda4e04cc7ec82a80e38811dcc2", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:50.388254 3584 service DEBUG groups.py:402: Found mouse "SteelSeries SteelSeries Apex Pro Mouse" at "/dev/input/event12", hash "ed33858687464d5c19319b1c3508ee8b", key "3_4152_5648_usb-0000:00:14.0-6" 18:40:50.399247 3584 service DEBUG groups.py:402: Found touchpad "Logitech USB Receiver" at "/dev/input/event8", hash "a26093d551eefee9502869385d05d770", key "3_1133_50504_usb-0000:00:14.0-5" 18:40:50.407256 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=3" has no useful capabilities 18:40:50.423224 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=7" has no useful capabilities 18:40:50.435230 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=8" has no useful capabilities 18:40:50.451216 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=9" has no useful capabilities 18:40:50.465221 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=10" has no useful capabilities 18:40:50.479221 3584 service DEBUG groups.py:391: "HDA ATI HDMI HDMI/DP,pcm=11" has no useful capabilities 18:40:50.493224 3584 service DEBUG groups.py:391: "HDA Intel PCH Front Mic" has no useful capabilities 18:40:50.507223 3584 service DEBUG groups.py:391: "HDA Intel PCH Rear Mic" has no useful capabilities 18:40:50.521225 3584 service DEBUG groups.py:391: "HDA Intel PCH Line" has no useful capabilities 18:40:50.535219 3584 service DEBUG groups.py:391: "HDA Intel PCH Line Out Front" has no useful capabilities 18:40:50.549218 3584 service DEBUG groups.py:391: "HDA Intel PCH Line Out Surround" has no useful capabilities 18:40:50.563224 3584 service DEBUG groups.py:391: "HDA Intel PCH Line Out CLFE" has no useful capabilities 18:40:50.582217 3584 service DEBUG groups.py:391: "HDA Intel PCH Line Out Side" has no useful capabilities 18:40:50.596210 3584 service DEBUG groups.py:391: "HDA Intel PCH Front Headphone" has no useful capabilities 18:40:50.596550 3584 service INFO groups.py:481: Found "Sleep Button", "Logitech USB Receiver", "SteelSeries SteelSeries Apex Pro" 18:40:50.596708 3584 service DEBUG daemon.py:483: Using keycodes from "/home/christian/.config/input-remapper-2/xmodmap.json" 18:40:50.596755 3584 service DEBUG system_mapping.py:128: Gathering available keycodes 18:40:50.596789 3584 service DEBUG system_mapping.py:128: Gathering available keycodes 18:40:50.596838 3584 service DEBUG system_mapping.py:128: Gathering available keycodes 18:40:50.600039 3584 service DEBUG system_mapping.py:152: Updated keycodes with 215 new ones 18:40:50.600147 3584 service INFO preset.py:147: Loading preset from "/home/christian/.config/input-remapper-2/presets/SteelSeries SteelSeries Apex Pro/new preset.json" 18:40:50.600436 3584 service DEBUG global_uinputs.py:132: Creating regular UInputs 18:40:50.600482 3584 service DEBUG global_uinputs.py:80: creating UInput device: "input-remapper mouse" 18:40:50.602647 3723 service INFO injector.py:394: Starting injecting the preset for "SteelSeries SteelSeries Apex Pro" 18:40:50.603473 3723 service DEBUG injector.py:298: Grab /dev/input/event10 18:40:50.604681 3723 service DEBUG combination_handler.py:56: {'input_combination': <InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7571f55e9e10>) at 0x7571f55cf250>, 'target_uinput': 'mouse'} 18:40:50.604803 3723 service DEBUG mapping_parser.py:133: event-pipeline with entry point: KEY_GRAVE (1, 41, '0f5ea3841c0305ec3c04103d3a1c3860') 18:40:50.604915 3723 service DEBUG logger.py:74: <CombinationHandler for "<InputCombination (<InputConfig (1, 41) KEY_GRAVE, None, 0f5ea3841c0305ec3c04103d3a1c3860, at 0x7571f55f6b90>) at 0x7571f55ce3a0>" ((1, 41, '0f5ea3841c0305ec3c04103d3a1c3860'),) at 0x7571f55dfbc0> 18:40:50.604965 3723 service DEBUG logger.py:74: <KeyHandler to (1, 272) at 0x7571f5a67b60> 18:40:50.604993 3723 service DEBUG logger.py:74: 'maps to: BTN_LEFT (1, 272) on mouse' 18:40:50.605047 3723 service DEBUG context.py:110: Adding NotifyCallback for (1, 41, '0f5ea3841c0305ec3c04103d3a1c3860') 18:40:50.609545 3723 service DEBUG numlock.py:66: numlockx not found 18:40:50.609832 3723 service DEBUG event_reader.py:191: Starting to listen for events from /dev/input/event10, fd 25 18:40:50.703720 3584 service DEBUG injector.py:173: Injector state of "SteelSeries SteelSeries Apex Pro", "new preset": InjectorState.RUNNING 18:40:50.704459 3584 service DEBUG injector.py:173: Injector state of "SteelSeries SteelSeries Apex Pro", "new preset": InjectorState.RUNNING 18:40:50.704791 3537 GUI DEBUG message_broker.py:76: from data_manager.py:158: Signal=injector_state: InjectorStateMessage(state='RUNNING') 18:40:50.704938 3537 GUI INFO controller.py:661: Group "SteelSeries SteelSeries Apex Pro" is currently mapped 18:40:50.704981 3537 GUI DEBUG message_broker.py:76: from controller.py:720: Signal=status_msg: StatusData(ctx_id=1, msg='Applied preset new preset', tooltip=None)

  1. sudo evtest while the previous command is running, to see how events are injected. Devices starting with input-remapper ... are of interest.: Nothing really show up from the output here. No change when using the key
cwitting commented 6 days ago

I noticed using evtest that there are duplicate entries for "SteelSeries SteelSeries Apex Pro" but only one of them shows any events when pressing the keyboard

cwitting commented 6 days ago

You can also see the multiple duplicate entries with the same hash but different event in the output above:

DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event9", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:39:59.988297 3561 reader-service DEBUG groups.py:402: Found keyboard "SteelSeries SteelSeries Apex Pro" at "/dev/input/event10", hash "0f5ea3841c0305ec3c04103d3a1c3860", key "3_4152_5648_usb-0000:00:14.0-6" 18:39:59.997299 3561 reader-service

cwitting commented 6 days ago

If I use evtest on these only one of the gives any events.