Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Dlaczego nie działa evdev?  (Przeczytany 6543 razy)

arctgx

  • Gość
Dlaczego nie działa evdev?
« dnia: 2007-12-06, 19:19:03 »
Chciałbym użyć sterownika evdev dla myszy (a potem klawiatury), ale przy zadeklarowaniu tego steru i urządzenia event1 mysz PS2 nie działa.

W xorg.conf mam taki wpis dla myszy:

Section "InputDevice"
        Identifier      "Mysz0-old"
        Driver          "evdev"
        Option          "Device"                "/dev/input/event1"
EndSection
a potem w "ServerLayout" linijkę InputDevice     "Mysz0-old".

Dlaczego "event1"? Kawałek z /proc/bus/input/devices:

I: Bus=0011 Vendor=0002 Product=0005 Version=0000
N: Name="ImPS/2 Generic Wheel Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
Moduł jądra evdev jest załadowany, a logi z Xorg.0.log wyglądają tak:
(**) |-->Input Device "Mysz0"
(II) LoadModule: "evdev"
(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.1.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 0.7
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.2.2
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 0.7
(II) evdev brain: Rescanning devices (1).
(II) Mysz0-isa0060/serio1/input0: Found 3 relative axes.
(II) Mysz0-isa0060/serio1/input0: Configuring as pointer.
(**) Mysz0-isa0060/serio1/input0: WHEELRelativeAxisButtons: 4 5.
(II) Mysz0-isa0060/serio1/input0: Found 3 mouse buttons
(**) Mysz0-isa0060/serio1/input0: Configuring 3 relative axes.
(II) Mysz0-isa0060/serio1/input0: Configured 5 mouse buttons
(WW) : No Device specified, looking for one...
(II) : Setting Device option to "/dev/input/mice"
(--) : Device: "/dev/input/mice"
(==) : Protocol: "Auto"
(**) Option "CorePointer"
(**) : Core Pointer
(==) : Emulate3Buttons, Emulate3Timeout: 50
(**) : ZAxisMapping: buttons 4 and 5
(**) : Buttons: 9
(**) : Sensitivity: 1
(II) XINPUT: Adding extended input device "" (type: MOUSE)
(II) XINPUT: Adding extended input device "Mysz0-isa0060/serio1/input0" (type: MOUSE)
(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)
(**) Mysz0-isa0060/serio1/input0: 3 valuators.
(**) ../../src/evdev_btn.c (166): Registering 5 buttons.
(II) Mysz0-isa0060/serio1/input0: Init
(II) evdev brain: Rescanning devices (2).
(II) Mysz0-isa0060/serio1/input0: On
(--) : PnP-detected protocol: "ExplorerPS/2"
(II) : ps2EnableDataReporting: succeeded
(II) Mysz0-isa0060/serio1/input0: Off
Skąd te nagłe "Off"?

Na razie zakomentowałem linijkę od myszy w "Serwer Layout" i ustawia się domyślna mysz z /dev/input/mice.

Dla klawiatury też evdev nie działa.

Wersja X Window System: 1.3.0

arctgx

  • Gość
Dlaczego nie działa evdev?
« Odpowiedź #1 dnia: 2008-01-07, 23:14:48 »
Sprawdziłem też, co się dzieje kiedy wyładowany jest sterownik psaux, mając nadzieję że to on kłóci się z evdev. Tymczasem okazało się na odwrót: po wyładowaniu psaux z pliku /proc/bus/input/devices zniknął wpis na temat myszy i evdev nie miał z czego korzystać.

Offline

  • Users
  • Guru
  • *****
  • Wiadomości: 825
    • Zobacz profil
Dlaczego nie działa evdev?
« Odpowiedź #2 dnia: 2008-01-08, 12:03:38 »
Zauważ, że np tu:
http://linuxwacom.sourceforge.net/index.php/howto/config
obsługa evdev nie jest wkompilowana w xorg domyślnie.

M.

arctgx

  • Gość
Dlaczego nie działa evdev?
« Odpowiedź #3 dnia: 2008-01-08, 12:24:19 »
Nie kompilowałem nigdy xorg, ale wiem, że evdev jest modułem w tym środowisku i, zdaje się, nie musi być wkompilowany na stałe. Wystarczy, że będzie załadowany w odpowiednim momencie. Jeśli przyjrzysz się wyżej wycinkowi z Xorg.0.log, zobaczysz kilka linii o załadowaniu go z konkretnego pliku.

Po nim ładowany jest moduł "mouse" - ale dlaczego? Zdaje się, że evdev jest alternatywą dla mouse i nie trzeba ich obu naraz. Rozumiem, gdyby był ładowany po wyłączeniu obsługi myszy przez evdev (ostatnia linia), ale tak od razu?

(WW) : No Device specified, looking for one...
Jeszcze raz spróbuję dodać opcję "DefaultPointer" do sekcji myszy.

Przy okazji: znalazłem tekst obwiniający demona HAL za podobny log (nie zamieściłem go tu, ale przy jednej z konfiguracji miałem komunikat

(EE) PreInit returned NULL for "Mysz0-old"
.

I tamta porada ("sudo cp /usr/share/doc/hal/examples/10-x11-input.fdi /usr/share/hal/fdi/policy/10osvendor/" nie rozumiem za bardzo w tej chwili co daje obecność tamtego pliku fdi) nic nie zdziałała.

arctgx

  • Gość
Dlaczego nie działa evdev?
« Odpowiedź #4 dnia: 2008-01-08, 13:11:04 »
Do 'Identifier      "Mysz0-old"' dodałem "CorePointer". Bez zmian. Może porobię testy z tym xorg.conf na jakiejś dystrybucji live, by wykluczyć buga.

arctgx

  • Gość
Dlaczego nie działa evdev?
« Odpowiedź #5 dnia: 2008-08-20, 14:30:26 »
Nie wiem czy tamte problemy nie wynikały z jakiegoś buga w evdev. Częściowe rozwiązanie, którego nie zauważyłem, gnije sobie w man evdev:

Cytat: "man evdev"
Multiple input devices are supported by multiple instances of this driver, with one Load directive for evdev in the Module section of your xorg.conf for each input device that will use this driver.
Trzeba tyle razy zadeklarować Load "evdev" w sekcji Modules pliku xorg.conf, ile chcemy urządzeń nim obsługiwać. Obecna wersja 2.0.3-1 z Debiana unstable działa bez problemu.