[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/