Действуем через KCC
Итак, мы впервые приступаем к настройке клавиатурных раскладок. Для чего запускаем KCC (Центр управления KDE) и следуем по пунктам меню: Региональные и специальные возможности->Раскладки клавиатуры. В правом фрейме окна KCC появляется панель с тремя закладками: Раскладка, Параметры переключения, Параметры XKB (рис. 16), которые мы и рассмотрим последовательно.
Рис. 16. Настройка раскладок клавиатуры через KCC
Как можно видеть из рисунка 16, в момент первого запуска KCC раскладки не активизированы. Чтобы сделать их доступными для загрузки, нужно в первую очередь отметить переключатель Включить раскладки клавиатуры. Что в данном случае следует понимать как подключение модуля kxkb. После чего из длинного списка слева можно выбрать требуемые раскладки, появляющиеся тем самым в списке задействованных справа (рис. 17).
Рис. 17. Выбор необходимых раскладок клавиатуры
В настоящей заметке я ограничусь рассмотрением самого простого случая - включения латинской ("Американской английской") и русской раскладок. Вариант множественных клавиатурных раскладок остается в качестве самостоятельного упражнения для заинтересованных лиц.
Для начала из выпадающего меню Модель клавиатуры при необходимости вместо умолчальной Стандартная PC 104 клавиши выбираем что-либо более подходящее имеющимся реалиям. Впрочем, в большинстве случаев обычных настольных клавиатур делать этого не следует: эмпирически замечено, что kxkb лучше всего работает именно со стандартной клавиатурой. И к перебору вариантов приходится прибегать только при наличии чего-либо уж очень экзотического (например, всяких своеобычных ноутбучных клавиатур).
Затем двойным щелчком мыши в левом списке добавляем к умолчальной раскладке Английская США (us) нужную нам - в данном случае это будет Русская (ru). А затем из нижнего выпадающего меню Вариант раскладки выбираем искомый - winkeys. При этом в "командной строке" в нижней части панели высвечиваются выбранные параметры. В нашем примере они будут выглядеть так:
setxkbmap -model pc104 -layout ru -variant winkeys
Далее переходим на к закладке Параметры переключения (рис. 18). Здесь, в соответствие с нормами современной русской (точнее, российской) орфографии, игнорируем переключатель, отвечающий за букву ё (хорошо это или плохо - другое дело, но в книгах и прочих печатных изданиях России принято именно так). Зато, при желании, ставим переключатель Отображать флаг страны. Который, встраиваясь в трей главной панели KDE, эмулирует индикатор текущей раскладки клавиатуры - в виде якобы американского и российского флагов, соответственно.
Рис. 18. Настройка параметров переключения раскладок
Правда, пользы от этого немного, и по двум причинам: а) я лично только при большом напряжении фантазии готов признать появившийся значок за какой-либо флаг вообще, а уж опознавать страну его принадлежности не взялся бы вообще; б) работает этот индикатор обычно только при переключении раскладки мышью, напрочь игнорируя (по крайней мере, у меня так бывало всегда) переключение по назначенной клавише. Так что, поскольку место в трее ограничено, а там и так уже собирается немало значков (и подчас более важных), флаг страны можно проигнорировать.
Теперь - Политика переключения, одна из причина, ради которой вообще стоит связываться с kxkb. По умолчанию отмечен вариант Глобально - то есть переключение раскладки имеет силу для всех открытых (и вновь открываемых) приложений (если кто помнит, так же было и в Windows 3.1). Что, как я уже говорил, не во всех случаях удобно. И потому можно выбрать одну из следующих возможностей - Приложение, когда переключение раскладки распространяется на данную программу (и все ее экземпляры, открытые в собственных окнах, как это принято в Windows, начиная с 95-й ее инкарнации), или Окно - в этом случае каждый экземпляр программы будет абсолютно автономен в отношении текущей раскладки.
После этого переходим к последней закладке - Параметры XKB (рис. 19). Здесь для начала нужно включить расширения xkb - я уже говорил, что собственно опции Иксового Xkb Extentions аннулируются при подключении kxkb (точнее, будут аннулированы в момент, когда мы нажмем кнопку Применить.
И их следует заменить аналогами из нашего KDE'шного модуля.
Рис. 19. Настройка переключателя раскладок, их индикатора и т.д.
Для чего перво-наперво отмечаем переключатель Сбросить старые параметры, под коими следует понимать опции Xkb, прописанные в файле /etc/X11/XF86Config (или /etc/X11/xorg.conf) - чтобы не мешались. Вообще-то, говорят, что это не обязательно (или обязательно не всегда). Но у меня kxkb нормально работало (после ручной доводки, о которой речь пойдет ниже) только при сбросе старых параметров.
Теперь последовательно выбираем а) клавишу-переключатель (или - комбинацию клавиш, вариантов тут - дюжины полторы, я предпочитаю традиционный CapsLock), б) светодиод для индикации альтернативной раскладки (например, тот же CapsLock) и в) при желании прочие опции (я их не использую и потому не разбирался с ними).
Вот и все - остается только нажать экранную кнопку Применить, чтобы сделанные настройки вступили в силу. И после этого с удивлением обнаружить, что выбранный переключатель ничего не переключает, светодиод - ничего не индицирует, и вообще переключение раскладок возможно только щелчком мышью на том самом флаге, который мы то ли встроили, то ли не встроили в трей... И возникают сакраментальные русские вопросы - кто виноват и что делать...
На первый отвечать я категорически отказываюсь - хотя подозреваю, что дело тут все же в некоторых недоработках, не столько даже самого модуля kxkb, сколько способа его интерактивной настройки. Странно только, что недоработки эти тянутся из одной версии KDE в другую, а воз и ныне там. Хотя некоторые положительные тенденции и просматриваются.
А на вопрос - что делать, - как обычно, можно ответить двояко: а) снести kxkb на фиг, или б) бороться до победы ручной правкой конфигурационного его файла.