Multimedia клавиши глобальный подход? [решено]
gry 2 мая, 2009 - 03:54
Добрый вечер. Взялся за настройку мультимедиа клавиш на ноутбуке, смотрел вот по этой ссылке http://www.xakep.ru/post/43067/default.asp . Тут описано 2 подхода, один для X'ов, второй для консоли. В иксах не удобно дублировать все настройки для каждого window manager'а. В консоли если к примеру просматривать man страницу, то этот подход уже не работает по очевидным причинам. Да и вообще отдельно хранить консольные привязки, и отдельно иксовые не слишком удобно. В связи с чем возникает вопрос: а нельзя ли обрабатывать клавиши как-нибудь более низкоуровнево, по сканкодам или еще както. Мне нужно всего лишь запускать консольные программки вроде amixer и xmms2 по нажатию на эти спецклавиши.
Спасибо за комментарии.
/*
* gry
*/
»
- Для комментирования войдите или зарегистрируйтесь
У меня мультимедиа клавиши на
У меня мультимедиа клавиши на ноубуке работают через ACPI и сканкодов вообще не выдают. Соответственно работают независимо от иксов и т.п.. Ты пробовал смотреть сканкоды этих клавиш? Может у тебя тоже также.
ACPI у меня ловит только
ACPI у меня ловит только закрытие крышки, часть клавишь(например управление яркостью монитора) полностью хардверные, они работают и ничего не генерят и ничем не ловяться. Клавиши вроде play/pause/stop и тд генерят сканкоды но не ловятся с помощью ACPI.
на своем ноуте
настраивал через esekeyd, в ядре нужно включить event interface, ну потом просто, keytest /dev/input/eventX, проверяешь ловятся ли нажатия, создаешь конфиг, запускаешь esekeyd, все =)
Спасибо, попробовал, работает
Спасибо, попробовал, работает :) Затем открыл для себя actkbd - аналогичный демон, но гораздо более гибкий, можно задавать комбинации клавишь, типа: volumeup - это поднять глобальную громкость через amixer, а alt+volumeup поднять громкость аудио проигрывателя, кроме того в отличие от esekeyd можно обрабатывать события отпускания клавишь и зажатия, например если зажать клавишу volumeup и держать ее, то esekeyd увидит лишь одно нажатие, а actkbd увидит, нажатие, потом пачку событий типа повторение нажатие, а затем отпускание клавишь, вот в частности для громкости это очень удобно.
Поигрался с actkbd, с его
Поигрался с actkbd, с его помощью получилось сделать "интеллектуальное" поведение клавишь вперед/назад: теперь они действуют как в плеере - если зажать то прокрутка по песне, если просто коротко нажать, то переключает на следующую/предыдущую песню, если нажать назад один раз он переключает на начало песни, а следующее нажатие ведет к переключению на предыдущую песню. Для всего этого нужно, чтоб клавиши вперед/назад генерировали события повторения, для этого к параметрам ядра на моем ноутбуке нужно было добавить atkbd.softrepeat=1
Вот получившийся конфиг, работает клавиши play/pause, stop, prev, next, voulmeup, volumedown, mute
Может комуто пригодиться
114:key::/usr/bin/amixer -q set Master 2dB-
114:rep::/usr/bin/amixer -q set Master 2dB-
115:key::/usr/bin/amixer -q set Master 2dB+ unmute
115:rep::/usr/bin/amixer -q set Master 2dB+
113:key::/usr/bin/amixer -q set Master toggle
164:key::/usr/bin/mpc toggle
166:key::/usr/bin/mpc stop
165:rep:ungrabbed,grab,noexec:
165:rep:grabbed:/usr/bin/mpc seek -5
165:rel:grabbed,ungrab,noexec:
165:rel:ungrabbed:/bin/sh -c 'if mpc --format "" status | grep "0:0[01]/" ; then /usr/bin/mpc prev ; else /usr/bin/mpc seek 0 ; fi'
163:rep:ungrabbed,grab,noexec:
163:rep:grabbed:/usr/bin/mpc seek +5
163:rel:grabbed,ungrab,noexec:
163:rel:ungrabbed:/usr/bin/mpc next
:key,rel,rep:not,noexec:
Спасибо, возьму на заметку
Спасибо, возьму на заметку
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Спасибо
Очень может быть, что пригодится.