Разместить здесь рекламу
xmodmap -e "keycode 223 = XF86Stop"
xmodmap -e "keycode 223 = XF86ScreenSaver"
xmodmap -e "keycode 227 = XF86Eject"

keycode 222
keycode 223
keycode 227

Настройка мультимедиа клавиатуры

Настройка мультимедиа клавиатуры в X

Использовались:
- Клавиатура BTC-2001 (с Internet клавишами [back, forward, close, home
page,
search, favoriets, mail] + power down)
- Операционная система: FreeBSD 5.1-RELEASE
- Оконный менеджер: Fluxbox 0.9.6pre1
- Версия XFree86: XFree86 Version 4.3.0

Сперва надо определить коды мультимедиа клавиш, для этого запускаем из
терминала
(на него будет выводиться вся информация) xev(1). Нажмав первую мильтимедиа
клавишу, вы увиде что-нибуть вроде:

KeyPress event, serial 18, synthetic NO, window 0x2c00001,
root 0x60, subw 0x0, time 3745737930, (373,380), root:(504,526),
state 0x10, keycode 233 (keysym 0x000, No_Symbol), same_screen YES,
XLookupString gives 0 characters: ""

Аналогичную операцию проделываем с остальными клавишами, запоминаем значения
keycode. Теперь нам надо ассоциировать имя с данным кодом клавиши. Открываем
/usr/X11R6/include/X11/XF86keysym.h и ищем там наиболее подходящее имя (оно
записывается без "XK_"). Не смотря на то, что у меня клавиатура оснащена
интеренет-клавишами, мне более удобно использовать их как управляющие
клавиши
xmms(1), поэтому я выбрал имена XF86AudioPrev,XF86AudioNext, XF86AudioPlay,
XF86AudioLowerVolume, XF86AudioRaiseVolume, XF86AudioMute, оставил только
XF86Mail и XF86PowerDown.
Теперь для каждой клавиши запускаем xmodmap -e "keycode ЗНАЧЕНИЕ XF86*".
Опять проверяем с помощью xev, теперь при нажатии клавиши он должен
показывать keysum отличный от нуля и правильное имя клавиши.

Теперь в оконном менеджере можно настравитать действия при нажатии этих
клавиш,
например во Fluxbox нужно добавить строки, подобные этой:

None XF86AudioPrev :ExecCommand xmms -r

Не забудьте, что при следующем запуске X эти настройки собьются, по этому
нужно
создать файл $HOME/.xmodmaprc, написать туда комманды xmodmap (то, что
следует
после xmodmap -e, без кавычек), а в $HOME/.xinitrc добавить строчку

xmodmap .xmodmaprc,

причём её нужно добавить _перед_ строчкой, в которой вы запускаете оконный
менеджер.

В основном, преемущество данного метода заключается в том, что вам не надо
использовать
никаких дополнительных программ и держать запущенным какой-либо демон.

Документация:

man 1 xev
man 1 xmodmap
man ВАШ_ОКОННЫЙ_МЕНЕДЖЕР

- Roman Bogorodskiy
bogorodskiy [at] inbox.ru
Раздел вышеUp
НачалоTop
КонецDown
Запомнить+Marker
ВосстановитьMarker
Забыть-Marker
РекламаAdv
Font

Сказать спасибо Укоротить ссылку Нашли ошибку?

Дочитать позже / поделиться

   

См. также


Новости партнеров