udev и дополнительные клавиши
Доброго времени суток. Все пытаюсь научить систему понимать нажатия дополнительных клавиш. Сначала завел их как шорткаты для xbindkeys, но это нетру и вообще некрасиво. Сейчас вот мучаю udev по этому поводу. Что сделано: завел правило
ACTION=="remove", GOTO="keyboard_end" KERNEL!="event*", GOTO="keyboard_end" ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" SUBSYSTEMS!="usb", GOTO="keyboard_end" SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id" SUBSYSTEMS=="usb", GOTO="keyboard_usbcheck" LABEL="keyboard_usbcheck" ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c52b", RUN+="keymap $name logitech-mk710" GOTO="keyboard_end" LABEL="keyboard_end"
где logitech-mk710 (просто для тестов):
0xC022E zoomin
Сканкоды отловлены evtest'ом
Далее, пытаюсь повесить эту клавишу на увеличение в KWin, но кеды упорно не видят нажатия. ЧЯДНТ? И как, кстати, дебажить правила udev?
UPD: Видимо, до создания топика, у меня был неправильный гугл и выдавал неправильные сцылки :)
Нашлось, что X не понимает кейкоды больше 255, а так же нашлась софтина evrouter, которая, как я понял, переназначает кейкоды. Отсюда еще один вопрос: я правильно понимаю, что обойтись только средствами udev и xorg не получится?
- Для комментирования войдите или зарегистрируйтесь
.
bzless /usr/share/doc/udev-[версия]/README.keymap.txt.bz2
читал?Уже да, ничего нового для
Уже да, ничего нового для себя не нашел: то же самое написание правил и keymap.
Я сделал через actkbd. Могу
Я сделал через actkbd. Могу поделиться init.d.
Минусы:
1. Падает при исчезновении устройства. Через udev можно организовать запуск/остановку init.d, как вариант.
2. Если клавиша определяется иксами/DM, то действие будет сделано два раза (возможно разное).
Плюс - работает везде, включая консоль
Дебажить правила:
Вместо add можно тестить change или remove...
NightNord написал(а): Могу
Было бы неплохо.
А где бы еще почитать про actkbd, а то гуглится как-то мало?
То есть и на KeyDown и на KeyUp? Уже не так вкусно(
Нет, то есть через actkbd и в
Нет, то есть через actkbd и в иксах. На keydown/keyup сам actkbd умеет настраивать хоть разные действия.
Читать про него его ман =). init.d вечером запощу.