Il est probable qu'aucun d'eux ne le fasse. Sur mon système, par exemple, où j'utilise Fedora 19 et un Thinkpad 410 avec un pavé tactile Synaptic, je n'ai pas non plus de pilote Kernel.
$ 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 Kernel :
$ 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 s'avère que 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 implémentés au niveau X11.
uinput est un module du noyau Linux qui permet de gérer le sous-système d'entrée à partir de la zone 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ères dans le répertoire /dev/input. L'appareil est une interface virtuelle, il n'appartient pas à un appareil physique.
SOURCE : Premiers pas avec uinput :le sous-système d'entrée au niveau de l'utilisateur
Alors, où sont mes pilotes de pavé tactile ?
Ils sont dans le sous-système de X11. Vous pouvez voir l'appareil en utilisant le xinput --list
commande. Par exemple, voici les appareils de 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
...
OK mais où est le chauffeur ?
En creusant plus profondément si votre système utilise un pavé tactile Synaptic (qui, je crois, fait environ 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 sont le pilote réel dont vous parlez. 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 périphériques physiques à ce pilote. Et vous vous demandez probablement, comment ce type peut-il être si sûr ? L'utilisation de cette commande affiche l'appareil associé à mon pavé tactile Synaptic donné en utilisant id=12
du xinput --list
résultat que 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 affiche :
...
[ 9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...