• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] event device festnageln

Grothesk

Ultimate Guru
Ich habe ein Touchpad und eine externe Maus angeschlossen.

So wird das Touchpad in der xorg.conf angelegt. Also mit event4.
Code:
Section "InputDevice"
    Identifier    "Synaptics Touchpad"
    Driver        "synaptics"
    Option        "AlwaysCore"
    Option        "SendCoreEvents"    "true"
    Option        "Device"        "/dev/input/event4"
    Option        "Protocol"        "event"
Das funktioniert auch, allerdings nur, wenn beim Start von X auch die externe Maus angeschlossen ist. Ist sie das nicht, dann liegt das Touchpad nämlich auf event3 und der entsprechende Treiber wird nicht geladen und ich kann das Pad nicht komplett nutzen.

Wie sage ich jetzt, das das Pad immer auf event4 zu finden sein soll?
 
Nur so als Idee:
Versuch doch mal einen festen Symlink für das Touchpad anzulegen:
z.B.
Code:
Option        "Device"        "/dev/input/touchpad"
Den Symlink kannst du dann mit einer entsprechenden udev-rule erzeugen:
Code:
KERNEL=="event[0-9]*", SYSFS{idVendor}=="XXXX", SYSFS{idProduct}=="XXXX", SYMLINK+="input/touchpad"
Um die Vendor-/Produkt ID zu ermitteln:
Code:
cat /proc/bus/input/devices
 
OP
G

Grothesk

Ultimate Guru
Auf die Idee mit udev hätte ich auch wirklich selber kommen können...

Allerdings funktioniert es noch nicht so ganz auf meinem kubuntu 6.06:
/dev/input/touchpad wird nicht angelegt.

Ich habe in /etc/udev/rules.d/60-symlinks.rules das angelegt:
Code:
KERNEL=="event[0-9]*", SYSFS{idVendor}=="0002", SYSFS{idProduct}=="0008", SYSFS{idVersion}==7321}, SYMLINK+="input/touchpad"

Gibt es ein SYSFS{idVersion} überhaupt? Das ganze müsste ich nämlich machen, da das Pad zweimal erkannt wird. Zum einen die normalen Mausfunktionen als PS/2-Gerät, der ganze Kram wie scrollen, tappen usw läuft über das andere Gerät:

Code:
I: Bus=0011 Vendor=0002 Product=0008 Version=0000
N: Name="PS/2 Mouse"
P: Phys=isa0060/serio4/input1
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 ts0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=7321
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2 ts1
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003


Jetzt habe ich die Regel abgeändert auf
Code:
KERNEL=="event[0-9]*", NAME="AlpsPS/2 ALPS GlidePoint", SYMLINK+="input/touchpad"
wobei sich dann da auch nichts tut.
 
OP
G

Grothesk

Ultimate Guru
Hab's jetzt hinbekommen.
Ich habe eine eigene Regeldatei erstellt
/etc/udev/rules.d/10-local.rules
Code:
# Alps PS/2 Touchpad (evdev)
BUS="serio", DRIVER="psmouse", SYSFS{description}="i8042 Aux-3 Port", KERNEL="event*", NAME="input/touchpad", MODE="0644"

Die legt dann ein Devicenode /dev/input/touchpad an.

Die einzelnen Informationen kann man sich über
Code:
udevinfo -a -p `udevinfo -q path -n /dev/X`
holen. Bitte X ersetzen.
 
OK. (War ich mal wieder zu langsam :( )

Dann nur noch als Ergänzung:
Der Eintrag für den Namen des Devices müsste
Code:
SYSFS{name}=="...."
lauten.
Information zum Device bekommt man mit:
Code:
udevinfo -a -p /sys/class/input/eventX/
 
Oben