GNU/Linux >> Linux Esercitazione >  >> Linux

Quale driver gestisce il mio touchpad?

È probabile che nessuno di loro lo stia facendo. Sul mio sistema, ad esempio, dove utilizzo Fedora 19 e un Thinkpad 410 con un touchpad Synaptic, non ho nemmeno il driver del kernel.

$ lsmod|grep -iE "apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"

Allora cosa si prende cura di questo dispositivo? Beh, in realtà è questo modulo Kernel:

$ lsmod|grep -iE "input"
uinput                 17672  0 

Se vuoi vedere di più su questo modulo puoi usare modinfo uinput :

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

Come risulta, i dispositivi di input come questi sono spesso gestiti a un livello superiore, in questo caso i driver effettivi sono implementati a livello X11.

uinput è un modulo del kernel linux che permette di gestire il sottosistema di input dalla terra dell'utente. Può essere utilizzato per creare e gestire dispositivi di input da un'applicazione. Crea un dispositivo di caratteri nella directory /dev/input. Il dispositivo è un'interfaccia virtuale, non appartiene a un dispositivo fisico.

FONTE: Iniziare con uinput:il sottosistema di input a livello utente

Allora dove sono i driver del mio touchpad?

Sono nel sottosistema di X11. Puoi vedere il dispositivo utilizzando il xinput --list comando. Ad esempio, ecco i dispositivi sul mio portatile Thinkpad:

$ 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)]

Si noti che il mio TouchPad viene visualizzato in questo elenco. Puoi trovare ulteriori informazioni su questi dispositivi tramite /proc , ad esempio:

$ 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, ma dov'è l'autista?

Scavando più a fondo se il tuo sistema utilizza un touchpad Synaptic (che credo facciano circa il 90% di tutti i touchpad), puoi fare un locate synaptics | grep xorg che dovrebbe rivelare i seguenti file:

$ 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

I primi risultati sono il driver effettivo di cui stai chiedendo. Viene caricato in X.org tramite il secondo file qui:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
EndSection

E questa riga:

        MatchDevicePath "/dev/input/event*"

È ciò che associa i dispositivi fisici a questo driver. E probabilmente ti starai chiedendo, come può questo tizio esserne così sicuro? L'utilizzo di questo comando mostra il dispositivo associato al mio Synaptic TouchPad utilizzando id=12 dal xinput --list output che ho mostrato prima:

$ xinput --list-props 12 | grep "Device Node"
    Device Node (251):  "/dev/input/event4"

$ cat /var/log/Xorg.0.log | grep "input driver"

Sul mio portatile mostra:

...
[     9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...

Linux
  1. Gestione degli errori negli script Bash

  2. Quale shell sto usando?

  3. Su quale shell sto correndo?

  4. Quale Bash è in esecuzione?

  5. Riavviare il driver del touchpad Thesterious in 19.10?

Linux quale comando

quale:comando non trovato

Cos'è un processo ininterrotto?

Directory JAVA_HOME in Linux

Come scoprire quale driver Wi-Fi è installato?

2 stampanti 1 coda