13 березня 2011 р.

Налаштування LIRC в ArchLinux

Коротко про те, як подружити ArchLinux з демоном LIRC.


1. Встановлення.

Актуальна версія LIRC на момент написання допису: 0.9.0.
pacman -S lirc
2. Створення правила Udev.

Потрібно для того, щоб випадково при під'єднанні флешки (чи іншого девайсу), до  завантаження системи, довго і з потугами не шукати куди подівся наш пульт. Справа в тому, що udev в випадковому порядку, який відомий тільки йому, робить симлінки (event0-n), на пристрої вводу, в директорії /dev/input. І може так статися, що одного разу наш пульт event4, а іншого event6, саме тому до eventів прв'язуватися не варто.

2.1 Пошук пульта серед пристроїв вводу. 

В мене воно виглядає так:
cat /proc/bus/input/devices
...
I: Bus=0001 Vendor=1461 Product=9715 Version=0001
N: Name="saa7134 IR (Avermedia AVerTV St"
P: Phys=pci-0000:01:08.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:04.0/0000:01:08.0/rc/rc0/input4
U: Uniq=
H: Handlers=kbd event4 
B: EV=100013
B: KEY=fc310 82140000 0 0 0 0 2148000 180 4001 9e0000 0 0 ffc
B: MSC=10
...
2.2 Створення правила і заповнення його наступним змістом:
nano /etc/udev/rules.d/10-lirc.rules

KERNEL=="event*", ATTRS{name}=="saa7134 IR (Avermedia AVerTV St", SYMLINK="lirc0"
В результаті на потрібний event, який націлений на фізичний пристрій з найменуванням "saa7134 IR (Avermedia AVerTV St", буде створено симовічне посилання /dev/lirc0.

3. Налаштування LIRC.

3.1 Конфігураційний файл ПДК (пульт дистанційного керування).

Йдемо на веб-сторінку http://lirc.sourceforge.net/remotes/ і шукаємо конффайл свого ПДК. Якщо файл знайдено, копіюємо його в: /etc/lirc/lircd.conf. Якщо потрібного конфігураційного файлу нема, або існуючий непрацює, тоді в хід йде утиліта irrecord.
irrecord -H devinput -d /dev/lirc0 /шлях/куди зберегти готовий файл
Після запуску даної команди ми побачимо текст(англійською) про те, що то є утилітка irrecord і прохання натиснути Enter, натискаємо. Спочатку irrecord попросить затиснути будь-яку кнопку, і тримати поки не заповниться 2 лінії по 80 крапок, після чого утилітка запропонує перейти до призначення імен для кнопок пульта. Тут все просто, вводимо назву кнопки, натискаємо Enter, натискаємо відповідну кнопку пульта, і так до тих пір, поки не закінчаться всі кнопки. Після підтвердження останньої кнопки натискаємо ще раз Enter і переходимо до фінального етапу, тут потрібно якомога швидше натискати будь-яку одну кнопку дистанційки, це все дійство триватиме 10 секунд, то ж після натискання Enter потрібно відразу ж починати, бо якщо довго гальмувати, то є шанс отримати неробочий файл, і прийдеться все починати заново. Якщо все ж таки конфігфайл запорено, то перед повторною спробою, треба видалити некоректний файл конфігурації. Перехід до наступного етапу передбачає, що в нас вже є працюючий конфігураційний файл за адресою: /etc/lirc/lircd.conf. Про всяк випадок, мій конфігфайл:

/etc/lirc/lircd.conf

3.2 Конфігураційний файл LIRCD.

Цей екземпляр знаходиться за адресою: /etc/conf.d/lircd.conf, і повинен мати такий вміст:
LIRC_DEVICE="/dev/lirc0"
LIRC_DRIVER="devinput"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE="/etc/lirc/lircd.conf"
3.3 Автозавантаження демона LIRC.

Добавляємо lircd в секцію DAEMONS, системного конфігураційного файлу /etc/rc.conf.

3.4 Перезавантаження.

4 Перевірка роботи пульта.

В терміналі запустимо команду irw, повинно вийти щось на зразок:
$irw
000000008001004f 00 1 /etc/lirc/lircd.conf
0000000080010050 00 2 /etc/lirc/lircd.conf
000000008001004c 00 5 /etc/lirc/lircd.conf
000000008001004d 00 6 /etc/lirc/lircd.conf
якщо нічого такого немає, уважно дивимось на попередні кроки, якщо все нормально йдемо далі.


5 Прив'язка кнопок ПДК для роботи з відповідними програмами. 

Тут політ фантазії може бути безмежним, можна налаштувати роботу як tvtime, mplayer, totem так і браузера, файлового менеджера, ітд. Вдаватися в подробиці небуду, приведу тільки приклад свого конфігураційного файлу /home/user/.lircrc, тут налаштована робота tvtime, totem, audacious, лотка CD пиводу та глобальне управління гучністю.

Для того, щоб це все запрацювало, треба від свого користувача, додати в автозавантаження стільниці, слідуючу команду:
irexec -d
Все, допис можна закінчити. В майбутньому попробую занотувати трохи робочих прикладів звязки LIRC + SOFT.

Немає коментарів:

Дописати коментар