É provável que nenhum deles esteja fazendo isso. No meu sistema, por exemplo, onde estou usando o Fedora 19 e um Thinkpad 410 com um touchpad Synaptic, também não tenho driver Kernel.
$ lsmod|grep -iE "apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"
Então, o que está tomando conta desse dispositivo? Bem, na verdade é este módulo do Kernel:
$ lsmod|grep -iE "input"
uinput 17672 0
Se você quiser ver mais sobre esse módulo, use 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
...
Como se verifica, dispositivos de entrada como estes são frequentemente tratados em um nível mais alto, neste caso, os drivers reais são implementados no nível X11.
uinput is a linux kernel module that allows to handle the input subsystem from user land. It can be used to create and to handle input devices from an application. It creates a character device in /dev/input directory. The device is a virtual interface, it doesn't belong to a physical device.
FONTE: Introdução ao uinput: o subsistema de entrada de nível de usuário
Então, onde estão os drivers do meu touchpad?
Eles estão no subsistema do X11. Você pode ver o dispositivo usando o comando xinput --list
. Por exemplo, aqui estão os dispositivos no meu laptop 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)]
Observe que o meu TouchPad aparece nesta lista. Você pode encontrar informações adicionais sobre esses dispositivos por meio de /proc
, por exemplo:
$ 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, mas onde está o motorista?
Indo mais fundo se o seu sistema está usando um touchpad Synaptic (que acredito que eles fazem ~ 90% de todos os touchpads), você pode fazer um locate synaptics | grep xorg
que deve revelar os seguintes arquivos:
$ 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
Os primeiros resultados são o driver que você está perguntando. Ele é carregado no X.org através do segundo arquivo aqui:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
EndSection
E esta linha:
MatchDevicePath "/dev/input/event*"
É o que associa os dispositivos físicos a esse driver. E você provavelmente está se perguntando, como esse cara pode ter tanta certeza? Usar este comando mostra o dispositivo associado ao meu Synaptic TouchPad determinado usando id=12
da xinput --list
output que mostrei anteriormente:
$ xinput --list-props 12 | grep "Device Node"
Device Node (251): "/dev/input/event4"