Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Windows-раскладка клавиатуры для ASP Linux 7.1.

Дмитрий А. Смирнов

После установки ASP Linux у меня значения некоторых клавиш в русском режиме не соответствовали тому, что на них изображено. При нажатии комбинации клавиш Shift+7 вместо знака вопроса выводилась точка, при Shift+6 - запятая и т.д. Всё дело в том, что так ведёт себя старая раскладка, которая была ещё до распространения Windows. Сама раскладка для X-ов прописана в файле /etc/X11/XF86Config-4 для XFree86 версии 4.x.x или /etc/X11/XF86Config для XFree86 3.x.x в разделе "Keyboard". Узнать свою версию XFree86 можно, введя XFree86 -version с командной строки.

Изначально, при установке ASP Linux с выбранной русской раскладкой, там есть строки, подобные:

Section "Keyboard"
	Protocol	"Standard"
	XkbModel	"pc101"
	XkbRules	"xfree86"
	XkbLayout	"ru"
	XkbOptions	"grp:alt_shift_toggle"
EndSection

Там также допускается параметр XkbVariant. Дело в том, что для одного языка могут быть несколько вариантов раскладки. Эти варианты перечислены в файлах раскладок в каталоге /usr/X11R6/lib/X11/xkb/symbols/ . Так файл ru соответствует русской раскладке, для неё есть варианты "basic" и "winkeys" (см. блоки xkb_symbols "basic" и xkb_symbols "winkeys" в файле ru).

Так вот: для того, чтобы выбрать Windows-раскладку, нужно всего лишь в раздел Keyboard файла /etc/X11/XF86Config-4 или /etc/X11/XF86Config добавить строку XkbVariant      "winkeys". Вот кусок из моего изменённого XF86Config-4:

Section "Keyboard"
	Protocol	"Standard"
	XkbModel	"pc101"
	XkbRules	"xfree86"
	XkbLayout	"ru"
        XkbVariant      "winkeys"
	XkbOptions	"grp:alt_shift_toggle"
EndSection

После этого изменения нужно выйти из оконного менеджера в GDM и войти снова. Всё должно работать.

Источник - файл-пример /usr/X11R6/lib/X11/XF86Config.eg . Там много комментариев, так что это отличное дополнение к man XF86Config .