Как с помошью xxkb работать более чем с двумя
раскладками клавиатуры
Одной из проблем при руссификации "иксов" является то, что некоторые
приложения ("правильные") нормально вводят русские буквы, если в раскладке
клавиатуры они закодированы двубайтными кодами - Cyrillic_A, Cyrillic_BE
и т.д., а другие ("неправильные") понимают только однобайтные коды
(которые используются в xmodmap).
Попытки заставить все приложения работать с одной и той же раскладкой,
не всегда приводят к успеху.
При этом существует достаточно простое решение - держать в системе
две "русских" раскладки - для "правильных" и "неправильных" программ.
Неудобство в том, что вместе с латинской получается уже три раскладки и
переключаться между ними с помощью одной клавиши становится очень неудобно.
При использовнии "штатного средства" -
клавиатурного модуля XKB,
можно с помощью файлов конфигурации этого XKB загрузить сразу три раскладки
клавиатуры (вообще-то их может быть до 4-х). Но тогда клавиша-переключатель
будет иметь не два состояния (лат/рус), а циклически перебирать все три
раскладки.
В этом случае вам может облегчить жизнь программка xxkb.
- Предположим, что у вас уже есть подходящий файл конфигурации XKB
с тремя раскладками клавиатуры. Если его нет, то можно взять
здесь и
положить в X11R6/lib/X11/xkb/symbols (вам придется или переименовать
его в ru, или подправить соответствующие файлы конфигурации XKB).
- Если вы используете вышеуказанный файл, то "правильная" раскладка
(которая и должна использоваться "по умолчанию") в нем имеет номер группы 3,
а "неправильная" - 2.
- Исправьте в файле настроек xxkb строчку
XXkb.group.alt: 3
и, если вы хотите, назначение "флажков-иконок"
XXkb.mainwindow.xpm.2: su48.xpm
XXkb.mainwindow.xpm.3: ru48.xpm
XXkb.button.xpm.2: su48.xpm
XXkb.button.xpm.3: ru48.xpm
- Теперь, если у вас запущен xxkb, то каждом стартующем приложении
"по умолчанию" будут переключаться две группы - "лат"/"правильный_рус".
А для тех приложений, которым нужна "старая" раскладка можно правой кнопкой
мыши выбрать "старую" русскую раскладку (она будет отображаться "советским"
флажком). И в дальнейшем, в этом приложении тот же переключатель клавиатуры
будут переключаться между "лат" и "старый_рус".