Wow, danke! Ich bräuchte hier noch etwas Unterstützung. Hier erstmal, was ich ausgeführt habe:
$ grep -A4 -B8 120013 /proc/bus/input/devices
[...]
I: Bus=0003 Vendor=04d9 Product=a232 Version=0111
N: Name="Sharkoon Pure Writer RGB"
P: Phys=usb-0000:03:00.0-8/input0
S: Sysfs=/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005/input/input18
U: Uniq=
H: Handlers=sysrq kbd event18 leds
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
Mit dem sysfspath kann ich dann udevadm aufrufen:
$ udevadm info /sys/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005/input/input18
P: /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005/input/input18
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005/input/input18
E: PRODUCT=3/4d9/a232/111
E: NAME="Sharkoon Pure Writer RGB"
E: PHYS="usb-0000:03:00.0-8/input0"
E: UNIQ=""
E: PROP=0
E: EV=120013
E: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
E: MSC=10
E: LED=7
E: MODALIAS=input:b0003v04D9pA232e0111-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8C,8E,96,98,9E,9F,A1,A3,A4,A5,A6,AD,B0,B1,B2,B3,B4,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw
E: SUBSYSTEM=input
E: USEC_INITIALIZED=1130330317
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=Sharkoon
E: ID_VENDOR_ENC=Sharkoon
E: ID_VENDOR_ID=04d9
E: ID_MODEL=Pure_Writer_RGB
E: ID_MODEL_ENC=Pure\x20Writer\x20RGB
E: ID_MODEL_ID=a232
E: ID_REVISION=0207
E: ID_SERIAL=Sharkoon_Pure_Writer_RGB
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:03:00.0-usb-0:8:1.0
E: ID_PATH_TAG=pci-0000_03_00_0-usb-0_8_1_0
E: ID_FOR_SEAT=input-pci-0000_03_00_0-usb-0_8_1_0
E: TAGS=:seat:
Und dann der test:
$ SYSTEMD_LOG_LEVEL=debug udevadm test /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005
[...]
0003:04D9:A232.0005: /lib/udev/rules.d/50-udev-default.rules:14 Importing properties from results of builtin command 'hwdb --subsystem=hid'
0003:04D9:A232.0005: No entry found from hwdb.
0003:04D9:A232.0005: /lib/udev/rules.d/50-udev-default.rules:14 Failed to run builtin 'hwdb --subsystem=hid': No data available
0003:04D9:A232.0005: /lib/udev/rules.d/80-drivers.rules:5 RUN 'kmod load $env{MODALIAS}'
DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005
DRIVER=hid-generic
HID_ID=0003:000004D9:0000A232
HID_NAME=Sharkoon Pure Writer RGB
HID_PHYS=usb-0000:03:00.0-8/input0
HID_UNIQ=
MODALIAS=hid:b0003g0001v000004D9p0000A232
ACTION=add
SUBSYSTEM=hid
USEC_INITIALIZED=16450934837
run: 'kmod load hid:b0003g0001v000004D9p0000A232'
[...]
Wenn ich das richtig verstehe, gibt mir system-hwdb auch kein Ergebnis. Deshalb habe ich auch in der Datei /etc/udev/hwdb.d/61-hacking.hwdb
einen Fake-Eintrag erzeugt und die system-hwdb aktualisiert:
$ cat /etc/udev/hwdb.d/61-hacking.hwdb
hid:b0003g0001v000004D9p0000A232
KEYBOARD_KEY_1d=!leftctrl
$ sudo systemd-hwdb update
$ systemd-hwdb query hid:b0003g0001v000004D9p0000A232
KEYBOARD_KEY_1d=!leftctrl
Wenn ich nun den Test wiederhole bekomme ich folgendes:
$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005
[...]
0003:04D9:A232.0005: /lib/udev/rules.d/50-udev-default.rules:14 Importing properties from results of builtin command 'hwdb --subsystem=hid'
0003:04D9:A232.0005: /lib/udev/rules.d/80-drivers.rules:5 RUN 'kmod load $env{MODALIAS}'
0003:04D9:A232.0005: sd-device: Created db file '/run/udev/data/+hid:0003:04D9:A232.0005' for '/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005'
DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-8/1-8:1.0/0003:04D9:A232.0005
DRIVER=hid-generic
HID_ID=0003:000004D9:0000A232
HID_NAME=Sharkoon Pure Writer RGB
HID_PHYS=usb-0000:03:00.0-8/input0
HID_UNIQ=
MODALIAS=hid:b0003g0001v000004D9p0000A232
ACTION=add
SUBSYSTEM=hid
KEYBOARD_KEY_1d=!leftctrl
USEC_INITIALIZED=17512608116
run: 'kmod load hid:b0003g0001v000004D9p0000A232'
[...]
Die Datei /run/udev/data/+hid:0003:04D9:A232.0005
wurde angelegt und hat folgenden Inhalt:
$ cat /run/udev/data/+hid:0003:04D9:A232.0005
I:17512608116
E:KEYBOARD_KEY_1d=!leftctrl
Aber was mache ich nun mit diesem Ergebnis? libinput quirks list /dev/input/event0
liefert nichts zurück.