keyboard

Содержание

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

Подякувати Помилка?

Дочати пiзнiше / подiлитися