
У меня есть два пульта дистанционного управления HP: один — огромный пульт для ТВ-тюнера и медиацентра, а другой — крошечный пульт для управления только медиацентром.
Можно ли заставить их работать с Ubuntu (11.04) с помощью LIRC? Я знаю, что по крайней мере один из них распознается, так как я могу использовать одну из кнопок, чтобы выключить экран.
Что мне нужно для полной поддержки? (Ноутбук — HP DV7 1020us, но пульты ДУ есть практически во всех ноутбуках HP того периода).
решение1
Существует два основных способа поддержки пультов ДУ LIRC.
Один из них — просто через обычный ИК-приемник. Их можно «обучить» для получения файла конфигурации или загрузить его. Они просто перечисляют тайминги импульсов для каждой кнопки.
Другой способ — через устройство событий, которое, скорее всего, является механизмом вашего пульта, поскольку он уже оказывает влияние на вашу машину. Это когда ядро имеет драйвер для этого пульта и преобразует его импульсы в события.
Устройство фактически встроено в качестве дополнительной клавиатуры с несколькими необычными клавишами, некоторые из которых имеют привязки в X. Вы можете использовать LIRC для добавления дополнительных привязок к такому устройству через его модуль evdev (устройство событий).
делать
lsmod | grep evdev
И посмотрите, загружен ли модуль evdev — это часто происходит в ответ на один из этих удаленных приемников. Драйверы ядра для этих модулей обычно сопоставляют события со стандартным набором кодов клавиш. Некоторые клавиши могут быть даже в обычной раскладке — пульты, которые у меня есть, выдают правильные коды клавиш для цифр, ввода и т. д. — и вы можете видеть, как они вводят клавиши в приложения, как любая другая клавиатура HID.
попробуйте выяснить, какое устройство /dev/input/eventN используется в вашем пульте дистанционного управления - попробуйте просмотреть dmesg
выходные данные; например,
dmesg | grep event
Затем запустите один из инструментов отладки LIRC, irw
irw /dev/input/eventN
# должен выдавать список идентификаторов кнопок, когда вы наводите и стреляете. Как только у вас это заработает ...
Отсюда вы можете настроить LIRC для получения определенных нажатий кнопок и отправки других клавиш в приложения. У меня смешанная настройка для MythTV — некоторые кнопки имеют значения, которые я бы хотел в любом случае (OK == ENTER, 0-9 и т. д.), некоторые из них я переназначаю в LIRC (STOP == d для удаления).