Страница 1 из 1

Переопределение клавиш клавиатуры

Добавлено: 09 сен 2012, 12:29
glaz
Понадобилось переопределить клавиши на wifi клавиатуре, и озадачился вопросом.

определить код клавиши можно запустив:
KeyPress event, serial 33, synthetic NO, window 0x4000001,
root 0x101, subw 0x0, time 842874, (167,-15), root:(175,84),
state 0x10, keycode 133 (keysym 0x20, ), same_screen YES,
XKeysymToKeycode returns keycode: 65
XLookupString gives 1 bytes: (20) " "
XmbLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x4000001,
root 0x101, subw 0x0, time 843033, (167,-15), root:(175,84),
state 0x50, keycode 133 (keysym 0x20, ), same_screen YES,
XKeysymToKeycode returns keycode: 65
XLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False




вывести текущий список keymaps:

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

xmodmap -pke
keycode 8 =
keycode 9 = Escape NoSymbol Escape
keycode 10 = 1 exclam 1 exclam
keycode 11 = 2 at 2 quotedbl
keycode 12 = 3 numbersign 3 numerosign
keycode 13 = 4 dollar 4 semicolon
...


в корне хомяка создается файл .Xmodmap
где пере-определяем назначение клавиш в виде
keycode (number) = (key name)

в данном случае для примера создаем файл с одной строкой "keycode 133 = space" (это клавиша win на нее вешаем пробел в качестве примера)

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

echo "keycode 133 = space" > $HOME/.Xmodmap
принудительно загружаем для пробы:

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

xmodmap $HOME/.Xmodmap
проверяем все ли ок.

После 1-ой перезагрузки ubuntu спросит на счет загружать этот файл или нет(нужно добавить в список загружаемых)
и больше спрашивать не будет.

Re: Переопределение клавиш клавиатуры

Добавлено: 17 сен 2012, 14:07
Nick
А для чего менял?