input-remapper icon indicating copy to clipboard operation
input-remapper copied to clipboard

"Emoji key" not getting injected - Microsoft Designer Compact Keyboard

Open rimko opened this issue 3 years ago โ€ข 1 comments

Hello,

I got a new keyboard (Microsoft Designer Compact Keyboard), it's exactly the same layout as the Microsoft Surface keyboards i believe (at least the same as the Surface Laptop) except that they replace the "Menu" /Right click key by a Emoji key who is useless in my opinion.

Issue :

So i tried to remap the Emoji key to "Menu", it work half of the time after the injection the remap work only once, them it stop working. I remap a other key of the keyboard to "Menu" and it work without issue.

The "Emoji Key" is detect as follow in Input-mapper:

image

Note: Some other keys like "Print" or "Search" as seen on the screenshot are detect as combo key-press, it's not the case on the keyboard of my Microsoft Laptop first gen but i can remap this keys without issue.

Investigation :

  1. Input-remapper version:
input-remapper 1.4.2 63f58f39271d51b7b9aa9e99eaa62aa8d7cbb09c https://github.com/sezanzeb/input-remapper
python-evdev 1.5.0
  1. Distro: Fedora 35 (Workstation)
  2. Display manager: Wayland
  3. Desktop Environment: Gnome
  4. sudo ls -l /proc/1/exe:
lrwxrwxrwx. 1 root root 0 29 mars  10:45 /proc/1/exe -> /usr/lib/systemd/systemd
  1. Preset:
~/.config/input-remapper/presets/Designer Compact Keyboard   
โฏ cat ./new\ preset.json 
{
    "mapping": {
        "1,42,1+1,125,1+1,31,1": [
            "XF86Cut",
            "keyboard"
        ],
        "1,29,1+1,42,1+1,56,1+1,125,1+1,57,1": [
            "Menu",
            "keyboard"
        ],
        "1,42,1+1,125,1+1,191,1": [
            "XF86Calculator",
            "keyboard"
        ]
    }
}

  1. Input-remapper logs of Emoji Key:
