В начало → Gentoo и KDE → Способы переключения раскладок клавиатуры в KDE (3в1) |
Ссылка на оригинал: http://gentoo.blog.ru/3638115.html
Авторы: gentoo
С версии: 1.4
Дата: 18.12.2007
Читая Планету блогов о *NIX (нагло пиарю) наткнулся на несколько постов о настройке переключения раскладок клавиатуры. Кто-то советует править xorg.conf,
кто-то - поставить kkbswitch, самые пытливые заставляют завестись встроенное средство переключения раскладок в KDE. Сам использовал
в основном kkbswitch (сейчас включил встроенный kxkb), только в SuSE переключался средствами xorg.conf - не нашёл kkbswitch
в репах. Недостаток использования переключения из xorg.conf - раскладка для всех окон всегда одна. Встроенная переключалка
KDE работает неплохо, если настроить, но... в русской раскладке не срабатывают хоткеи (решено, спасибо комраду Fallen). У
kkbswitch изъянов мной замечено не было, с тремя языками работает (кого волнует этот вопрос). Кстати, он читает xorg.conf
и соответствующим образом настраивает себя, так что для начала потребуется настроить
xorg.conf
.
1. /etc/X11/xorg.conf
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:ctrl_shift_toggle" Option "XkbVariant" ",winkeys" Option "AutoRepeat" "250 30" EndSection
Добавление: Option "XkbOptions" "grp_led:caps"будет включать/выключать индикатор CapsLock'а при переключении языков.
2. Поставить kkbswitch. Берёт инфо о языках и клавишах переключения из xorg.conf. Пример для 3х языков:
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us,de,ru" Option "XkbOptions" "grp:ctrl_shift_toggle" Option "XkbVariant" ",,winkeys" Option "AutoRepeat" "250 30" EndSection
Перед winkeys в данном случае две запятые (т.к. русский язык теперь третий по счёту). Языки переключаются по-кругу по Ctrl+Shift.Один нюанс - в этом случае при трёх языках у меня почему-то не срабатывает переход в текстовую консоль по Ctrl+Alt+F1-6, хм.
3. Включение встроенного средства переключения раскладок клавиатуры KDE.
Достичь окончательного (?) просветления в этом вопросе помог пост "Переключение раскладок KDE в комиксах". В настройке переключения есть как минимум две неочевидные вещи. Рассмотрю два варианта: настройка для двух языков и для трёх, а в качестве кнопок переключения - Ctrl+Shift (как наиболее популярный вариант у иммигрантов с Windows).
а) Настройка для двух языков (Англ/Рус).
Центр Управления - Региональные и спец. возможности - Раскладка клавиатуры1я закладка (Раскладка):Добавляем две раскладки - Англ и Русскую, причём для русской ставим галку "Включить латинскую раскладку" (иначе в русской раскладке не будут работать хоткеи):
2я закладка (Параметры переключения):по вкусу
3я закладка (Параметры XKB):Выбираем "Ctrl+Shift переключает группу" и, ниже, можно выбрать "ScrollLock показывает альтернативную группу" (учтите, что хоткеи, в которых используется комбинация "Ctrl+Shift+some_key" больше не будут работать).
Первая неочевидная вещь заключается в том, что "Настройка переключения групп" на данной закладке - это отнюдь не переключатель раскладок (!), это переключатель групп языков в конкретной раскладке. Поэтому идём к пункту четыре:
4й шаг: Центр Управления - Региональные и спец. возможности - Комбинации клавиш:В самом низу нужно назначить клавиши для "Переключиться на следующую раскладку клавиатуры" - здесь и задаётся желаемая комбинация, в нашем случае - попробуем задать Ctrl+Shift. Для основной комбинации нажимаем левые Ctrl+Shift, для альтернативной - правые.
Скорей всего вы увидите "Ctrl+ISO_Prev_Group; Ctrl+ISO_Next_Group
", проверяем переключаются ли раскладки. Не переключаются? И у меня нет. В справке проблема описана так: "Если kxkb не переключает
с помощью комбинации клавиш, когда вы переключаетесь на какую либо раскладку, но переключает при использовании мыши, возможно
ваша раскладка не содержит клавишу, назначенную в комбинации".
Можно исправить вручную так:
$
nano ~/.kde/share/config/kdeglobals
Найти строку "Switch to Next Keyboard Layout=..." и изменить её на:
Switch to Next Keyboard Layout=Ctrl+Shift_L;Ctrl+Shift_R
(кстати, для варианта переключения по левой клавише "Win" такие ухищрения не будут нужны, и хоткеи "Ctrl+Shift+some_key" будут работать)
Идём снова в "Раскладка клавиатуры", отключаем и вночь включаем:
[x] Включить переключение раскладок клавиатуры
Всё, теперь должно работать.
б) Настройка для трёх языков (Англ/Рус/Укр). Настраивается практически аналогично:
1я закладка (Раскладка):
Добавляем три раскладки - Англ, Русскую, Украинскую. Для русской и украинской ставится галка "Включить латинскую раскладку" (здесь это важно не столько для отрабатывания хоткеев, сколько для удобства работы с тремя языками).
2я закладка (Параметры переключения):
пока не включаем опцию "Переключение между основными раскладками".
3я закладка (Параметры XKB):
То же самое что и для варианта двух раскладок, без каких-либо изменений (если настраиваете на три раскладки после того, как настраивали для двух, то, возможно придётся отключить и вновь включить здесь "Использовать переключатели XKB").
4й шаг:
$
nano ~/.kde/share/config/kdeglobals
Найти строку "Switch to Next Keyboard Layout=..." и изменить её на:
Switch to Next Keyboard Layout=Ctrl+Shift_L
(заметьте, альтернативная комбинация не задана)
Идём снова в "Раскладка клавиатуры", отключаем и вночь включаем:
[x] Включить переключение раскладок клавиатуры
Смотрим, что получилось. А получиться должно вот что:
При нажатии левых Ctrl+Shift изменяется текущая раскладка (и соотв. флажок в трее изменяется по кругу - Англ-Рус-Укр).
При нажатии правых Ctrl+Shift изменяется текущая группа раскладки (флажок остаётся прежним). Вот так выглядит структура раскладок и групп:
Английская раскладка
- англ. группа
Русская раскладка
- русская группа
- англ. группа
Украинская раскладка
- украинская группа
- англ. группа
То есть, переключившись левыми Ctrl+Shift на русскую раскладку, для набора английских букв не надо снова дважды жать левые Ctrl+Shift, можно правыми переключить текущую группу на английскую, набрать что требовалось, и правыми же переключиться опять на русский язык.
в) Настройка для трёх языков (Англ/Рус/Укр) с использованием опции "Основных раскладок".
Всё то же самое, только:
2я закладка (Параметры переключения):
Включаем опцию [x] "Переключение между основными раскладками".
Количество основных раскладок: 2
При таком варианте по левому Ctrl+Shift будет происходить переключение только между Англ и Рус раскладками. На третий язык (Укр) можно переключиться только выбрав его мышкой. Причём после выбора будет происходить переключение между Англ и Украинскими раскладками (для всей системы или только для текущего окна - в зависимости от настройки).
Вот, наверное, и всё.
Какой вариант удобнее - каждый решает для себя сам.
PS: в Fedora8 по-умолчанию могут отсутствовать флажки языков, можно взять из другого дистрибутива по адресу /usr/share/locale/l10n/ru/flag.png
(.../us/flag.png
), либо, цитирую: "Небольшое уточнение: в Fedora 8 есть флажки стран, только входят они в пакет wordtrans и находятся в /usr/share/wordtrans/flags/".
PPS: включение этого средства отключает настройки раскладок xorg.conf, при выключении для возрата к использованию настроек xorg.conf необходимо перезапустить X'сы.
Для переключения языков в текстовой консоли в Gentoo редактируется файл /etc/conf.d/keymaps
.
В начало → Gentoo и KDE → Способы переключения раскладок клавиатуры в KDE (3в1) |