Мультимедиа клавиатура и OpenBox

Нагуглил интересный фрагмент из статьи http://zenux.ru/articles/27/, автор Brainsburn
В OpenBox - код клавиш нужно перевести в 16-ричную систему счисления. Например, вы хотите забиндить какую-то мультимедиа клавишу на увеличение громкости звука ALSA. Запускаете в терминале утилиту xev, нажимаете нужную клавишу и смотрите ее keycode. Там будет что-то вроде этого:
KeyRelease event, serial 39, synthetic NO, window 0x1e00001,
root 0x15a, subw 0x0, time 1613305, (627,558), root:(655,831),
state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume),
same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Нас интересует:
keycode 122
Теперь это число (122) нужно перевести в 16-ричное. Делается это просто:
$ printf "%X\n" 122
7A
К этому числу нужно добавить спереди “0x”, т.е. получится “0x7A”. Теперь, используя этот код клавиши (0x7A), биндите клавишу как обычно:
<keybind key="0x7A">
<action name="Execute">
<command>amixer sset Front 1+</command>
</action>
</keybind>
Както через одно место все у Вас делается, разве так не проще:
    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <execute>aumix -v+5</execute>
      </action>
    </keybind>
    <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
        <execute>aumix -v-5</execute>
      </action>
    </keybind>
Както через одно место все у Вас делается

с аудиокнопками все понятно, а у меня на клавиатуре есть кнопки для запуска браузера, калькулятора и почтового клиента и я у них низнаю как они подцепились и вот тут-то как раз и пригодился опыт из этой статьи. А малоли у людей еще навороченее клава мультимедией. я например видел клаву с кнопками запуска текстового редактора, табличного процессора и кнопкой прокрутки как колесо мыши!?
wolf
с аудиокнопками все понятно, а у меня на клавиатуре есть кнопки для запуска браузера, калькулятора и почтового клиента и я у них низнаю как они подцепились и вот тут-то как раз и пригодился опыт из этой статьи. А малоли у людей еще навороченее клава мультимедией. я например видел клаву с кнопками запуска текстового редактора, табличного процессора и кнопкой прокрутки как колесо мыши!?
Если xev их опознал - то назначать как обычно.
Если xev клавишу не знает - .Xmodmap вам в руки!
P.S. давненько была клава logitech multimedia какраз с прокруткой как колесо мыши, прокрутка сама отсылала сигнал “кнопка вверх\вниз” и половина офисных клавиш опознавалась и заработала, а после того, как я в xorg.conf прописал модель клавы (оказалось иксы ее поддерживают) опознались все клавиши без проблем.
я например видел клаву с кнопками запуска текстового редактора, табличного процессора и кнопкой прокрутки как колесо мыши!?
Давным-давно такие есть. А еще есть Logitech G15 и G19 ;)

В большинстве случаев все дополнительные кнопки распознаются как надо, и вписывать их по именам. Тем более что медиа кнопки стандартны.
Просветите, немного запутался. Ну знаю я названия этих мульт. кнопок и их код.
Как звук прибавлять уже выше пример есть и работает.
А как заставить вот эти кнопки работать глобально?
keycode 173 = XF86AudioPrev
keycode 171 = XF86AudioNext
keycode 121 = XF86AudioMute
keycode 172 = XF86AudioPlay
keycode 174 = XF86AudioStop
keycode 112 = Prior
keycode 117 = Next
keycode 111 = Up
keycode 116 = Down
keycode 114 = Right
keycode 113 = Left
в .Xmodmap они тоже вписаны (но кажется безтолку).
Как сделать, чтобы плееры типа vlc или deadbeef срабатывали на эти кнопки? Неужели прописывать в каждом плеере?
Вот я тут графоманил по поводу установки Openbox. В том числе и про мультимедия клавиатуру там тоже есть.
http://syslinux.ru/node/608
Этот принцип работал у меня еще с slackware 7.0
rc.local
#!/bin/sh -e
#
# rc.local
#
setkeycodes e002 227   # Fn+F4 maps to switchvidmode
setkeycodes e003 236   # Fn+F2 maps to battery
setkeycodes e004 148   # Fn+F5 maps to prog1
setkeycodes e006 238   # Fn+F9 maps to wlan
setkeycodes e008 225   # Fn+Up maps to brightnessup
setkeycodes e009 224   # Fn+Dn maps to brightnessdown
setkeycodes e031 149   # Fn+F7 maps to prog2
setkeycodes e033 202   # Fn+F8 maps to prog3
setkeycodes e077 191   # Fn+F10 maps to F21 whenever the touchpad is enabled
setkeycodes e079 192   # Fn+F10 maps to F22 whenever the touchpad is disabled

Принцип:
setkeycodes “сканкод” “назначение”
Назначение можно посмотреть в файле кодов вашей модели клавиатуры. У меня допустим это evdev. То-есть /usr/share/X11/xkb/keycodes/evdev (для дебиана правда)
Находим
	<I249> = 249;	// #define KEY_VIDEO_NEXT          241
Теперь сопоставив клавишу со сканкодом e008 значению 241 (#define KEY_VIDEO_NEXT 241) и изменив в rc.local
#!/bin/sh -e
#
# rc.local
#
setkeycodes e008 241
Теперь после перезагрузки в моем ноуте кнопка Fn+Up взамен регулировки подсветки будет переключать воспроизведение видео на следующий в плейлисте. В проигрывателях это поддерживающих (всех толковых)
Кстати клавиша e008 и многие другие Fn клавиши ноутбука у меня вообще не определяются, до прописывания кейкодов, даже xev - ом. Только в syslog валятся ошибки при нажатии. Там и беру сканкоды.
 
Зарегистрироваться или войдите чтобы оставить сообщение.