setkeycode

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
Silos
Неотъемлемая часть форума
Сообщения: 287
Зарегистрирован: 15 фев 2004, 19:04
Откуда: Belarus, Minsk
Контактная информация:

setkeycode

Сообщение Silos »

Есть: FC5, мультимедийная клавиатура Genius.
Проблема: на клавиатуре есть три кнопки, которые не "ловяться" с помощью xev. После того, как были нажаты по разу, dmesg "показывает" это:

Код: Выделить всё

atkbd.c: Use 'setkeycodes e023 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0xa3 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e023 <keycode>' to make it known.
atkbd.c: Unknown key pressed (translated set 2, code 0x94 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e014 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0x94 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e014 <keycode>' to make it known.
atkbd.c: Unknown key pressed (translated set 2, code 0x93 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e013 <keycode>' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0x93 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e013 <keycode>' to make it known.
/*Думаю эти кнопки можно назвать XF86WheelButton, XF86Excel, XF86Word соответственно*/

Далее делаю:

Код: Выделить всё

# setkeycodes e023 229
# setkeycodes e014 177
# setkeycodes e013 155
Добавляю в свой .Xmodmap следующего содержания:

Код: Выделить всё

keycode 174 = XF86AudioLowerVolume
keycode 160 = XF86AudioMute
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 237 = XF86AudioMedia
keycode 236 = XF86Mail
keycode 232 = XF86Stop
keycode 231 = XF86Refresh
keycode 234 = XF86Back
keycode 178 = XF86WWW
keycode 233 = XF86Forward
keycode 229 = XF86Search
keycode 230 = XF86Favorites
keycode 223 = XF86Sleep
keycode 161 = XF86Calculator
keycode 235 = XF86MyComputer
вот это:

Код: Выделить всё

keycode 229 = XF86WheelButton
keycode 177 = XF86Excel
keycode 155 = XF86Word
ctrl+alt+backspace
Вуаля! Запускаю xev|grep keycode, нажимаю на XF86WheelButton, XF86Excel, XF86Word по разу и получаю:

Код: Выделить всё

    state 0x10, keycode 216 (keysym 0x0, NoSymbol), same_screen YES,
    state 0x10, keycode 216 (keysym 0x0, NoSymbol), same_screen YES,
    state 0x10, keycode 220 (keysym 0x0, NoSymbol), same_screen YES,
    state 0x10, keycode 220 (keysym 0x0, NoSymbol), same_screen YES,
    state 0x10, keycode 236 (keysym 0x1008ff19, XF86Mail), same_screen YES,
    state 0x10, keycode 236 (keysym 0x1008ff19, XF86Mail), same_screen YES,
Что я сделал неправильно?

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

а где гарантии того, что этот .Xmodmap обрабатывается при старте сессии?
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Аватара пользователя
Silos
Неотъемлемая часть форума
Сообщения: 287
Зарегистрирован: 15 фев 2004, 19:04
Откуда: Belarus, Minsk
Контактная информация:

Сообщение Silos »

Гарантии :)

/etc/rc5.d/S99local

Код: Выделить всё

touch /var/lock/subsys/local
echo 1024 > /proc/sys/dev/rtc/max-user-freq
/usr/bin/setkeycodes e023 216
/usr/bin/setkeycodes e014 220
/usr/bin/setkeycodes e013 221
~/.xsession

Код: Выделить всё

/usr/X11R6/bin/xmodmap $HOME/.Xmodmap

Ответить