Es ist wahrscheinlich, dass keiner von ihnen es tut. Auf meinem System zum Beispiel, wo ich Fedora 19 und ein Thinkpad 410 mit einem Synaptic-Touchpad verwende, habe ich auch keinen Kernel-Treiber.
$ lsmod|grep -iE "apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"
Also, was kümmert sich dann um dieses Gerät? Nun, es ist eigentlich dieses Kernel-Modul:
$ lsmod|grep -iE "input"
uinput 17672 0
Wenn Sie mehr über dieses Modul erfahren möchten, können Sie modinfo uinput
verwenden :
$ modinfo uinput
filename: /lib/modules/3.13.11-100.fc19.x86_64/kernel/drivers/input/misc/uinput.ko
version: 0.3
license: GPL
description: User level driver support for input subsystem
author: Aristeu Sergio Rozanski Filho
alias: devname:uinput
alias: char-major-10-223
...
Wie sich herausstellt, werden solche Eingabegeräte oft auf einer höheren Ebene behandelt, in diesem Fall werden die eigentlichen Treiber auf der X11-Ebene implementiert.
uinput ist ein Linux-Kernel-Modul, das es ermöglicht, das Eingabe-Subsystem vom Benutzerland aus zu handhaben. Es kann verwendet werden, um Eingabegeräte aus einer Anwendung zu erstellen und zu handhaben. Es erstellt ein Zeichengerät im Verzeichnis /dev/input. Das Gerät ist eine virtuelle Schnittstelle, es gehört nicht zu einem physischen Gerät.
QUELLE: Erste Schritte mit uinput:dem Eingabesubsystem auf Benutzerebene
Wo sind dann meine Touchpad-Treiber?
Sie befinden sich im Subsystem von X11. Sie können das Gerät mit der xinput --list
sehen Befehl. Beispiel:Hier sind die Geräte auf meinem Thinkpad-Laptop:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=14 [slave keyboard (3)]
Beachten Sie, dass mein TouchPad in dieser Liste angezeigt wird. Weitere Informationen zu diesen Geräten erhalten Sie unter /proc
, zum Beispiel:
$ cat /proc/bus/input/devices
...
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input5
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=9
B: EV=b
B: KEY=6420 30000 0 0 0 0
B: ABS=260800011000003
...
OK, aber wo ist der Fahrer?
Wenn Sie tiefer graben, wenn Ihr System ein Synaptic-Touchpad verwendet (was meiner Meinung nach ~ 90 % aller Touchpads ausmacht), können Sie locate synaptics | grep xorg
ausführen was die folgenden Dateien zeigen sollte:
$ locate synaptics | grep xorg
/usr/lib64/xorg/modules/input/synaptics_drv.so
/usr/share/X11/xorg.conf.d/50-synaptics.conf
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1/COPYING
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1/README
Die ersten Ergebnisse dort sind der eigentliche Treiber, nach dem Sie fragen. Es wird über die zweite Datei hier in X.org geladen:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
EndSection
Und diese Zeile:
MatchDevicePath "/dev/input/event*"
Ordnet die physischen Geräte diesem Treiber zu. Und Sie fragen sich wahrscheinlich, wie kann dieser Typ so sicher sein? Mit diesem Befehl wird das mit meinem gegebenen Synaptic TouchPad verknüpfte Gerät mit id=12
angezeigt aus dem xinput --list
Ausgabe, die ich zuvor gezeigt habe:
$ xinput --list-props 12 | grep "Device Node"
Device Node (251): "/dev/input/event4"
$ cat /var/log/Xorg.0.log | grep "input driver"
Auf meinem Laptop zeigt es:
...
[ 9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...