On 2012-06-30, Sergej Kochnev wrote: > On Sat, 30 Jun 2012 00:34:02 +0300 > Oleksandr Gavenko <gaven...@gmail.com> wrote: > >>Я хочу безусловное переключение (не модальное) в желаемую раскладку. > > Могу предложить простое решение в виде kbdd. Ему можно отправить номер > group через D-Bus.
Пока принял это решение. ================================================================ После чтения howto и стандартов пришел к выводу что настраивать через xkbcomp сложно. Для желающих безусловного переключения есть рецепт в статье: http://xgu.ru/download/sash-kan-notes.pdf но из-за Emacs и желания переключать по Win+1/Win+2 (или Hyper+1...) нужно еще было погружаться... ================================================================ Внизу привожу изменения, которые я зделал для работы с kbdd. В предыдущем случае не устраиволо: * иногда xmodmap не отрабатывал коректно (при интенсивном использовании клавиатуры в момент переключения раскладки) * Fvwm создавал 3 процесса (bash, setxkbmap, xmodmap), в теории должно быть ноль. Пока используется shell и dbus-send, но позжее я надеюсь с помощью FvwmPerl получить постоянно работающий процесс, что бы закрыть вопрос производительности. kbdd минималистичен, не имеет файлов конфирурации и сохраняет раскладку для каждого окна отдельно (т.е. если вызовете диалог из приложения - то он будет иметь первую раскладку, что может отличаться от раскладки в приложении). ================================================================ Собственно имеется еще ряд проектов, связанных с переключение раскладки. Я привожу эту информацию что бы люди "забыли" о xxkb и взглянули на scim и ibus. Просто по инерции "бывалые" рекомендуют до сих пор xxkb, по памяти как они побовали этот проект еще в 2001... xxkb: https://sourceforge.net/projects/xxkb/ Дохлый проект, баги не фиксяться с 2007, хотя написан замечательным разработчиком, чие Howto приводится в качестве документации на Xorg, последний релиз сделан сторонними разработчиками и есть жалобы что они чего то там поломали. "Конфликтует" с множеством оконных менежеров (из различных источников Интернета). Мне не удалось его запустить, ругался на файлы настроек. С такой ошибкой есть баги на sourceforge. scim: http://www.scim-im.org/ (Smart Common Input Method) скорее всего очень мощный проект, т.к. позволяет обходить ограничения существующий протоколов X для некоторых "сложных" языков (корейский, японский). Вместе с мощностью идет и сложножность в изучении. У меня Root окно перестало получать клики мышки и я отказался от дальнейшего рассмотрения, (вдруг где то проще?)... ibus: http://code.google.com/p/ibus/ (Intelligent Input Bus for Linux / Unix OS). Ничего не скажу, т.к. kbdd уже заработал. ================================================================ diff -r 3009c836ab8b -r f5c5a51bc45f .bashrc --- a/.bashrc Fri Jul 06 19:13:56 2012 +0300 +++ b/.bashrc Fri Jul 06 19:29:26 2012 +0300 @@ -115,8 +115,8 @@ # Fix lang under X. -alias en="setxkbmap -layout us; xmodmap ~/.xmodmaprc" -alias ут="setxkbmap -layout us; xmodmap ~/.xmodmaprc" +alias en="dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:0" +alias ут="dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:0" diff -r 3009c836ab8b -r f5c5a51bc45f .fvwm/config --- a/.fvwm/config Fri Jul 06 19:13:56 2012 +0300 +++ b/.fvwm/config Fri Jul 06 19:29:26 2012 +0300 @@ -243,9 +243,9 @@ # Switch input method. -Key 1 A 3 Exec setxkbmap -layout us; xmodmap ~/.xmodmaprc -Key 2 A 3 Exec setxkbmap -layout ru,us; xmodmap ~/.xmodmaprc -Key 3 A 3 Exec setxkbmap -layout ua,us; xmodmap ~/.xmodmaprc +Key 1 A 3 Exec dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:0 +Key 2 A 3 Exec dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:1 +Key 3 A 3 Exec dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:2 diff -r 3009c836ab8b -r f5c5a51bc45f .xinitrc --- a/.xinitrc Fri Jul 06 19:13:56 2012 +0300 +++ b/.xinitrc Fri Jul 06 19:29:26 2012 +0300 @@ -15,6 +15,8 @@ # Under Cygwin I prefer '-multiwindow' option, so it needn't to setup WM. if [[ -z $COMSPEC ]]; then + setxkbmap us,ru,ua + kbdd & if [[ -f ~/.xmodmaprc ]]; then xmodmap ~/.xmodmaprc fi -- Best regards! -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87liiwn6ez....@desktop.home.int