Здравствуйте уважаемые.
Поставил я себе FreeBSD 4.9 + WindowMaker. Стал разбираться с преключением раскладок клавиатуры... Как сделать в лоб и без труда - понятно. У меня получилось в /etc/XF86Config следующее
Identifier "Keyboard1"
Driver "Keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbKeymap" "xfree86(ru)"
Option "XkbModel" "microsoft"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:ctrl_shift_toggle"
Как бы все работает. Но вот захотелось поизвращаться... Почитал дальше и обнаружил еще некоторые возможности которые мне очень понравились. Например, временное переключение языков при удержании клавиши, а также индикация языка. В доке написано, что можно экспериментировать не выходя из иксов через setxkbmap. Я написал следующую команду:
setxkbmap -rules xfree86 -model microsoft -layout "us,ru" -option "grp:ctrl_shift_toggle" -option "grp:lwin_switch" -option "grp_led:scroll"
Результат превзошел все мои пожелания. Ctrl-shift - постоянное переключение языков. Левая летающая форточка - временное переключение языков (кстати, обалденно удобная функция - чего не хватало в Винде). А индикатор скролла загорался при переключении на родной русский язык.
Но когда я попытался реализовать это все в файле /etc/XF86Config, то у меня ничего не вышло. Как я не извращался. Все мои потуги сводились к тому что или Ctrl-Shift переключал языки или нет. Индикации я так и не увидел. А левая форточка вообще не реагировала ни на что.
Подскажите, как прописать указанную выше конфигурацию? Очень нужно!
Судя по всему помочь никто не может. Поэтому извращения продолжаются. Решение проблемы нашел прописывании команды
setxkbmap -rules xfree86 -model microsoft -layout "us,ru" -option "grp:ctrl_shift_toggle" -option "grp:lwin_switch" -option "grp_led:scroll"
в файле ~HOME/.xinitrc. Сейчас он выглядит вот так
xterm &
setxkbmap -rules xfree86 -model microsoft -layout "us,ru" -option "grp:ctrl_shift_toggle" -option "grp:lwin_switch" -option "grp_led:scroll"
[ ! -d $HOME/GNUstep/Library/WindowMaker ] && /usr/X11R6/bin/wmaker.inst
exec /usr/X11R6/bin/wmaker
Причем именное в этой последовательности. При запуске setxkbmap перед xterm окошко с xterm будет запускаться в левом верхнем углу. А у меня там кнопочки висят :)
Теперь осталось решить небольшую проблемку. Она не оказывает никакого влияния, но глаза мозолит. При новом .xinitrc после выхода из Х11 появляется строчка:
xterm: fatal IO error 32 (Broken pipe) or KillClient on X server ":0.0"
Надеюсь сейчас то, найдутся грамотные люди и хотя бы намекнут где копать, чтоб избавится от этого?
>Надеюсь сейчас то, найдутся грамотные люди и хотя бы намекнут где копать,
>чтоб избавится от этого?
НУ как... ЗАкрывать xterm перед тем, как положить XServer :)
Option "XkbOptions" "grp:ctrl_shift_toggle,grp:lwin_switch,grp_led:scroll"
>Option "XkbOptions" "grp:ctrl_shift_toggle,grp:lwin_switch,grp_led:scroll"
Ты это сам проверял? Или где нашел? Не знаю как у тебя, а у меня это не сработало!
Что ж делать то?... Уже любопытство разбирать стало...