hwdb를 사용하여 키를 강제로 해제

hwdb를 사용하여 키를 강제로 해제

새 키보드가 있는데 음소거 키가 릴리스 이벤트를 보내지 않습니다. hwdb에서 읽은 내용에 따르면 드라이버가 합성 게시 이벤트를 보내도록 하는 것이 가능하며 그렇게 하려고 노력했습니다.

내 단계는 다음과 같습니다.

  1. evtest와 evemu-describe를 사용하여 어떤 키와 어떤 장치를 구성해야 하는지 알아냈습니다.
  2. 기록 세트 /lib/udev/hwdb.d/90-custom-keyboard.hwdb:

    evdev:input:b0003v0C45p7903*
      KEYBOARD_KEY_c00e2=!mute
    
  3. systemd-hwdb update, initrd가 재구축되었습니다 mkinicpio -p linux.

  4. 다시 시작하고 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 - 로드되었습니다.

  5. evtest에서는 작동하지만 작동하지 않는지 테스트했습니다. :(

hwdb에 설명된 올바른 구성에도 불구하고 강제 해제 속성이 채워지지 않은 것으로 보이며 이는 udevadm info -a -p /sys/class/input/event25 | grep -i force.release해당 속성이 설정되지 않음으로 확인됩니다.

내가 뭘 잘못했나요? 드라이버가 키를 누른 후 즉시 합성 게시 이벤트를 보내도록 하려면 어떻게 해야 합니까?

버전: 시스템: 239 커널: 4.18.8

감사해요.

관련 정보