среда, 9 июля 2008 г.

Настройка раскладки для пользователя

Это рекомендованный способ.
Во многих системахиспользуется файл ~/.Xkbmap для личных настроек.
например с таким содержимым:
-------------------------------------------------------------------------------------------------------------------
-layout en_US,ru(winkeys)
-option -option grp:ctrl_shift_toggle,grp_led:scroll
-------------------------------------------------------------------------------------------------------------------

Другие популярные клавиши для переключения: caps_toggle, alt_shift_toggle

В этом случае секция в xorg.conf будет выглядеть проще:

-------------------------------------------------------------------------------------------------------------------
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "en_US"
EndSection
-------------------------------------------------------------------------------------------------------------------

А каждый пользователь может менять русскую раскладку и переключатель для себя.

И ещё, удобно использовать именно en_US вместо us, т.к. это более полная раскладка.

Основные проблемы

  • Переключение происходит при нажатии, а не при отжатии установленной комбинации клавиш
  • Если для переключения раскладки задействована клавиша Shift, то ещё нужно отпускать и нажимать ещё раз, чтобы она сработала при вводе заглавной буквы
  • Нет однозначной взаимосвязи раскладки с языком -> приложение не может понять, на каком языке осуществляется ввод
  • Клавиши переключения и комбинации раскладок, которые можно выбрать в Иксах, не всегда пересекаются с консолью.
  • Способ переключения раскладки в Иксах не совпадает/конфликтует со способом переключения в менеджере окон (напр. KDE) – в KDE настройка идёт через XKB, но настраивается только данный сеанс через setxkbmap).

* Консольный (текстовый) режим и графический (Иксы) имеют независимые механизмы обработки клавиатурных событий: свои раскладки, клавиши переключения и пр.

Комментариев нет: