Для указания раскладки и клавиш переключения рекомендуется использовать файл /.Xkbmap, как описано в разделе «Настройка раскладки для пользователя».
Настройка раскладки для пользователя
Это рекомендованный способ.
Во многих системах используется файл ~/.Xkbmap для личных настроек.
Например с таким содержимым:
Другие популярные клавиши для переключения: caps_toggle, alt_shift_toggle
В этом случае секция в xorg.conf будет выглядеть проще:
А каждый пользователь может менять русскую раскладку и переключатель для себя.
И ещё, удобно использовать именно en_US вместо us, т.к. это более полная раскладка.
Основные проблемы
Переключение происходит при нажатии, а не при отжатии установленной комбинации клавиш
Если для переключения раскладки задействована клавиша Shift, то ещё нужно отпускать и нажимать ещё раз, чтобы она сработала при вводе заглавной буквы
Нет однозначной взаимосвязи раскладки с языком -> приложение не может понять, на каком языке осуществляется ввод
Клавиши переключения и комбинации раскладок, которые можно выбрать в Иксах, не всегда пересекаются с консолью.
Способ переключения раскладки в Иксах не совпадает/конфликтует со способом переключения в менеджере окон (напр. KDE) – в KDE настройка идёт через XKB, но настраивается только данный сеанс через setxkbmap).
* Консольный (текстовый) режим и графический (Иксы) имеют независимые механизмы обработки клавиатурных событий: свои раскладки, клавиши переключения и пр.
Ситуация в xorg
В старых Х-ах использовалась одновременно только одна раскладка. Но, в ней было понятие групп. Это позволяло в пределах одного файла описать несколько наборов символов в нескольких группах. При полном и правильном описании в пределах этого файла можно было задать только четыре раскладки для клавиатуры. Перед переходом на Х-орг, Паскаль, возможно не в одиночку, поменял схему работы с раскладками для большей гибкости. Теперь в файле должно быть описание только одной языковой раскладки, а нужный набор языков должен обеспечиваться их перечислением в конфиге Х-ов. Сам я больше трёх одновременно не держал прописанными. А название переключателя, думаю, просто не стали менять.
Andriy Dobrovol's'kii
Настройка раскладки в Иксах
Не рекомендуется использовать.
Для использования русской и английской раскладок по Ctrl+Shift необходимо в файле /etc/X11/xorg.conf иметь секцию следующего содержания:
Для использования английской, русской и украинской раскладок по Ctrl+Shift необходимо в файле /etc/X11/xorg.conf иметь секцию следующего содержания (пример):
При этом не используется в качестве индикатора переключения светодиод “scroll” на клавиатуре.
В качестве варианта раскладок используется «виндовс-подобный» вариант (winkeys) и размещение букв совпадает с привычным.
Есть возможность использовать старый, DOS-вариант (base) и другие.
KDE
Не рекомендуется использовать.
Для переключения раскладок в KDE нет необходимости править системные файлы. Однако есть небольшой нюанс: при использовании в качестве переключателя Ctrl+Shift, вы получаете неработающий индикатор и невозможность использования комбинаций клавиш с Ctrl+Shift (в том числе и выделение текста стрелками пословно). Наилучшим решением будет использование в качестве клавиши переключения раскладки левой кнопки Win.
Перейдите в раздел К-Меню -> Центр управления -> Региональные и специальные возможности -> Раскладка клавиатуры
Добавляем в используемые раскладки «Английская (США)"
Добавляем в используемые раскладки «Русская» и выделяем её в списке
выбираем “winkeys” в «Вариант раскладки»
Включаем флажок «Включить латинскую раскладку»
Переходим на вкладку «Параметры XKB»
Включаем флажки «Использовать переключатели XKB» и «Игнорировать параметры системы»
В списке включаем следующие параметры:
Левая клавиша Win переключает группу
Правая клавиша Alt переключает группу при нажатии
ScrollLock показывает альт. группу
Нажимаем кнопку «Применить»
Переходим в раздел Центра управления «Комбинации клавиш»
Выбираем пункт «Переключиться на следующую раскладку клавиатуры»
Под списком нажимаем на кнопку справа от пункта «Другая» и на клавиатуре нажимаем левую клавишу Win
Нажимаем кнопку «Применить»
IceWM
Для «легких» WM, которые не имеют собственного индикатора раскладок, рекомендуется использовать Xxkb,
который использует системные настройки и имеет ряд дополнительных возможностей.
Пример системного файла настроек /etc/X11/app-defaults/XXkb
При этом три раскладки будут переключаться по кругу, индикатор
«привешивается» в верхнем-правом углу каждого окна и действует
только на это окно. Положение индикатора управляется строками:
XXkb.button.geometry: 15x15–75+7
XXkb.button.gravity: NorthEast
Для того, чтобы при старте IceWM, индикатор (и другие программы) запускался автоматически, необходимо создать файл /.icewm/startup (chmod 700 /.icewm/startup)
Известные недоработки: При запуске приложений, которые вешаются в tray, появляется иконка xxkb, которая частично перекрывает часы .
Так же можно настроить xxkb так, чтоб для некоторых приложений иконка не появлялась,
и так же предварительный выбор языка (например, русский для Psi).