ENGLISH | KOI | WIN | ALT | ISO
Мои программы

Как с помощью 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, то каждом стартующем приложении "по умолчанию" будут переключаться две группы - "лат"/"правильный_рус". А для тех приложений, которым нужна "старая" раскладка можно правой кнопкой мыши выбрать "старую" русскую раскладку (она будет отображаться "советским" флажком). И в дальнейшем, в этом приложении тот же переключатель клавиатуры будут переключаться между "лат" и "старый_рус".