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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
glaz
Кандидат
Сообщения: 57
Зарегистрирован: 06 фев 2012, 13:02
Репутация: 7
Контактная информация:

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

Сообщение 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 спросит на счет загружать этот файл или нет(нужно добавить в список загружаемых)
и больше спрашивать не будет.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А для чего менял?
Ответить

Вернуться в «LinuxCNC»