Переключение раскладки

Довольно долгое время я использовать wm в качестве рабочего окружения. Сначала в иксах убрали нормальное определение раскладки, сделали формат xml, не понятный нормальному человеку, и загружаемый отдельным демоном. Поэтому в качестве средства переключения системной раскладки клавиатуры я использовал SCIM. Были свои проблемы, типа огнелис не определял нажатия клавиш при включении программы, но жить можно было. Преимущества обычно перевешивали:

  1. SCIM запоминает раскладку каждого окна (даже больше, каждой вкладки у Pidgin)
  2. Переключение настраивается непосредственно в окне программы, а не в системе.
  3. Можно одновременно использовать целый набор различных раскладок, переключаясь между ними по горячей клавише или меню.

При этом клавиатуру я настраивал, используя xmodmap. Меняя, к примеру CapsLock на Ctrl или что-нибудь в этом роде.

Когда установил Ubuntu 9.10 обратил внимание на то, что в пункте Система-Параметры присутствует пункт iBus Preferences. Естественно задался вопросом, что это такое???

(далее…)

XNeur

Сегодня увидел новость о том, что вышла новая версия XNeur и GXNeur.

Выпущен XNeur и gXNeur версии 0.9.5!

Список изменений:

  • Добавлена возможность блокировать клавишу КапсЛок.
  • Добавлена возможность исправлять пробелы со знаками препинания (отделять пробелами открывающую скобку от предыдущего слова, не отделять закрывающую скобку от предыдущего слов, убирать пробел перед и добавлять пробел после запятой и точки).
  • Добавлена возможность переключать раскладку по кругу (замена обычной переключалки).
  • Все действия происходят в момент отпускания клавиши, а не нажатия, как это принято в обычных Иксах.
  • Добавлена возможность использовать автодополнение. Программа запоминает слова, набираемые пользователем, и старается автоматически дополнить при наборе, например, как в ООо Writer.
  • Добавлена возможность конвертировать содержимое буфера обмена.
  • Добавлена возможность выводить всплывающие подсказки (как более красивый аналог OSD).
  • Множественные улучшения и исправления глюков.

(далее…)

Организация переключения раскладок в linux с xorg 1.5.3

Недавно обновил xorg, само собой пришлось настраивать переключение раскладок через создание правил udev…
Так как в последнее время очень часто работаю в emacs, задумался, как сделать так, чтобы системное переключение раскладки игнорировало бы emacs… Встретил два варианта решения – один переключение раскладки с помощью отдельной программы, которая контролирует активное окно. Программа нормально не заработала, пришлось искать другой вариант решения. И на блоге Вязового Павла нашел упоминание, что scim позволяет решить эту проблему…

Долго не решался попробовать, просто потому, что еще год назад пытался использовать scim в гноме, неудачно… В итоге решился… =)
Удаляем правила hal, которые создали для переключения раскладок…
Устанавливаем следующие пакеты: scim, scim-tables и scim-m17n, затем в ~/.xinitrc или в файл, отрабатываемый при запуске оконного менеджера прописываем следующие строки:

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
scim -d &

Для того, чтобы задать игнорирование переключение раскладки в отдельных приложениях нужно в ~/.Xdefaults прописать следующее (на примере emacs):

Emacs*useXIM:false

После перезагрузки иксов scim  вызывается нажатием Ctrl-Space, после чего появляется панель программки, которая показывает текущую раскладку и предоставляет возможность настроить программу. Чем мы и воспользуемся.

Принцип работы основан на том, что по умолчанию в системе уже используется определенный язык, который был выбран при установке и для его использования сторонних программ не нужно. А для включения второго языка просто запускается сам scim, который позволяет использовать массу языков, массу раскладок… Все это задается в настройках программы. Для начала выключаем все языки и раскладки и оставляем включенной только ru_kbd, после чего задаем нужную клавишу (или комбинацию клавиш) для включения программы, если дополнительных раскладок использовать не собираемся, то все остальные хоткеи выключаем. Задаем в программе основной язык – Russia… Собственно можно начинать пользоваться. =)

По умолчанию scim запоминает кодировку для каждого окна, при этом он становиться активен только в том случае, если фокус находиться в поле ввода. Все остальное время активна раскладка по умолчанию, в связи с чем те программы, что не понимают по русски начинают прекрасно работать…

Плюсы программы – не нужно трогать настройки клавы xorg, что в последнее время стало проблемой; не нужно использовать сторонние программы, которые запоминают раскладку каждого окна, все работает из коробки; встроенная индикация языка, при включении русского появляется маленькая панелька; отсутствие проблем с незнанием программами русской раскладки; умение программы игнорировать переключение раскладки в определенных программах.

Недостатки программы – замечено, что при использовании данного переключения в программе conkeror (форк огнелиса) при вводе на русском языке переопределяются некоторые клавиши, но это проблемы именно conkeror, больше этого не было замечено нигде.

Теперь становиться понятным, почему в Ubuntu включали scim по умолчанию. Жаль только не обьяснили, как ей пользоваться раньше, намного меньше проблем было бы… =)