/var/log/life.log
Блог программиста из солнечной Бурятии

настройка мультимедийных клавиш(multimedia)

Наконец-то настроил мультимедийные клавиши.
Сначала узнал коды клавиш с помощью xev:
176 - Fn + стрелка вверх
174 - Fn + стрелка вниз
123 - Fn + стрелка вправо
239 - Fn + стрелка влево

178 - кнопка с сатурном
236 - кнопка с конвертом
243 - кнопка P
179 - Знак евро
180 - Знак доллора
249 - кнопка типа обновить
245 - кнопка с лупой
239 - кнопка с ключём
244 - кнопка с символом e
141 - Fn + F1
166 - Fn + F2
167 - Fn + F3
146 - Fn + F4
169 - Fn + F5
140 - Fn + F8
кнопка Fn + F6 работает, отключает дисплей
Fn + F7 отключает тачпад

теперь надо ассоциировать с этими кодами имена, большинство можно найти в /usr/X11R6/include/X11/XF86keysym.h. Сделать это можно с помошью xmodmap:
xmodmap -e "keycode KEY = NAME"
,где кей это наш найденый код с помошью xev, а NAME это имя выбраное для этого кея из XF86keysym.h без подстрочки XK_
я ассоциировал не со всеми кеями т.к. пока не придумал, что я могу на них назначить.
Теперь это дело надо засунуть в автозагрузку, вот с этим у меня и были проблемы, закружаю kdm и у меня .xinitrc при старте кде не запускается да и с /.kde/Autostart у меня не получилось, хорошо подсказали в .xprofile прописать. получилось так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
%cat ~/.xprofile
#!/bin/sh
xmodmap ~/.xmodmaprc
%cat ~/.xmodmaprc
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 140 = XF86AudioMute
keycode 178 = XF86WWW
keycode 236 = XF86Mail
keycode 146 = XF86Sleep
keycode 243 = XF86PowerOff
keycode 166 = XF86Display
keycode 179 = EuroSign
keycode 180 = dollar
keycode 141 = Help

в файле
/usr/X11R6/include/X11/XF86keysym.h присутствуют строки
#define XF86XK_MonBrightnessUp 0x1008FF02
#define XF86XK_MonBrightnessDown 0x1008FF03
upd: к чему это я про /usr/X11R6/include/X11/XF86keysym.h? видимо оставил на потом, т.к. на тот момент регулировать яркость неудавалось.