โฏ sudo pkill -f input-remapper-service && input-remapper-gtk -d
12:25:50.941189 46716 GUI INFO logger.py:228: input-remapper-gtk 1.4.2 63f58f39271d51b7b9aa9e99eaa62aa8d7cbb09c https://github.com/sezanzeb/input-remapper
12:25:50.941288 46716 GUI INFO logger.py:236: python-evdev 1.5.0
12:25:50.941334 46716 GUI WARNING logger.py:239: 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!
12:25:50.941373 46716 GUI DEBUG input-remapper-gtk:55: Using locale directory: /usr/share/input-remapper/lang
12:25:50.944334 46716 GUI DEBUG pipe.py:62: Creating new pipe for "/tmp/input-remapper-rimko/results"
12:25:50.944742 46716 GUI DEBUG pipe.py:62: Creating new pipe for "/tmp/input-remapper-rimko/commands"
12:25:50.951231 46716 GUI INFO global_config.py:105: Loaded config from "/home/rimko/.config/input-remapper/config.json"
12:25:50.951823 46716 GUI INFO daemon.py:205: Starting the service
12:25:50.951881 46716 GUI DEBUG daemon.py:216: Running `pkexec input-remapper-control --command start-daemon  -d`
12:25:59.400750 46721 Control INFO logger.py:292: Starting logging to "/var/log/input-remapper-control"
12:25:59.408626 46721 Control DEBUG input-remapper-control:206: Call for "['/usr/bin/input-remapper-control', '--command', 'start-daemon', '-d']"
12:25:59.413905 46721 Control INFO input-remapper-control:236: Done
12:25:59.583106 46801 Service INFO logger.py:292: Starting logging to "/var/log/input-remapper"
12:25:59.590924 46801 Service DEBUG daemon.py:166: Creating daemon
12:25:59.591103 46801 Service INFO global_config.py:105: Loaded config from "/home/rimko/.config/input-remapper/config.json"
12:25:59.591205 46801 Service DEBUG shared_dict.py:57: Starting SharedDict process
12:25:59.592767 46839 Service DEBUG shared_dict.py:63: SharedDict process started
12:25:59.596072 46801 Service DEBUG daemon.py:252: Running daemon
12:25:59.632872 46716 GUI DEBUG daemon.py:235: Telling service about "/home/rimko/.config/input-remapper"
12:25:59.633895 46801 Service INFO global_config.py:105: Loaded config from "/home/rimko/.config/input-remapper/config.json"
12:25:59.634221 46716 GUI DEBUG user_interface.py:242: Running `pkexec input-remapper-control --command helper  -d`
12:25:59.918757 46851 Control INFO logger.py:292: Starting logging to "/var/log/input-remapper-control"
12:25:59.926630 46851 Control DEBUG input-remapper-control:206: Call for "['/usr/bin/input-remapper-control', '--command', 'helper', '-d']"
12:25:59.932148 46851 Control INFO input-remapper-control:236: Done
12:25:59.946573 46716 GUI DEBUG global_uinputs.py:71: creating fake UInput device: 'input-remapper keyboard'
12:25:59.946777 46716 GUI DEBUG global_uinputs.py:71: creating fake UInput device: 'input-remapper gamepad'
12:25:59.946893 46716 GUI DEBUG global_uinputs.py:71: creating fake UInput device: 'input-remapper mouse'
12:26:00.029547 46716 GUI DEBUG groups.py:337: Discovering device paths
12:26:00.030229 46716 GUI DEBUG groups.py:446: Did not find any input device
12:26:00.090165 46896 GUI-Helper DEBUG pipe.py:79: Using existing pipe for "/tmp/input-remapper-rimko/results"
12:26:00.090308 46896 GUI-Helper DEBUG pipe.py:79: Using existing pipe for "/tmp/input-remapper-rimko/commands"
12:26:00.091537 46896 GUI-Helper DEBUG groups.py:337: Discovering device paths
12:26:00.144175 46896 GUI-Helper DEBUG groups.py:378: Found "5_1118_2098_e0:d4:64:01:30:78", "/dev/input/event23", "Designer Compact Keyboard Mouse", type: mouse
12:26:00.159935 46896 GUI-Helper DEBUG groups.py:378: Found "5_1118_2098_e0:d4:64:01:30:78", "/dev/input/event22", "Designer Compact Keyboard", type: keyboard
12:26:00.255906 46896 GUI-Helper DEBUG groups.py:378: Found "25_0_0_asus-nb-wmi", "/dev/input/event13", "Asus WMI hotkeys", type: unknown
12:26:00.282827 46896 GUI-Helper DEBUG groups.py:378: Found "25_4163_0_asus-wireless", "/dev/input/event11", "Asus Wireless Radio Control", type: unknown
12:26:00.293923 46896 GUI-Helper DEBUG groups.py:378: Found "3_1133_16495_usb-0000:07:00.3-1", "/dev/input/event6", "Logitech MX Ergo", type: mouse
12:26:00.307888 46896 GUI-Helper DEBUG groups.py:378: Found "3_1133_16489_usb-0000:07:00.3-1", "/dev/input/event5", "Logitech MX Master 2S", type: mouse
12:26:00.315838 46896 GUI-Helper DEBUG groups.py:378: Found "3_2821_6582_usb-0000:07:00.3-3", "/dev/input/event9", "Asus Keyboard", type: keyboard
12:26:00.321826 46896 GUI-Helper DEBUG groups.py:378: Found "3_2821_6582_usb-0000:07:00.3-3", "/dev/input/event4", "Asus Keyboard", type: unknown
12:26:00.339812 46896 GUI-Helper DEBUG groups.py:378: Found "24_1267_12703_i2c-ASUE1209:00", "/dev/input/event10", "ASUE1209:00 04F3:319F Touchpad", type: touchpad
12:26:00.365832 46896 GUI-Helper DEBUG groups.py:378: Found "24_1267_12703_i2c-ASUE1209:00", "/dev/input/event7", "ASUE1209:00 04F3:319F Mouse", type: mouse
12:26:00.380787 46896 GUI-Helper DEBUG groups.py:378: Found "25_0_6_LNXVIDEO", "/dev/input/event3", "Video Bus", type: unknown
12:26:00.387832 46896 GUI-Helper DEBUG groups.py:378: Found "25_0_3_PNP0C0E", "/dev/input/event2", "Sleep Button", type: unknown
12:26:00.409079 46896 GUI-Helper INFO groups.py:449: Found "Designer Compact Keyboard", "Asus WMI hotkeys", "Asus Wireless Radio Control", "Logitech MX Ergo", "Logitech MX Master 2S", "Asus Keyboard", "ASUE1209:00 04F3:319F Mouse", "Video Bus", "Sleep Button"
12:26:00.434281 46716 GUI DEBUG reader.py:99: Received 9 devices
12:26:00.435206 46716 GUI DEBUG preset.py:379: The newest preset is "Designer Compact Keyboard", "new preset"
12:26:00.435350 46716 GUI DEBUG user_interface.py:590: Selecting device "Designer Compact Keyboard"
12:26:00.435458 46716 GUI DEBUG user_interface.py:380: "Designer Compact Keyboard" presets: "new preset"
12:26:00.435621 46716 GUI DEBUG user_interface.py:704: Selecting preset "new preset"
12:26:00.436020 46716 GUI DEBUG editor.py:322: Disabling the text input
12:26:00.436740 46716 GUI DEBUG editor.py:322: Disabling the text input
12:26:00.437132 46716 GUI INFO preset.py:170: Loading preset from "/home/rimko/.config/input-remapper/presets/Designer Compact Keyboard/new preset.json"
12:26:00.437273 46716 GUI DEBUG preset.py:200: <EventCombination (1, 42, 1), (1, 125, 1), (1, 31, 1)> maps to ('XF86Cut', 'keyboard')
12:26:00.437367 46716 GUI DEBUG preset.py:200: <EventCombination (1, 29, 1), (1, 42, 1), (1, 56, 1), (1, 125, 1), (1, 57, 1)> maps to ('Menu', 'keyboard')
12:26:00.437425 46716 GUI DEBUG preset.py:200: <EventCombination (1, 42, 1), (1, 125, 1), (1, 191, 1)> maps to ('XF86Calculator', 'keyboard')
12:26:00.437603 46716 GUI DEBUG system_mapping.py:91: Gathering available keycodes
12:26:00.437646 46716 GUI DEBUG system_mapping.py:91: Gathering available keycodes
12:26:00.440137 46716 GUI DEBUG system_mapping.py:120: Writing "/home/rimko/.config/input-remapper/xmodmap.json"
12:26:00.440521 46716 GUI DEBUG system_mapping.py:91: Gathering available keycodes
12:26:00.448641 46716 GUI DEBUG system_mapping.py:120: Writing "/home/rimko/.config/input-remapper/xmodmap.json"
12:26:00.454141 46716 GUI DEBUG system_mapping.py:120: Writing "/home/rimko/.config/input-remapper/xmodmap.json"
12:26:00.456234 46716 GUI DEBUG editor.py:337: Enabling the text input
12:26:00.456731 46716 GUI DEBUG editor.py:337: Enabling the text input
12:26:00.457031 46716 GUI DEBUG reader.py:190: Sending start msg to helper for "Designer Compact Keyboard"
12:26:00.457103 46716 GUI DEBUG reader.py:206: Clearing reader
12:26:00.457227 46896 GUI-Helper DEBUG helper.py:105: Received command "Designer Compact Keyboard"
12:26:00.457456 46896 GUI-Helper DEBUG helper.py:160: Starting reading keycodes from "Designer Compact Keyboard Mouse", "Designer Compact Keyboard"
12:26:00.559340 46716 GUI DEBUG autocompletion.py:90: get_incomplete_parameter text:  match: None
12:26:04.074730 46716 GUI DEBUG user_interface.py:747: Not saving because preset did not change
12:26:04.074812 46716 GUI INFO user_interface.py:530: Applying preset "new preset" for "Designer Compact Keyboard"
12:26:04.075546 46801 Service INFO global_config.py:105: Loaded config from "/home/rimko/.config/input-remapper/config.json"
12:26:04.076202 46801 Service INFO daemon.py:420: Request to start injecting for "Designer Compact Keyboard"
12:26:04.076289 46801 Service DEBUG daemon.py:265: Refreshing because last info is too old
12:26:04.177251 46801 Service DEBUG groups.py:337: Discovering device paths
12:26:04.213077 46801 Service DEBUG groups.py:378: Found "5_1118_2098_e0:d4:64:01:30:78", "/dev/input/event23", "Designer Compact Keyboard Mouse", type: mouse
12:26:04.222809 46801 Service DEBUG groups.py:378: Found "5_1118_2098_e0:d4:64:01:30:78", "/dev/input/event22", "Designer Compact Keyboard", type: keyboard
12:26:04.271822 46801 Service DEBUG groups.py:378: Found "25_0_0_asus-nb-wmi", "/dev/input/event13", "Asus WMI hotkeys", type: unknown
12:26:04.291769 46801 Service DEBUG groups.py:378: Found "25_4163_0_asus-wireless", "/dev/input/event11", "Asus Wireless Radio Control", type: unknown
12:26:04.297825 46801 Service DEBUG groups.py:378: Found "3_1133_16495_usb-0000:07:00.3-1", "/dev/input/event6", "Logitech MX Ergo", type: mouse
12:26:04.307876 46801 Service DEBUG groups.py:378: Found "3_1133_16489_usb-0000:07:00.3-1", "/dev/input/event5", "Logitech MX Master 2S", type: mouse
12:26:04.314789 46801 Service DEBUG groups.py:378: Found "3_2821_6582_usb-0000:07:00.3-3", "/dev/input/event9", "Asus Keyboard", type: keyboard
12:26:04.320774 46801 Service DEBUG groups.py:378: Found "3_2821_6582_usb-0000:07:00.3-3", "/dev/input/event4", "Asus Keyboard", type: unknown
12:26:04.327732 46801 Service DEBUG groups.py:378: Found "24_1267_12703_i2c-ASUE1209:00", "/dev/input/event10", "ASUE1209:00 04F3:319F Touchpad", type: touchpad
12:26:04.343798 46801 Service DEBUG groups.py:378: Found "24_1267_12703_i2c-ASUE1209:00", "/dev/input/event7", "ASUE1209:00 04F3:319F Mouse", type: mouse
12:26:04.351746 46801 Service DEBUG groups.py:378: Found "25_0_6_LNXVIDEO", "/dev/input/event3", "Video Bus", type: unknown
12:26:04.357756 46801 Service DEBUG groups.py:378: Found "25_0_3_PNP0C0E", "/dev/input/event2", "Sleep Button", type: unknown
12:26:04.375106 46801 Service INFO groups.py:449: Found "Designer Compact Keyboard", "Asus WMI hotkeys", "Asus Wireless Radio Control", "Logitech MX Ergo", "Logitech MX Master 2S", "Asus Keyboard", "ASUE1209:00 04F3:319F Mouse", "Video Bus", "Sleep Button"
12:26:04.375491 46801 Service INFO preset.py:170: Loading preset from "/home/rimko/.config/input-remapper/presets/Designer Compact Keyboard/new preset.json"
12:26:04.375743 46801 Service DEBUG preset.py:200: <EventCombination (1, 42, 1), (1, 125, 1), (1, 31, 1)> maps to ('XF86Cut', 'keyboard')
12:26:04.375897 46801 Service DEBUG preset.py:200: <EventCombination (1, 29, 1), (1, 42, 1), (1, 56, 1), (1, 125, 1), (1, 57, 1)> maps to ('Menu', 'keyboard')
12:26:04.376003 46801 Service DEBUG preset.py:200: <EventCombination (1, 42, 1), (1, 125, 1), (1, 191, 1)> maps to ('XF86Calculator', 'keyboard')
12:26:04.376116 46801 Service DEBUG global_uinputs.py:51: creating UInput device: 'input-remapper keyboard'
12:26:04.477393 46801 Service DEBUG global_uinputs.py:122: Target "keyboard" already exists
12:26:04.477696 46801 Service DEBUG global_uinputs.py:122: Target "keyboard" already exists
12:26:04.477960 46801 Service DEBUG daemon.py:472: Using keycodes from "/home/rimko/.config/input-remapper/xmodmap.json"
12:26:04.478053 46801 Service DEBUG system_mapping.py:91: Gathering available keycodes
12:26:04.478136 46801 Service DEBUG system_mapping.py:91: Gathering available keycodes
12:26:04.480586 46801 Service DEBUG system_mapping.py:144: Updated keycodes with 213 new ones
12:26:04.482233 46931 Service INFO injector.py:301: Starting injecting the preset for "Designer Compact Keyboard"
12:26:04.482996 46931 Service DEBUG context.py:90: Parsing macros
12:26:04.483068 46931 Service DEBUG context.py:102: No macros configured
12:26:04.483248 46931 Service DEBUG injector.py:211: No need to grab /dev/input/event23
12:26:04.506884 46931 Service DEBUG injector.py:198: Grabbing "/dev/input/event22" because of "<EventCombination (1, 42, 1), (1, 125, 1), (1, 31, 1)>"
12:26:04.507128 46931 Service DEBUG injector.py:218: Grab /dev/input/event22
12:26:04.609398 46931 Service WARNING utils.py:222: Failed to get ABS info of "device /dev/input/event22, name "Designer Compact Keyboard", phys "e0:d4:64:01:30:78"" for key 0: {0: [0, 1, 2, 3, 4, 17, 20], 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 144, 150, 152, 155, 156, 158, 159, 161, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 176, 177, 178, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 206, 207, 208, 209, 210, 212, 216, 217, 219, 223, 224, 225, 228, 229, 230, 231, 232, 233, 234, 235, 240, 241, 244, 256, 353, 354, 358, 362, 366, 370, 372, 374, 375, 376, 377, 378, 379, 380, 381, 383, 384, 386, 387, 389, 392, 393, 396, 397, 398, 399, 400, 401, 402, 403, 405, 407, 408, 409, 410, 412, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 439, 442, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 592, 593, 608, 609, 610, 611, 612, 613], 2: [6, 12], 3: [(32, AbsInfo(value=0, min=0, max=1023, fuzz=0, flat=0, resolution=0))], 4: [4], 17: [0, 1, 2]}
12:26:04.609933 46931 Service DEBUG consumer_control.py:86: Starting to listen for events from /dev/input/event22, fd 28
12:26:04.685760 46716 GUI INFO user_interface.py:649: Group "Designer Compact Keyboard" is currently mapped
12:26:10.167518 46931 Service DEBUG keycode_mapper.py:544: forwarding ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท ((1, 29, 1))
12:26:10.167798 46931 Service DEBUG keycode_mapper.py:392: unknown combination ยทยทยทยทยทยทยทยทยทยทยท ((1, 29, 1), (1, 42, 1))
12:26:10.167879 46931 Service DEBUG keycode_mapper.py:544: forwarding ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท ((1, 42, 1))
12:26:10.168053 46931 Service DEBUG keycode_mapper.py:392: unknown combination ยทยทยทยทยทยทยทยทยทยทยท ((1, 29, 1), (1, 42, 1), (1, 56, 1))
12:26:10.168122 46931 Service DEBUG keycode_mapper.py:544: forwarding ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท ((1, 56, 1))
12:26:10.168268 46931 Service DEBUG keycode_mapper.py:392: unknown combination ยทยทยทยทยทยทยทยทยทยทยท ((1, 29, 1), (1, 42, 1), (1, 56, 1), (1, 125, 1))
12:26:10.168325 46931 Service DEBUG keycode_mapper.py:544: forwarding ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท ((1, 125, 1))
12:26:10.168565 46931 Service DEBUG keycode_mapper.py:534: maps to (127, keyboard) ยทยทยทยทยทยทยท ((1, 29, 1), (1, 42, 1), (1, 56, 1), (1, 125, 1), (1, 57, 1))
12:26:10.279005 46931 Service DEBUG keycode_mapper.py:449: releasing (127, keyboard) ยทยทยทยทยท ((1, 57, 0))
12:26:10.279430 46931 Service DEBUG keycode_mapper.py:462: forwarding release ยทยทยทยทยทยทยทยทยทยทยทยท ((1, 29, 0))
12:26:10.279578 46931 Service DEBUG keycode_mapper.py:462: forwarding release ยทยทยทยทยทยทยทยทยทยทยทยท ((1, 42, 0))
12:26:10.279732 46931 Service DEBUG keycode_mapper.py:462: forwarding release ยทยทยทยทยทยทยทยทยทยทยทยท ((1, 56, 0))
12:26:10.279863 46931 Service DEBUG keycode_mapper.py:462: forwarding release ยทยทยทยทยทยทยทยทยทยทยทยท ((1, 125, 0))
  1. Evtest logs of Emoji Key
