Основы работы в ОС Linux



         

Несколько практических рекомендаций по настройке модуля XKB - часть 2


Полный список возможных переключателей групп (т. е. возможных переключателей "рус/лат") можно найти в файле /usr/X11R6//lib/X11/xkb/symbols/group (проведите в этом файле поиск по ключевому слову xkb_symbols).

Теперь рассмотрим случай, когда для задания конфигурации клавиатуры используется третий способ - через "правила", "модель", "схему" и т. д. Как было сказано выше:

  • название "правил" (rules) соответствует "архитектуре" (xfree86);
  • "модель" (model) соответствует типу клавиатуры (pc101, pc102 и т.п.);
  • "схема" (layout) отражает "язык" (ru).

Поэтому, подходящая конфигурация будет выглядеть примерно так:

Option "XkbRules" "xfree86" Option "XkbModel" "pc104" Option "XkbLayout" "ru"

С помощью строки XkbOptions можно подобрать "поведение" управляющих клавиш. Возможные значения XkbOptions и их смысл можно подсмотреть в файле /rules/xfree86.lst в той части, которая начинается строкой "! option".

Не забудьте, что, как и в предыдущем случае, надо явно выбрать переключатель групп. Для CapsLock это будет

Option "XkbOptions" "grp:caps_toggle"

И, наконец, рассмотрим первый способ - описание отдельных компонентов настройки (keycodes, compat, types, symbols, geometry).

Если вы не знаете с чего начать, подсмотрите соответствующий набор в keymap. Или попробуйте "вычислить" его через rules/model/layout. Чаще всего подойдут следующие значения:

  • для keycodes выбрать файл xfree86;
  • для types и compat подойдут файлы default ("по умолчанию") или complete ("полная");
  • geometry, скорее всего, "pc", а количество кнопок задается названием блока в файле pc - pc(pc101), pc(pc102), pc(pc104). Полный список "геометрий" имеется в файле /usr/X11R6/lib/X11/xkb/geometry.dir.

А вот на symbols обратите особое внимание. Файл symbols/ru описывает только "буквенные" клавиши. Если вы укажете только его, то у вас не будут работать все остальные кнопки (включая Enter, Shift/Ctrl/Alt, F1-F12 и т. д.). Поэтому symbols должен состоять по крайней мере из двух файлов - en_US(pc101) (в скобках - тип клавиатуры) и, собственно, ru. Полный список symbols - в файле /usr/X11R6/lib/X11/xkb/symbols.dir.

Сюда же надо добавить и описание подходящего "переключателя рус/лат" (как уже говорилось, их перечень - в файле symbols/group).

Для первого метода список может выглядеть так

Options "XkbKeycodes" "xfree86" Options "XkbTypes" "complete" Options "XkbCompat" "complete" Options "XkbSymbols" "en_US(pc101)+ru+group(alt_shift_toggle)" Options "XkbGeometry" "pc(pc101)"

Если вам хочется задать дополнительные изменения "поведения" управляющих клавиш (то, что в третьем методе задается XkbOptions), то подсмотрите подходящую "добавку" в rules/xfree86.lst и "приплюсуйте" ее в строчку XkbSymbols. Например,

XkbSymbols "en_US(pc101)+ru+group(shift_toggle)+ctrl(ctrl_ac)"

На этом мы ограничим описание методов настройки клавиатуры, а точнее - настройки модуля XKB. Если вы хотите разобраться с этим детальнее, то обратитесь к исходному материалу И. Паскаля http://www.mgul.ac.ru/~t-alex/Linux/X-Keyboard/index.htm.




Содержание  Назад  Вперед