Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:olpc:misc:keyboard_on_build581

Xorg и клавиатура внутри build 581

Страница устарела. Прошивка build 581 больше не поставляется в составе XO.

Описание проблемы

Настроить русскую раскладку клавиатуры невозможно, руководствуясь указаниями в olpc wiki, и Опыт обновления системы до build 703. Во первых имеем совершенно другую конфигурацию xorg.conf, другой драйвер клавиатуры.. Основные симптомы: изменения настроек явно воспринимаются сервером (что-то происходит), но либо не имеют нужного эффекта, либо эффект получается странным, типа игнорирования клавиш Ctrl, Shift и прочих..

Что внутри

Исходно файл конфигурации /etc/X11/xorg.conf в части клиавитур выглядит так:

# Xorg configuration file for OLPC

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "Screen0" 0 0
	InputDevice    "fake" "SendCoreEvents"
        InputDevice    "GS" "CorePointer"
        InputDevice    "PT" "AlwaysCore"
        InputDevice    "ATKbd" "CoreKeyboard"
        InputDevice    "Keyboard" "AlwaysCore"
        InputDevice    "Mouse" "AlwaysCore"
EndSection


Section "InputDevice"
        Identifier  "ATKbd"
        Driver      "evdev"
        
        Option      "Name"          "AT Translated Set 2 keyboard"
        Option      "evBits"        "+1"
        Option      "keyBits"       "~1-255 ~352-511"
        Option      "Pass"          "2"

	Option      "XkbModel"      "olpc"
	Option      "XkbLayout"     "es"
        Option      "XkbVariant"     "olpc"
EndSection

Section "InputDevice"
        Identifier  "Keyboard"
        Driver      "evdev"
        
        Option      "evBits"        "+1"
        Option      "keyBits"       "~1-115 ~117-255"
        Option      "Pass"          "3"
EndSection

Секция ServerLayout указывает на две клавиатуры

  • InputDevice “ATKbd” “CoreKeyboard”
  • InputDevice “Keyboard” “AlwaysCore”

Причем основная клавиатура ATKbd использует драйвер evdev. Выбрасывание секции InputDevice/Кeyboard приводит к тому что в X исчезает клавиатура, подключенная по USB.

Прямой путь

Замена строк в секции InputDevice/ATKbd

 Option      "XkbModel"      "olpc"
 Option      "XkbLayout"     "es"
 Option      "XkbVariant"     "olpc"

на

 Option      "XkbModel"      "olpc"
 Option      "XkbLayout"     "ru"
 Option      "XkbVariant"     "olpc"

Результат: в Х раскладка латинская, Ctrl-alt-F1 не работает.

Параметры evdev
  • Option “evBits” “+1” - события нажатия клавиш, согласно /usr/include/linux/input.h
#define EV_KEY                  0x01
  • Option “keyBits” “~1-255 ~352-511” –

FIXME ээээ поставил качаться ядро с git:dev.laptop.org/ * Option “Pass” “2” - для нас не должно быть важно, порядок сканирования оборудования… К === Ссылки по теме === * http://www.x.org/archive/X11R6.8.0/doc/xorg.conf.5.html * http://man-wiki.net/index.php/4:evdev * http://fedoraproject.org/wiki/OLPC/Projects

etc/common_activities/olpc/misc/keyboard_on_build581.txt · Last modified: 2008/09/06 14:42 by kuv