Как найти .hwdb заголовок общего устройства ввода данных?

У меня есть старый USB РФ, удаленная, который я хотел бы использовать с Kodi. Удаленным является устройство неввода с клавиатуры, которое генерирует коды клавиши. Я хотел бы сделать некоторое переотображение, но я не сделал этого со дней/usr/lib/keymap, который был ликвидирован в пользу evtest и hwdb файлов udev.

Правило HWDB (для моей цели) состоит из аппаратного заголовка идентификации и затем набора ключевых отображений. Я нашел несколько примеров выполнения этого для клавиатуры, но ни один для моего устройства неввода с клавиатуры, и ни один, что объясняет, как создать hwdb заголовок.

Вообще говоря, как я создаю hwdb заголовок? Вот вывод udevadm info /dev/input/eventX.

P: /devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1:1.0/rc/rc0/input8/event4
N: input/event4
S: input/by-id/usb-X10_Wireless_Technology_Inc_USB_Transceiver-event-if00
S: input/by-path/pci-0000:00:02.0-usb-0:1:1.0-event
E: BACKSPACE=guess
E: DEVLINKS=/dev/input/by-path/pci-0000:00:02.0-usb-0:1:1.0-event /dev/input/by-id/usb-X10_Wireless_Technology_Inc_USB_Transceiver-event-if00
E: DEVNAME=/dev/input/event4
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1:1.0/rc/rc0/input8/event4
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_MODEL=USB_Transceiver
E: ID_MODEL_ENC=USB\x20Transceiver
E: ID_MODEL_ID=0002
E: ID_PATH=pci-0000:00:02.0-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_00_02_0-usb-0_1_1_0
E: ID_REVISION=0100
E: ID_SERIAL=X10_Wireless_Technology_Inc_USB_Transceiver
E: ID_TYPE=generic
E: ID_USB_DRIVER=ati_remote
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=X10_Wireless_Technology_Inc
E: ID_VENDOR_ENC=X10\x20Wireless\x20Technology\x20Inc
E: ID_VENDOR_ID=0bc7
E: MAJOR=13
E: MINOR=68
E: SUBSYSTEM=input
E: USEC_INITIALIZED=8383075
E: XKBLAYOUT=us
E: XKBMODEL=pc105
0
задан 7 March 2016 в 09:24

1 ответ

Это оказалось легче, чем я думал. Главным образом я просто должен был прочитать (удушье) страницу справочника и выяснить, что нормально использовать сокращенный (и подстановочный знак) версия modalias USB-устройства для строки совпадения.

Шаги:

  1. найдите поставщика устройства с lsusb. Мой был 0BC7.

  2. Найдите modalias файлы всего устройства с

    find /sys -name *modalias | xargs grep -i 0BC7
    
  3. Будут несколько. Используйте тот, который имеет единственную строку. Мой был файлом в

    /sys/devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1:1.0/modalias
    

Моя строка modalias похожа на это. Мы хотим все перед 'e', потому что мы хотим, чтобы он относился ко всем версиям.

    input:b0003v0BC7p0002e0100-e0,1,2,k110,111,113,114,r0,1,amlsfw
  1. Я использую evtest для нахождения скэн-кода для кнопки на моем удаленном. Это - "значение" после MSC_SCAN. В моем случае я использую ключ со значением 0b. Я собираюсь отобразить его на код клавиши, который это легко наблюдать: бесшумный режим.

  2. Используя тяжелую ссылку на эту страницу Wiki Arch, я создаю hwdb файл в /etc/udev/hwdb.d/10-x10.hwdb. Это содержит:

    evdev:input:b0003v0BC7p0002*
     KEYBOARD_KEY_0b=mute
    
  3. Следующие команды обновляют и используют мой новый hwdb файл.

    udevadm hwdb --update
    udevadm trigger
    udevadm info /dev/input/event4 | grep KEYB
    
0
ответ дан 24 July 2019 в 09:02

Другие вопросы по тегам:

Похожие вопросы: