新しいキーボードがありますが、ミュートキーはリリースイベントを送信しません。 hwdbから読んだことによれば、ドライバが合成パブリッシュイベントを送信できるようにすることができ、そうしようとしました。
私のステップは次のとおりです。
- evtestとevemu-describeを使用して、どのキーとどのデバイスを設定する必要があるかを見つけました。
記録セット
/lib/udev/hwdb.d/90-custom-keyboard.hwdb
:evdev:input:b0003v0C45p7903* KEYBOARD_KEY_c00e2=!mute
はい
systemd-hwdb update
、initrdが再構築されましたmkinicpio -p linux
。再起動し、
udevadm info
正しい値が表示されていることを確認してください。P: /devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:02.0/0000:0d:00.0/usb5/5-3/5-3:1.1/0003:0C45:7903.0006/input/input26/event25 N: input/event25 S: input/by-id/usb-SONiX_USB_DEVICE-event-if01 S: input/by-path/pci-0000:0d:00.0-usb-0:3:1.1-event E: DEVLINKS=/dev/input/by-path/pci-0000:0d:00.0-usb-0:3:1.1-event /dev/input/by-id/usb-SONiX_USB_DEVICE-event-if01 E: DEVNAME=/dev/input/event25 E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:02.0/0000:0d:00.0/usb5/5-3/5-3:1.1/0003:0C45:7903.0006/input/input26/event25 E: ID_BUS=usb E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_MODEL=USB_DEVICE E: ID_MODEL_ENC=USB\x20DEVICE E: ID_MODEL_ID=7903 E: ID_PATH=pci-0000:0d:00.0-usb-0:3:1.1 E: ID_PATH_TAG=pci-0000_0d_00_0-usb-0_3_1_1 E: ID_REVISION=0110 E: ID_SERIAL=SONiX_USB_DEVICE E: ID_TYPE=hid E: ID_USB_DRIVER=usbhid E: ID_USB_INTERFACES=:030101:030102: E: ID_USB_INTERFACE_NUM=01 E: ID_VENDOR=SONiX E: ID_VENDOR_ENC=SONiX E: ID_VENDOR_ID=0c45 E: KEYBOARD_KEY_c00e2=!mute E: LIBINPUT_DEVICE_GROUP=3/c45/7903:usb-0000:0d:00.0-3 E: MAJOR=13 E: MINOR=89 E: SUBSYSTEM=input E: TAGS=:power-switch: E: USEC_INITIALIZED=5143289
注KEYBOARD_KEY_c00e2 - ロードされました。
evtestでは動作しますが動作しないことをテストしました。 :(
hwdbで説明されている正しい構成にもかかわらず、強制解除属性がいっぱいになっていないように見えます。これは、そのudevadm info -a -p /sys/class/input/event25 | grep -i force.release
属性が設定されていないと判断されます。
私は何が間違っていましたか?ドライバがキーを押した直後に合成パブリッシュイベントを送信するにはどうすればよいですか?
バージョン: システム: 239 カーネル: 4.18.8
ありがとうございます。