Конечно не секрет, просто я редко на форуме бываю, чтобы на почту пришло уведомление). Не подписался на тему...
"Прикручиваем пульт к XBMC"
Подразумевается что карточка работает в системе, стоят драйвера....
Ставим лирк. Выбираем none->none
sudo apt-get install lirc
Если уже стоит, то сбросим настройки:
sudo dpkg-reconfigure lirc
Смотрим что пишут про наше устройство:
cat /proc/bus/input/devices
У меня вот так:
I: Bus=0001 Vendor=b034 Product=3034 Version=0001
N: Name="cx88 IR (Prof 7301 DVB-S/S2)"
P: Phys=pci-0000:05:00.2/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1e.0/0000:05:00.2/rc/rc0/input4
U: Uniq=
H: Handlers=kbd event4
B: PROP=0
B: EV=100013
B: KEY=3000000 100c0000 343011 0 0 0 0 100000 4080 800 8e1680 0 0 ffc
B: MSC=10
Нас интересует eventX. Но дело в том, что при каждой перезагрузки он может меняться (я пробовал задавать в качестве девайся /dev/input/by-path/pci-0000\:05\:00.2-event-ir, у меня не работает). Чтобы это исправить курим: http://parker1.co.uk/mythtv_tips.php начиная от Make the LIRC Device Static - older kernels и до Restart udev using
sudo reboot
Лирическое отступление. Я долга маялся с настройкой конфига lircd.conf для пульта. Использовал разный ввод в irrecord девайса и драйвера, ставил из репы и ручками. Все равно после теста irw пульт молчал. Я так понял у irrecord какие-то проблемы с драйвером devinput. В конфиг записывались совершенно другие команды, нежели те которые должны быть на самом деле. В итоге нагуглил готовый конфиг с кодами для пульта от 7300. Пульт в принципе у prof одинаковый на всех картах, поэтому этот конфиг должен работать везде.
Кидаем/заменяем полученный lircd.conf в /etc/lirc/ , правим в нем строку name. Удаляем путь и меняем, например, на none.
Правим /etc/lirc/hardware.conf таким образом:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="none"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/input/irremote"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="none"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"
#Try to load appropriate kernel modules
LOAD_MODULES="false"
.....
sudo /etc/init.d/lirc restart
irw
Должно работать
Мой пульт, как и многие пульты определился в системе как клавиатура и некоторые клавиши даже работают без lirc. Я подметил что можно посмотреть что выдает showkey:
sudo showkey
Нажимаем на любую кнопку на пульте. Запоминаем код, который нам был выдан. Далее используем полученные коды. Конфиг 7300(я взял его как пример). Меняем код клавиши KEY_MUTE с 0x0071 на 113 (в моем случае).
sudo /etc/init.d/lirc restart
irw
И вуаля! it works! Кстати можно заметить что irw теперь выдает обратный код)))
Далее курим это http://forum.ubuntu.ru/index.php?topic=87481.0, начиная с шага 8. Все.
Заранее извиняюсь за сумбурно написанный faq, к сожалению не так много свободного времени.