HOWTO Добавление модели мультимедийной клавиатуры
Материал из Gentoo Linux Wiki
- Вернуться в раздел руководства
Для начала надо узнать коды мультимедийных клавиш, для этого используем утилиту xev (x11-apps/xev): из консоли запускаем xev и в открывшемся окне по очереди нажимаем все мультимедийные клавиши, параллельно смотрим в консоль и записываем коды клавиш.
| Code: пример вывода xev |
KeyPress event, serial 31, synthetic NO, window 0x2a00001,
root 0x119, subw 0x0, time 1275880387, (100,360), root:(514,380),
state 0x0, keycode 134 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0x2a00001,
root 0x119, subw 0x0, time 1275880591, (100,360), root:(514,380),
state 0x0, keycode 134 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
|
нас интересует keycode (в примере 134).
В файл /usr/share/X11/xkb/symbols/inet добавляем описание модели своей клавиатуры:
| Файл: /usr/share/X11/xkb/symbols/inet |
...
// Genius KB-16e Scroll
partial alphanumeric_keys
xkb_symbols "genius16s" {
// Describes the extra keys on a Genius KB-16e Scroll
include "inet(geniuscomfy)"
key <I10> { [ XF86AudioPrev ] };
key <I05> { [ XF86Word ] };
key <I06> { [ XF86Excel ] };
key <I07> { [ XF86ScrollClick ] };
key <I19> { [ XF86AudioNext ] };
};
...
|
Формат довольно простой: genius16s - кодовое название модели, include "inet(geniuscomfy)" - добавить клавиши ранее определённой модели geniuscomfy, XF86AudioPrev, XF86Word и т.п. - полный список определен в /usr/share/X11/XKeysymDB. Теперь что касается кодов клавиш: из полученного числа отнимите 128 и переведите в шестнадцатеричную систему исчисления. Для примера (134) в этом файле надо записывать как key <I06>.
Однако правильнее будет найти соответствие полученному с помощью xev коду клавиши в файле /usr/share/X11/xkb/keycodes/xfree86, так как некоторые шестнадцатеричные "аналоги" в этом файле закомментированы. Соответственно они работать не будут, и придется искать другой "аналог".
Переходим к редактированию файла /usr/share/X11/xkb/rules/xorg: находим определение мультимедийных клавиатур:
| Файл: /usr/share/X11/xkb/rules/xorg |
...
! $inetkbds = a4techKB21 a4techKBS8 acer_tm_800 acpi airkey azonaRF2300 \
brother \
...
|
добавляем в этот список кодовое название своей модели (в примере genius16s). Также добавляем описание в файлы /usr/share/X11/xkb/rules/xorg.lst и /usr/share/X11/xkb/rules/xorg.xml.
Всё, теперь можно добавлять модель своей клавиатуры в конфиге иксов (Option "XkbModel" "genius16e"), или, например, если используете KDE и kxkb, то просто выбираем модель в Центре управления -> Региональные и специальные возможности -> Раскладка клавиатуры.
