evdev не может различить определенные ключи в Tivo Slide Pro

У меня есть пульт дистанционного управления Tivo Slide Pro RF с USB-приемником, подключенным к системе Ubuntu 14.04. Он работает в режиме HID и выглядит как клавиатура.

Большинство ключей работают хорошо через evdev, но есть четыре ключа, которые отправляют одни и те же события evdev, и я не могу найти способа отличить эти четыре ключа. Запуск evtest показывает следующие события, когда я нажимаю и отпускаю любую из этих четырех клавиш:

Event: time 1415581661.700911, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1415581661.700911, -------------- SYN_REPORT ------------
Event: time 1415581662.028970, type 3 (EV_ABS), code 40 (ABS_MISC), value 1
Event: time 1415581662.028970, -------------- SYN_REPORT ------------

Ключ USB предназначен для подключения к TiVo, который, очевидно, имеет какой-то способ отличить. Где я могу начать отслеживать это?

1 ответ

Решение

Оказывается, специальный драйвер TiVo Slide не использовался для этой новой модели пульта дистанционного управления, поскольку идентификатор USB не был обновлен в источнике драйвера. В частности, эта строка из hid-ids.h должна выглядеть так:

#define USB_DEVICE_ID_TIVO_SLIDE        0x1203

(Хотя это работает для нового TiVo Slide Pro, оно ломает старый TiVo Slide.)

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