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





