Введение в POSIX'ивизм

       

Переходим к мануальной терапии


Возможно, вам покажется что овчинка (возможность независимого переключения раскладок в разных программах) не стоит выделки (ручной правки конфига). И тогда проще всего отказаться от kxkb. Только не нужно пытаться делать это через Центр управления - отключая раскладки клавиатуры и расширения Xkb - провозитесь вы долго, а результата, скорее всего, не будет ни малейшего.

И потому самое время обратиться к каталогу $HOME/.kde/share/config - помните, в прошлом разделе я говорил, что он нам еще понадобится. А потом отыскать в нем файл $HOME/.kde/share/config/kxkbrc - конфиг модуля kxkb, просто-напросто удалить его (или переименовать), и перезапустить сессию KDE. По первости среда эта выругается на отсутствие удаленного файла, но Иксовое переключение раскладок придет в норму, а при следующем старте KDE даже и ругани уже не последует...

Тем не менее, первое решение - это капитуляция, а русские, как известно, не задаются (особенно русские POSIX'ивисты). Трудностями их тем более не испугать, так что обращаемся ко второму варианту.

Очевидно, что правке подлежит тот же самый файл $HOME/.kde/share/config/kxkbrc. Открываем его в любом текстовом редакторе и внимательно изучаем результаты наших предыдущих действий, воплощенные в опции конфигурации. А выглядит они примерно так:

[Layout] Additional=ru EnableXkbOptions=true Includes= Layout=us Model=pc104 Options=grp_led:caps,grp:caps_toggle ResetOldOptions=true ShowFlag=true ShowSingle=false StickySwitching=false StickySwitchingDepth=1 SwitchMode=WinClass Use=true Variants=us(intl),ru(winkeys)

Не смотря на некоторую бессистемность списка опций, на первый взгляд в этом файле все нормально: есть и строка, предписывающая использовать раскладки клавиатуры (Use=true), модель клавиатуры (Model=pc104), и добавленная русская раскладка (Additional=ru) вместе с определением варианта для нее (Variants=us(intl),ru(winkeys)), и включение аналогов Xkb (EnableXkbOptions=true), и сброс Иксовых настроек (ResetOldOptions=true), и демонстрация флага (ShowFlag=true), и назначение клавиши-переключателя вкупе с индикацией альтернативной раскладки светодиодом (Options=grp_led:caps,grp:caps_toggle), и привязка раскладки к приложению, как в Windows (SwitchMode=WinClass).
И, тем не менее, никакого переключения не происходит...

И тут мы видим строку Layout=us. Так вот где таилась погибель kxkb - переключать-то не на что! И действительно, стоит только изменить ее таким образом:

Layout=us,ru(winkeys)

перезапустить KDE-сессию - и все приходит в норму. Правда, как я уже говорил, на флаг-индикатор переключение раскладки назначенной клавишей никакого влияния не оказывает. Но по мне - так и светодиода для индикации русской раскладки вполне достаточно.

Обращаю внимание, что в строке Layout для русской раскладки нужно обязательно в скобках указать - winkeys, иначе то, что мы определили вариант раскладки в одноименной строке, не возымеет никакого действия.

Вот и все. Единственное, что еще следует помнить - после ручной доводки не следует перенастраивать клавиатурную раскладку через KCC - результат может быть непредсказуемым, и сеанс мануальной терапии придется повторить. А в остальном, прекрасная маркиза, все не просто хорошо, а так даже замечательно.




Содержание раздела