J'aimerais savoir comment déterminer quel pilote (en dehors de ceux ci-dessous) gère mon pavé tactile:
appleTouch.ko.gz, cyapa.ko.gz, sermouse.ko.gz, synapticique_usb.ko.gz, bcm5974.ko.gz, psmouse.ko.gz, synaptique_i2c.ko.gz, vsxxxaa.ko.gz
Il est probable qu'aucun d'entre eux ne le fasse. Sur mon système, par exemple, où j'utilise Fedora 19 et un ThinkPad 410 avec une touche tactile synaptique, je n'ai pas de chauffeur de noyau.
$ lsmod|grep -iE "Apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"
Alors, qu'est-ce qui prend soin de cet appareil? Eh bien c'est en fait ce module de noyau:
$ lsmod|grep -iE "input"
uinput 17672 0
Si vous voulez en savoir plus sur ce module, vous pouvez utiliser 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
...
Comme il démarre les périphériques d'entrée tels que ceux-ci sont souvent traités à un niveau supérieur, dans ce cas, les pilotes réels sont mis en œuvre au niveau X11.
uinput est un module de noyau Linux qui permet de gérer le sous-système d'entrée des terres de l'utilisateur. Il peut être utilisé pour créer et gérer des périphériques d'entrée à partir d'une application. Il crée un périphérique de caractère dans/dev/dentrage. L'appareil est une interface virtuelle, il n'appartient pas à un périphérique physique.
Source: Mise en route avec Uinput: Sous-système d'entrée de niveau utilisateur
Ils sont dans le sous-système de X11. Vous pouvez voir l'appareil à l'aide de la xinput --list
commande. Par exemple, voici les appareils sur mon ordinateur portable 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)]
Notez que mon pavé tactile apparaît dans cette liste. Vous pouvez trouver des informations supplémentaires sur ces appareils via /proc
, par exemple:
$ 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
...
Creuser plus profondément si votre système utilise un pavé tactile synaptique (ce que je crois qu'ils font ~ 90% de tous les pavés tactiles), vous pouvez faire un locate synaptics | grep xorg
qui devrait révéler les fichiers suivants:
$ 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
Les premiers résultats Il y a le pilote réel que vous posez. Il est chargé dans X.org via le deuxième fichier ici:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
EndSection
Et cette ligne:
MatchDevicePath "/dev/input/event*"
Est ce qui associe les appareils physiques avec ce pilote. Et vous vous demandez probablement comment ce type peut-il être si sûr? L'utilisation de cette commande indique le périphérique associé à mon pavé tactile synaptique donné à l'aide de id=12
du xinput --list
Sortie J'ai montré plus tôt:
$ xinput --list-props 12 | grep "Device Node"
Device Node (251): "/dev/input/event4"
$ cat /var/log/Xorg.0.log | grep "input driver"
Sur mon ordinateur portable, il montre:
...
[ 9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...