Не работают клавиатура и мышь в xorg-server 1.5 и старше
x11-base/server
версий 1.5-1.7 может работать через HAL (с USE="hal"
, естественно). Эта статья посвящена настройке именно такого варианта, более новые версии xorg-server работают через udev.
Пример для 3х языков (английский, русский, немецкий) и переключение по ctrl+shift.
emerge -vuDN --with-bdeps y world
Помните, что hal должен быть запущен для работы с Xorg:
/etc/init.d/hald start
Создайте файл /etc/hal/fdi/policy/10-x11-input.fdi следующего содержания:
<?xml version="1.0" encoding="utf-8"?> <deviceinfo version="0.2"> <match key="info.capabilities" contains="input.keys"> <merge key="input.x11_options.XkbModel" type="string">evdev</merge> <merge key="input.x11_options.XkbLayout" type="string">us,ru(winkeys),de</merge> <merge key="input.x11_options.XkbOptions" type="strlist">grp:ctrl_shift_toggle</merge> </match> </deviceinfo>
Уберите из xorg.conf все упоминания о клавиатуре и мыши:
- удалите либо закомментируйте соответствующие разделы Section "InputDevice"
- удалите либо закомментируйте указания "InputDevice" из раздела Section "ServerLayout"
Добавьте в xorg.conf новый раздел
Section "ServerFlags" Option "AllowEmptyInput" "True" EndSection
Добавил ArtSh:
Если Вы используете KDE, в настройке переключателя раскладок KDE следует указать модель клавиатуры как "управляемая evdev"
Добавил IceBerk:
не забудьте добавить в make.conf
INPUT_DEVICES="evdev"
Добавил evadim:
для тех кого не устраивает новый метод, есть возможность настроить Х-сервер "по-старому"
Section "ServerFlags" .............. Option "AllowEmptyInput" "False" Option "AutoAddDevices" "False" .............. EndSection
хотя необходима только вторая опция, чтобы не оказаться в без устройств ввода и возможности выключить Х-сервер лучше поставить обе.
Если всё верно настроено, но ничего не работает, как будто Hal не видит настроек, можно попробовать удалить
/var/cache/hald/fdi-cache
и перезапустить hald
Так же небесполезно прочитать официальное руководство по обновлению xorg
Также нужно проследить, чтобы
Также нужно проследить, чтобы в файле xorg.conf после последней строки (это обычно "EndSection") была хотя бы одна пустая строка, иначе будет ругаться на ошибку в синтаксисе файла.