Nowe posty

xx Gdańsk (2)
Dzisiaj o 12:59:57
xx W Grubie nie pokazuje ubuntu (1)
Dzisiaj o 09:31:29
question Połączenie się z OEL 8 >> MS SQL (0)
2020-09-16, 12:05:25
xx PORADNIK ! [Poszukiwanie bledow] (2)
2020-09-15, 08:24:56
xx Po instalacji minta i tak startuje windows ... (8)
2020-09-13, 00:48:13
xx DHCP i Virtualbox (2)
2020-09-08, 20:56:37
xx Brak macierzy RAID w Ubuntu (3)
2020-09-08, 19:10:24
xx Edycja plików w lokalizacji /sys/class/net/eth0/statistics (1)
2020-09-04, 08:43:34
xx ikona uruchamiająca (chyba) skrypt w ubuntu 16 (4)
2020-09-02, 22:57:36
xx Postfix (2)
2020-09-01, 18:58:16

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

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
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
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
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ć.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

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.

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
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.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
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.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
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.
Użytkownik: Ib5sXfcCkvYR
Hasło: adam