Использование дополнительных кнопок клавиатуры в xmonad.


skunk - Posted on 16 Январь 2010

Имея клавиатуру с 28 дополнительными клавишами, захотелось их задействовать в xmonad.

Что есть:
Gentoo

dev-lang/ghc-6.10.4-r1
dev-haskell/x11-1.4.6.1
x11-wm/xmonad-0.9

Смотрим имеющиеся клавиши:

$ xev | grep keysym

xev все клавиши показывает, xmonad о них не знает, однако в dev-haskell/x11 они
присутствуют, поэтому импортируем x11 в конфиг самостоятельно:

import Graphics.X11.ExtraTypes.XF86

Список клавиш - /usr/share/doc/x11-1.4.6.1/html/Graphics-X11-ExtraTypes-XF86.html

В имени полученном от xev меняем префикс XF86 на xF86XK_.
Пример - XF86HomePage на xF86XK_HomePage.

Если нужно использовать клавишу без модификатора, заменяем его на 0.
Пример:

	[ ((0 , xF86XK_HomePage), spawn "konqueror")
	, ((modMask , xF86XK_HomePage), spawn "seamonkey")
	, ((0 , xF86XK_Mail), spawn "kmail")
	, ((0 , xF86XK_Calculator), spawn "kcalc")
	, ((0 , xF86XK_WakeUp), spawn "xset dpms force off")
	, ((modMask .|. controlMask, xF86XK_WakeUp), spawn "sudo -- /usr/sbin/hibernate-ram")
	, ((0 , xF86XK_AudioRaiseVolume), spawn "amixer -c0 -q -- sset PCM,0 10+")
	, ((0 , xF86XK_AudioLowerVolume), spawn "amixer -c0 -q -- sset PCM,0 10-")
	, ((0 , xF86XK_AudioMute), spawn "amixer -c0 -q -- sset Front,0 toggle")
	]

Вот и все.

Еще могу порекомендовать програмку для реализащии трея - x11-misc/stalonetray http://stalonetray.sourceforge.net/

myManageHook = composeAll
	[...
	, className =? "stalonetray"    --> doIgnore
	...
	]
 
defaults = defaultConfig {
	...
	manageHook         = myManageHook,
	...
}

Запускаем из ~/.xinitrc

0
Ваша оценка: Ничего

а еще можно использовать модуль EZConfig
для прописывани сочетаний клавиш в емакс стили, пример:
("M-x w", spawn "xmessage 'woohoo!'")
Там и медиа клавиши есть

жир. надо настроить, а то руки не доходили раскавырять.
спасибо Ж:-)