Для ‘русифицированной’ клавиатуры вполне подойдет
Option 'XkbKeymap' 'xfree86(ru)'
К сожалению, после исключения CapsLock как переключателя рус/лат из русской раскладки (см. замечание в конце предыдущего раздела) получилось так, что ‘полная keymap’ для русского языка осталась вообще без какого-либо переключателя ‘по умолчанию’. Но вы можете добавить его вручную. Для этого придется найти в файле /keymap/xfree86 блок ‘ru’. И дописать в строчку xkb_symbols ссылку на описание соответствующего переключателя групп. Для CapsLock это будет – group(caps_toggle). То есть, строчка xkb_symbols будет выглядеть как
xkb_symbols {include 'en_US(pc105)+ru+group(caps_toggle)'};
Полный список возможных переключателей групп (т. е. возможных переключателей ‘рус/лат’) можно найти в файле /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'