-
-
Save jnettlet/afb20a048b8720f3b4eb8506d8b05643 to your computer and use it in GitHub Desktop.
| evdev:input:b*v0B05p193Ee0111* | |
| KEYBOARD_KEY_10081=reserved | |
| KEYBOARD_KEY_10082=reserved | |
| KEYBOARD_KEY_70070=reserved | |
| KEYBOARD_KEY_70071=reserved | |
| KEYBOARD_KEY_70072=reserved | |
| KEYBOARD_KEY_70073=reserved | |
| KEYBOARD_KEY_70074=reserved | |
| KEYBOARD_KEY_70075=reserved | |
| KEYBOARD_KEY_70076=reserved | |
| KEYBOARD_KEY_70077=reserved |
I think I found the answer in USB HID Usage Tables 1.5: https://usb.org/sites/default/files/hut1_5.pdf
I think 10081 and 10082 correspond to 81 and 82 (System Power Down and System Sleep) in Generic Desktop Page (0x01).
The ones beginning with 7 correspond to values in Keyboard/Keypad Page (0x07), right?
I think I found the answer in USB HID Usage Tables 1.5: https://usb.org/sites/default/files/hut1_5.pdf I think 10081 and 10082 correspond to 81 and 82 (System Power Down and System Sleep) in Generic Desktop Page (0x01).
The ones beginning with 7 correspond to values in Keyboard/Keypad Page (0x07), right?
Yes that is correct, however I have no idea why they are being sent simultaneous to the expected key codes. It could be a firmware bug, or maybe they trap the keycodes in their software and decided what keycode to pass to the host os depending on software settings. My main objective was just to get the keyboard functional under Linux.
Works perfectly on ChimeraOS. Thanks!
You can use my package https://aur.archlinux.org/packages/falchion-shutdown
How did you find the bits in the first line ? I have a Strix Scope RX TKL Wireless Deluxe (what a name) and i'm still blocked to use it on Linux because of all the hassle I have.
From what I understand:
- v0B05 is the Vendor ID
- p193E is the Part ID
Both are found with lsusb, in my case:
lsusb |grep ASUS
Bus 001 Device 019: ID 0b05:1a07 ASUSTek Computer, Inc. ROG STRIX SCOPE RX TKL WIRELESS DELUXEBut the last part ? What should I replace for e0111 ? I'm puzzled because even kernel events does not tells me much about the device (look at that mess):
[jeu. juin 25 04:17:40 2026] usb 1-2: New USB device found, idVendor=0b05, idProduct=1a07, bcdDevice= 2.05
[jeu. juin 25 04:17:40 2026] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[jeu. juin 25 04:17:40 2026] usb 1-2: Product: ROG STRIX SCOPE RX TKL WIRELESS DELUXE
[jeu. juin 25 04:17:40 2026] usb 1-2: Manufacturer: ASUSTeK
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.0/0003:0B05:1A07.001A/input/input44
[jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001A: input,hidraw1: USB HID v1.11 Keyboard [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input0
[jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001B: hiddev96,hidraw2: USB HID v1.11 Device [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input1
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input45
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE System Control as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input46
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input47
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE Mouse as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input48
[jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001C: input,hiddev97,hidraw3: USB HID v1.11 Mouse [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input2
[jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.3/0003:0B05:1A07.001D/input/input49
[jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001D: input,hidraw4: USB HID v1.11 Keyboard [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input3How did you find the bits in the first line ? I have a Strix Scope RX TKL Wireless Deluxe (what a name) and i'm still blocked to use it on Linux because of all the hassle I have.
From what I understand:
- v0B05 is the Vendor ID
- p193E is the Part ID
Both are found with lsusb, in my case:lsusb |grep ASUS Bus 001 Device 019: ID 0b05:1a07 ASUSTek Computer, Inc. ROG STRIX SCOPE RX TKL WIRELESS DELUXEBut the last part ? What should I replace for e0111 ? I'm puzzled because even kernel events does not tells me much about the device (look at that mess):
[jeu. juin 25 04:17:40 2026] usb 1-2: New USB device found, idVendor=0b05, idProduct=1a07, bcdDevice= 2.05 [jeu. juin 25 04:17:40 2026] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [jeu. juin 25 04:17:40 2026] usb 1-2: Product: ROG STRIX SCOPE RX TKL WIRELESS DELUXE [jeu. juin 25 04:17:40 2026] usb 1-2: Manufacturer: ASUSTeK [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.0/0003:0B05:1A07.001A/input/input44 [jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001A: input,hidraw1: USB HID v1.11 Keyboard [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input0 [jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001B: hiddev96,hidraw2: USB HID v1.11 Device [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input1 [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input45 [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE System Control as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input46 [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input47 [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE Mouse as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.2/0003:0B05:1A07.001C/input/input48 [jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001C: input,hiddev97,hidraw3: USB HID v1.11 Mouse [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input2 [jeu. juin 25 04:17:40 2026] input: ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE as /devices/pci0000:00/0000:00:08.1/0000:c4:00.3/usb1/1-2/1-2:1.3/0003:0B05:1A07.001D/input/input49 [jeu. juin 25 04:17:40 2026] hid-generic 0003:0B05:1A07.001D: input,hidraw4: USB HID v1.11 Keyboard [ASUSTeK ROG STRIX SCOPE RX TKL WIRELESS DELUXE] on usb-0000:c4:00.3-2/input3
This info is from the modalias line that you get out of sysfs.
find /sys -name *modalias | xargs grep -i v0B05p1a07
should work for you. it will most likely be e0111-e0 and you just take everything before the -e0 to match all versions.
Indeed, I found way too many lines in this, but the "e0111" is there:
$ find /sys -name *modalias | xargs grep -i v0B05p1a07
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.1/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in01
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input40/modalias:input:b0003v0B05p1A07e0111-e0,3,kra28,mlsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input39/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k74,8E,8F,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input41/modalias:input:b0003v0B05p1A07e0111-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input38/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k71,72,73,80,8C,90,9B,9C,9E,9F,A3,A4,A5,A6,AB,AC,AD,D9,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in02
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/0003:0B05:1A07.0011/input/input37/modalias:input:b0003v0B05p1A07e0111-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,83,85,87,88,89,B7,B8,B9,BA,BB,BC,BD,BE,F0,ram4,l0,1,2,3,4,sfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc01ip01in00
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/0003:0B05:1A07.0014/input/input42/modalias:input:b0003v0B05p1A07e0111-e0,1,4,14,k74,75,77,7F,80,B7,B8,B9,BA,BB,BC,BD,BE,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip01in03Still don't know exactly what "e" stands for in this string, but glad to know how to find it for other people, thank you very much. FYI I just applied the same events "reservation" and also had to reboot for this to be taken into account ;)
Indeed, I found way too many lines in this, but the "e0111" is there:
$ find /sys -name *modalias | xargs grep -i v0B05p1a07 /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.1/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in01 /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input40/modalias:input:b0003v0B05p1A07e0111-e0,3,kra28,mlsfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input39/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k74,8E,8F,ram4,lsfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input41/modalias:input:b0003v0B05p1A07e0111-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input38/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k71,72,73,80,8C,90,9B,9C,9E,9F,A3,A4,A5,A6,AB,AC,AD,D9,ram4,lsfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in02 /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/0003:0B05:1A07.0011/input/input37/modalias:input:b0003v0B05p1A07e0111-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,83,85,87,88,89,B7,B8,B9,BA,BB,BC,BD,BE,F0,ram4,l0,1,2,3,4,sfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc01ip01in00 /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/0003:0B05:1A07.0014/input/input42/modalias:input:b0003v0B05p1A07e0111-e0,1,4,14,k74,75,77,7F,80,B7,B8,B9,BA,BB,BC,BD,BE,ram4,lsfw /sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip01in03Still don't know exactly what "e" stands for in this string, but glad to know how to find it for other people, thank you very much. FYI I just applied the same events "reservation" and also had to reboot for this to be taken into account ;)
Indeed, I found way too many lines in this, but the "e0111" is there:
$ find /sys -name *modalias | xargs grep -i v0B05p1a07
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.1/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in01
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input40/modalias:input:b0003v0B05p1A07e0111-e0,3,kra28,mlsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input39/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k74,8E,8F,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input41/modalias:input:b0003v0B05p1A07e0111-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/0003:0B05:1A07.0013/input/input38/modalias:input:b0003v0B05p1A07e0111-e0,1,4,k71,72,73,80,8C,90,9B,9C,9E,9F,A3,A4,A5,A6,AB,AC,AD,D9,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.2/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip00in02
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/0003:0B05:1A07.0011/input/input37/modalias:input:b0003v0B05p1A07e0111-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,83,85,87,88,89,B7,B8,B9,BA,BB,BC,BD,BE,F0,ram4,l0,1,2,3,4,sfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.0/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc01ip01in00
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/0003:0B05:1A07.0014/input/input42/modalias:input:b0003v0B05p1A07e0111-e0,1,4,14,k74,75,77,7F,80,B7,B8,B9,BA,BB,BC,BD,BE,ram4,lsfw
/sys/devices/pci0000:00/0000:00:08.3/0000:c6:00.4/usb7/7-1/7-1.4/7-1.4:1.3/modalias:usb:v0B05p1A07d0205dc00dsc00dp00ic03isc00ip01in03(bus type b0003 is Bluetooth) manufactured by vendor 0B05 (ASUS) with product ID 1A07, specifically matching the e0111 event capability extension
The values after KEYBOARD_KEY_ are scancodes, yes? How did you find out which scancodes needed to be set to reserved? Could you explain what keys lines 2 to 11 act on, and what setting a key to reserved means?
I want to learn how exactly this works.
For normal keys I can find scancodes with evtest, but the keys in the config above don't seem to be normally available on the keyboard.
Also, do you know if this can be done with keycodes instead of scancodes? If it can, how would it be done?