GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Welcher Treiber verwaltet mein Touchpad?

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'
...

Linux
  1. Lernen Sie die Bash-Fehlerbehandlung anhand eines Beispiels kennen

  2. Auf welcher Shell laufe ich?

  3. Welche Bash wird ausgeführt?

  4. Thesterious Touchpad-Treiber in 19.10 neu starten?

  5. Welchen Grafiktreiber sollte ich auf einem Asus N43 verwenden?

So installieren Sie einen Gerätetreiber unter Linux

Welcher Linux-Befehl

Ubuntu – Wie finde ich heraus, welches X11-Treibersystem verwendet wird?

which:Befehl nicht gefunden

Was ist ein unterbrechungsfreier Prozess?

Wie finde ich heraus, welcher Wi-Fi-Treiber installiert ist?