โฏ sudo evtest                                                  
[sudo] Mot de passe de rimkoย : 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Power Button
/dev/input/event2:	Sleep Button
/dev/input/event3:	Video Bus
/dev/input/event4:	Asus Keyboard
/dev/input/event5:	Logitech MX Master 2S
/dev/input/event6:	Logitech MX Ergo
/dev/input/event7:	ASUE1209:00 04F3:319F Mouse
/dev/input/event8:	Yubico YubiKey OTP+FIDO+CCID
/dev/input/event9:	Asus Keyboard
/dev/input/event10:	ASUE1209:00 04F3:319F Touchpad
/dev/input/event11:	Asus Wireless Radio Control
/dev/input/event12:	PC Speaker
/dev/input/event13:	Asus WMI hotkeys
/dev/input/event14:	HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event15:	input-remapper keyboard
/dev/input/event20:	HD-Audio Generic Mic
/dev/input/event21:	HD-Audio Generic Headphone
/dev/input/event22:	Designer Compact Keyboard
/dev/input/event23:	Designer Compact Keyboard Mouse
/dev/input/event24:	Designer Compact Keyboard
/dev/input/event25:	Designer Compact Keyboard
Select the device event number [0-25]: 22
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x45e product 0x832 version 0x138
Input device name: "Designer Compact Keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 12 (KEY_MINUS)
    Event code 13 (KEY_EQUAL)
    Event code 14 (KEY_BACKSPACE)
    Event code 15 (KEY_TAB)
    Event code 16 (KEY_Q)
    Event code 17 (KEY_W)
    Event code 18 (KEY_E)
    Event code 19 (KEY_R)
    Event code 20 (KEY_T)
    Event code 21 (KEY_Y)
    Event code 22 (KEY_U)
    Event code 23 (KEY_I)
    Event code 24 (KEY_O)
    Event code 25 (KEY_P)
    Event code 26 (KEY_LEFTBRACE)
    Event code 27 (KEY_RIGHTBRACE)
    Event code 28 (KEY_ENTER)
    Event code 29 (KEY_LEFTCTRL)
    Event code 30 (KEY_A)
    Event code 31 (KEY_S)
    Event code 32 (KEY_D)
    Event code 33 (KEY_F)
    Event code 34 (KEY_G)
    Event code 35 (KEY_H)
    Event code 36 (KEY_J)
    Event code 37 (KEY_K)
    Event code 38 (KEY_L)
    Event code 39 (KEY_SEMICOLON)
    Event code 40 (KEY_APOSTROPHE)
    Event code 41 (KEY_GRAVE)
    Event code 42 (KEY_LEFTSHIFT)
    Event code 43 (KEY_BACKSLASH)
    Event code 44 (KEY_Z)
    Event code 45 (KEY_X)
    Event code 46 (KEY_C)
    Event code 47 (KEY_V)
    Event code 48 (KEY_B)
    Event code 49 (KEY_N)
    Event code 50 (KEY_M)
    Event code 51 (KEY_COMMA)
    Event code 52 (KEY_DOT)
    Event code 53 (KEY_SLASH)
    Event code 54 (KEY_RIGHTSHIFT)
    Event code 55 (KEY_KPASTERISK)
    Event code 56 (KEY_LEFTALT)
    Event code 57 (KEY_SPACE)
    Event code 58 (KEY_CAPSLOCK)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 65 (KEY_F7)
    Event code 66 (KEY_F8)
    Event code 67 (KEY_F9)
    Event code 68 (KEY_F10)
    Event code 69 (KEY_NUMLOCK)
    Event code 70 (KEY_SCROLLLOCK)
    Event code 71 (KEY_KP7)
    Event code 72 (KEY_KP8)
    Event code 73 (KEY_KP9)
    Event code 74 (KEY_KPMINUS)
    Event code 75 (KEY_KP4)
    Event code 76 (KEY_KP5)
    Event code 77 (KEY_KP6)
    Event code 78 (KEY_KPPLUS)
    Event code 79 (KEY_KP1)
    Event code 80 (KEY_KP2)
    Event code 81 (KEY_KP3)
    Event code 82 (KEY_KP0)
    Event code 83 (KEY_KPDOT)
    Event code 86 (KEY_102ND)
    Event code 87 (KEY_F11)
    Event code 88 (KEY_F12)
    Event code 89 (KEY_RO)
    Event code 92 (KEY_HENKAN)
    Event code 93 (KEY_KATAKANAHIRAGANA)
    Event code 94 (KEY_MUHENKAN)
    Event code 95 (KEY_KPJPCOMMA)
    Event code 96 (KEY_KPENTER)
    Event code 97 (KEY_RIGHTCTRL)
    Event code 98 (KEY_KPSLASH)
    Event code 99 (KEY_SYSRQ)
    Event code 100 (KEY_RIGHTALT)
    Event code 102 (KEY_HOME)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 107 (KEY_END)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 110 (KEY_INSERT)
    Event code 111 (KEY_DELETE)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 117 (KEY_KPEQUAL)
    Event code 119 (KEY_PAUSE)
    Event code 120 (KEY_SCALE)
    Event code 121 (KEY_KPCOMMA)
    Event code 122 (KEY_HANGUEL)
    Event code 123 (KEY_HANJA)
    Event code 124 (KEY_YEN)
    Event code 125 (KEY_LEFTMETA)
    Event code 126 (KEY_RIGHTMETA)
    Event code 127 (KEY_COMPOSE)
    Event code 128 (KEY_STOP)
    Event code 129 (KEY_AGAIN)
    Event code 130 (KEY_PROPS)
    Event code 131 (KEY_UNDO)
    Event code 132 (KEY_FRONT)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 136 (KEY_FIND)
    Event code 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 139 (KEY_MENU)
    Event code 140 (KEY_CALC)
    Event code 142 (KEY_SLEEP)
    Event code 144 (KEY_FILE)
    Event code 150 (KEY_WWW)
    Event code 152 (KEY_SCREENLOCK)
    Event code 155 (KEY_MAIL)
    Event code 156 (KEY_BOOKMARKS)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 161 (KEY_EJECTCD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 169 (KEY_PHONE)
    Event code 171 (KEY_CONFIG)
    Event code 172 (KEY_HOMEPAGE)
    Event code 173 (KEY_REFRESH)
    Event code 174 (KEY_EXIT)
    Event code 176 (KEY_EDIT)
    Event code 177 (KEY_SCROLLUP)
    Event code 178 (KEY_SCROLLDOWN)
    Event code 181 (KEY_NEW)
    Event code 182 (KEY_REDO)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Event code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 206 (KEY_CLOSE)
    Event code 207 (KEY_PLAY)
    Event code 208 (KEY_FASTFORWARD)
    Event code 209 (KEY_BASSBOOST)
    Event code 210 (KEY_PRINT)
    Event code 212 (KEY_CAMERA)
    Event code 216 (KEY_CHAT)
    Event code 217 (KEY_SEARCH)
    Event code 219 (KEY_FINANCE)
    Event code 223 (KEY_CANCEL)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 228 (KEY_KBDILLUMTOGGLE)
    Event code 229 (KEY_KBDILLUMDOWN)
    Event code 230 (KEY_KBDILLUMUP)
    Event code 231 (KEY_SEND)
    Event code 232 (KEY_REPLY)
    Event code 233 (KEY_FORWARDMAIL)
    Event code 234 (KEY_SAVE)
    Event code 235 (KEY_DOCUMENTS)
    Event code 240 (KEY_UNKNOWN)
    Event code 241 (KEY_VIDEO_NEXT)
    Event code 244 (KEY_BRIGHTNESS_ZERO)
    Event code 256 (BTN_0)
    Event code 353 (KEY_SELECT)
    Event code 354 (KEY_GOTO)
    Event code 358 (KEY_INFO)
    Event code 362 (KEY_PROGRAM)
    Event code 366 (KEY_PVR)
    Event code 370 (KEY_SUBTITLE)
    Event code 372 (KEY_ZOOM)
    Event code 374 (KEY_KEYBOARD)
    Event code 375 (KEY_SCREEN)
    Event code 376 (KEY_PC)
    Event code 377 (KEY_TV)
    Event code 378 (KEY_TV2)
    Event code 379 (KEY_VCR)
    Event code 380 (KEY_VCR2)
    Event code 381 (KEY_SAT)
    Event code 383 (KEY_CD)
    Event code 384 (KEY_TAPE)
    Event code 386 (KEY_TUNER)
    Event code 387 (KEY_PLAYER)
    Event code 389 (KEY_DVD)
    Event code 392 (KEY_AUDIO)
    Event code 393 (KEY_VIDEO)
    Event code 396 (KEY_MEMO)
    Event code 397 (KEY_CALENDAR)
    Event code 398 (KEY_RED)
    Event code 399 (KEY_GREEN)
    Event code 400 (KEY_YELLOW)
    Event code 401 (KEY_BLUE)
    Event code 402 (KEY_CHANNELUP)
    Event code 403 (KEY_CHANNELDOWN)
    Event code 405 (KEY_LAST)
    Event code 407 (KEY_NEXT)
    Event code 408 (KEY_RESTART)
    Event code 409 (KEY_SLOW)
    Event code 410 (KEY_SHUFFLE)
    Event code 412 (KEY_PREVIOUS)
    Event code 416 (KEY_VIDEOPHONE)
    Event code 417 (KEY_GAMES)
    Event code 418 (KEY_ZOOMIN)
    Event code 419 (KEY_ZOOMOUT)
    Event code 420 (KEY_ZOOMRESET)
    Event code 421 (KEY_WORDPROCESSOR)
    Event code 422 (KEY_EDITOR)
    Event code 423 (KEY_SPREADSHEET)
    Event code 424 (KEY_GRAPHICSEDITOR)
    Event code 425 (KEY_PRESENTATION)
    Event code 426 (KEY_DATABASE)
    Event code 427 (KEY_NEWS)
    Event code 428 (KEY_VOICEMAIL)
    Event code 429 (KEY_ADDRESSBOOK)
    Event code 430 (KEY_MESSENGER)
    Event code 431 (KEY_DISPLAYTOGGLE)
    Event code 432 (KEY_SPELLCHECK)
    Event code 433 (KEY_LOGOFF)
    Event code 439 (KEY_MEDIA_REPEAT)
    Event code 442 (KEY_IMAGES)
    Event code 576 (KEY_BUTTONCONFIG)
    Event code 577 (KEY_TASKMANAGER)
    Event code 578 (KEY_JOURNAL)
    Event code 579 (KEY_CONTROLPANEL)
    Event code 580 (KEY_APPSELECT)
    Event code 581 (KEY_SCREENSAVER)
    Event code 582 (KEY_VOICECOMMAND)
    Event code 583 (KEY_ASSISTANT)
    Event code 584 (?)
    Event code 585 (?)
    Event code 592 (KEY_BRIGHTNESS_MIN)
    Event code 593 (KEY_BRIGHTNESS_MAX)
    Event code 608 (KEY_KBDINPUTASSIST_PREV)
    Event code 609 (KEY_KBDINPUTASSIST_NEXT)
    Event code 610 (KEY_KBDINPUTASSIST_PREVGROUP)
    Event code 611 (KEY_KBDINPUTASSIST_NEXTGROUP)
    Event code 612 (KEY_KBDINPUTASSIST_ACCEPT)
    Event code 613 (KEY_KBDINPUTASSIST_CANCEL)
  Event type 2 (EV_REL)
    Event code 6 (REL_HWHEEL)
    Event code 12 (REL_HWHEEL_HI_RES)
  Event type 3 (EV_ABS)
    Event code 32 (ABS_VOLUME)
      Value      0
      Min        0
      Max     1023
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 17 (EV_LED)
    Event code 0 (LED_NUML) state 0
    Event code 1 (LED_CAPSL) state 0
    Event code 2 (LED_SCROLLL) state 0
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
Testing ... (interrupt to exit)
Event: time 1648549753.130116, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028
Event: time 1648549753.130116, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1648549753.130116, -------------- SYN_REPORT ------------
Event: time 1648549754.570118, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1648549754.570118, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1648549754.570118, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1
Event: time 1648549754.570118, type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 1
Event: time 1648549754.570118, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1648549754.570118, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1648549754.570118, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1648549754.570118, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 1
Event: time 1648549754.570118, -------------- SYN_REPORT ------------
Event: time 1648549754.570682, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002c
Event: time 1648549754.570682, type 1 (EV_KEY), code 57 (KEY_SPACE), value 1
Event: time 1648549754.570682, -------------- SYN_REPORT ------------
^[^@Event: time 1648549754.645110, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002c
Event: time 1648549754.645110, type 1 (EV_KEY), code 57 (KEY_SPACE), value 0
Event: time 1648549754.645110, -------------- SYN_REPORT ------------
Event: time 1648549754.645703, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1648549754.645703, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1648549754.645703, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1
Event: time 1648549754.645703, type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 0
Event: time 1648549754.645703, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1648549754.645703, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1648549754.645703, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1648549754.645703, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 0
Event: time 1648549754.645703, -------------- SYN_REPORT ------------

Thanks again for your work โค๏ธ

rimko avatar Mar 29 '22 10:03 rimko

It probably doesn't work because what the environment sees is "ctrl + shift + alt + super + menu" instead of just "menu"

There are plans to improve this. See discussion: https://github.com/sezanzeb/input-remapper/discussions/305#discussioncomment-2203588, part of this PR: https://github.com/sezanzeb/input-remapper/pull/263

sezanzeb avatar Mar 30 '22 08:03 sezanzeb

This should work now when installing from the latest source

sezanzeb avatar Mar 04 '23 16:03 sezanzeb