[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Русская раскладка для X
> Черновская раскладка "ru", которая была в XFree до 3.3.5,
> предусматривала переключатель групп по умолчанию - Caps Lock, то есть ею
> хоть как-то можно было пользоваться. Теперь такого переключателя нет, и
> это приводит к тому, что в свежепоставленных дистрибутивах, кроме наших
> доморощенных, пользователь должен руками лезть в XF86Config и добавлять
> строку "XkbOptions "grp:тра-ля-ля". Считаю такую ситуацию абсолютно
> неправильной - пользователь не должен сразу лезть в этот файл, особенно
> если учесть что после перезапуска любого конфигуратора туда придется
> лезть снова. Я с трудом представляю, какими аргументами можжно убедить
> редхатовцев научить установщик, чтобы он добавлял переключатель групп,
> если выбрана русская или украинская раскладка. Наверное, намного проще
> будет послать им патч самих раскладок, который назначит какой-нибудь
> переключатель по умолчанию. Чтобы исчезли наконец крики в ru.linux,
> почему русские вводятся в X только при нажатом AltGr. Кстати, поскольку
> у меня на ноутбуке нету правого контрола и альта, там я успешно
> использую caps как переключатель.
caps в "ru" очень плохо - выкашивать трудней, чем добавлять.
Не надо слать патч в RH. Зато, по крайне мере, в RH6.2
в /usr/X11R6/lib/X11/xinit/xinitrc есть строки:
----------------------------------------------------------
userxkbmap=$HOME/.Xkbmap
sysxkbmap=/etc/X11/xinit/Xkbmap
...
# merge in keymaps
if [ -f "$sysxkbmap" ]; then
setxkbmap `cat "$sysxkbmap"`
XKB_IN_USE=yes
fi
if [ -f "$userxkbmap" ]; then
setxkbmap `cat "$userxkbmap"`
XKB_IN_USE=yes
fi
...
# run all system xinitrc shell scripts.
for i in /etc/X11/xinit/xinitrc.d/* ; do
if [ -x "$i" ]; then
. "$i"
fi
done
----------------------------------------------------------
Как видно, есть поле для полного маневра.
А в XF86Config достаточно:
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "en"
И всякая информация об ru & grp:... в нем излишне, т.к. каждый
пользователь должен иметь возможность ее сменить.
Наверно будет полезно создать свою программу в /etc/X11/xinit/xinitrc.d/
которая создает в $HOME/.Xkbmap.$LANG (если такого нет)
с некоторым default и запускает setxkbmap.
--
С наилучшими пожеланиями, Евгений Бырганов.
Best regards, Eugene Byrganov.
mailto:E.B.Byrganov@inp.nsk.su
work - http://www.inp.nsk.su/