Boga 25.04.2011 22:05

Есть проблема!Xorg, устройства ввода

Граждане, после обновления Арча перестали подхватываться мышь и клавиатура. Причём, уже подключенные устройства. После перетыка работает корректно (что, кст, видно в логах).
xf86-input-* установлены, dbus в DAEMONS прописан.
/etc/X11/xorg.conf
/etc/X11/xorg.conf.d/10-evdev.conf
/var/log/Xorg.0.log

Есть подозрение, что это англичанка гадитudev делает своё гадкое дело ):


Тэги: udev X server xorg ввод клавиатура мышь
+ 2 -
Похожие Поделиться

SIO 26.04.2011 01:23 #
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621776
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621038
и далее. Уверен, что у арча тоже есть свой багтрекер.
dront78 26.04.2011 09:00 #
все на evdev!
sudo pacman -Rn xf86-input-mouse
sudo pacman -Rn xf86-input-keyboard
Boga 26.04.2011 14:11 #
Section "InputClass"
Identifier "mouse-all"
Driver "evdev"
Option "MatchDevicePath" "/dev/input/event*
MatchIsPointer "on"
EndSection

Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle,grp:caps_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
Option "MatchDevicePath" "/dev/input/event*
MatchIsKeyboard "on"
EndSection

ЧЯДНТ?
greynix 26.04.2011 14:53 #
Возможно поможет данная инструкция взятая с gentoo.ru, я настраивал именно по ней обе системы и gentoo и arch.
"...
И так. как всё это делается.
После уствновки у вас уже есть /etc/X11/xorg.conf.в/10-evdev.conf с которым, в принципе, всё работает.

Если кого-то напрягает, что xorg цепляет вами уже настроенные в других местах кнопочки вне устройства клавы (например, с помощью универсальных acpid и actkbd), то можно явно указать в InputClass, что цеплять, а что нет.
0. Запускаем startx -- :1 c дефолтным /etc/X11/xorg.conf.в/10-evdev.conf после того, как сервер полностью загрузился, его можно вырубать - нам нужны только логи. Убираем /etc/X11/xorg.conf.в/10-evdev.conf из этой диры, или переименовываем в 10-evdev чтоб не мешал в дальнейшем.
1. Смотрим $ grep "config/udev: Adding input device" /var/log/Xorg.1.log между выражением для грепа и скобочками вы увидите имена девайсов, с ними и будем работать (ну и с путями тоже).
2. Например, у нас две клавы Genius: ps/2 и usb, сделаннные измождёнными ручками китайских детей.

Section "InputClass"
Identifier "Keyboard"
Driver "evdev"
Option "AutoRepeat" "500 30"
Option "XkbModel" "acpi"
Option "XkbRules" "xorg"

Option "XkbLayout" "us(alt-intl),ru(winkeys)"
Option "XkbOptions" "grp:menu_toggle,terminate:ctrl_alt_bksp"

MatchIsKeyboard "true"
MatchProduct "AT Translated Set 2 keyboard|HID 04f3:0103"
EndSection

3. Также, например, у нас в ходу uvc-камера с кнопочкой и кнопка мощщи на системнике. хз, что с камерой делать, это вы уж сами как-нить нафантазируете, пока уберем, а кнопка питалова у нас обрабатывается acpid, так, что она в иксах нам и даром не нать.

Section "InputClass"
Identifier "Keyboard-ign"

MatchIsKeyboard "true"
MatchProduct "Power Button|USB2.0_Camera"
Option "Ignore" "true"
EndSection

4. Мышки. Их, например, тоже целых два щтука: 9 и 5-кнопочная. Настраиваем ту, что с большим количеством кнопок, вторая будет работать обычным образом, глюков не замечено:

Section "InputClass"
Identifier "Mouse"
Driver "evdev"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "false"
Option "ZAxisMapping" "4 5 6 7"
Option "Buttons" "9"
Option "Resolution" "800"

MatchIsPointer "true"
MatchDevicePath "/dev/input/event*"
MatchProduct "ImExPS/2 Generic Explorer Mouse|Logitech USB Optical Mouse"
EndSection

5. Вот тут мойшет поджидать от ксорга ловушка - он цепляет всё, в итоге имеем:

[ 748.368] (II) config/udev: Adding input device Logitech USB Optical Mouse (/dev/input/event5)
[ 748.368] (II) config/udev: Adding input device Logitech USB Optical Mouse (/dev/input/mouse1)
[ 748.735] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event3)
[ 748.735] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse0)

Не кажется ли вам, что их многовато? Xorg'у они точно встали поперёк и свели его с ума: курсор (пока что один) прилип к левому краю экрана и шустро к нему полз если попытаться его отодрать. Решилось довольно тривиально:

Section "InputClass"
Identifier "Mouse-ign"
MatchIsPointer "true"
MatchDevicePath "/dev/input/mouse*"
Option "Ignore" "true"
EndSection

На этом пока всё."