Muhtemelen hiçbiri bunu yapmıyordur. Örneğin, Fedora 19 ve Synaptic dokunmatik yüzeyli Thinkpad 410 kullandığım sistemde de Çekirdek sürücüsü yok.
$ lsmod|grep -iE "apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"
Öyleyse bu cihaza ne bakıyor? Aslında bu şu Çekirdek modülü:
$ lsmod|grep -iE "input"
uinput 17672 0
Bu modül hakkında daha fazla şey görmek istiyorsanız, şunları kullanabilirsiniz 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
...
Bunlar gibi girdi cihazlarının genellikle daha yüksek bir seviyede ele alındığı, bu durumda asıl sürücüler X11 düzeyinde uygulandığı anlaşılmaktadır.
Kullanıcı girişi, giriş alt sistemini kullanıcı alanından yönetmeyi sağlayan bir linux çekirdek modülüdür. Bir uygulamadan giriş aygıtları oluşturmak ve bunları işlemek için kullanılabilir. / Dev / input dizininde bir karakter cihazı yaratır. Cihaz sanal bir arayüzdür, fiziksel bir cihaza ait değildir.
KAYNAK: Kullanıcı girişi ile çalışmaya başlama: kullanıcı düzeyinde giriş alt sistemi
O zaman touchpad sürücülerim nerede?
X11'in alt sisteminde. xinput --list
Komutu kullanarak cihazı görebilirsiniz . Örneğin, İşte Thinkpad dizüstü bilgisayarımdaki cihazlar:
$ 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)]
Dokunmatik Yüzeyimin bu listede göründüğüne dikkat edin. Bu cihazlar hakkında ek bilgi bulabilirsiniz /proc
, örneğin:
$ 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
...
Tamam ama sürücü nerede?
Sisteminiz bir Synaptic dokunmatik yüzey kullanıyorsa (ki bunlar tüm dokunmatik yüzeylerin ~% 90'ını oluşturduğuna inanıyorum) kullanıyorsa, daha derine inerek locate synaptics | grep xorg
aşağıdakileri ortaya çıkarabilirsiniz:
$ 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
İlk sonuç, sorduğunuz gerçek sürücü. Buradaki ikinci dosya aracılığıyla X.org'a yüklenir:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
EndSection
Ve bu çizgi:
MatchDevicePath "/dev/input/event*"
Fiziksel aygıtları bu sürücüyle ilişkilendiren şeydir. Muhtemelen kendine soruyorsun, bu adam nasıl bu kadar emin olabiliyor? Bu komutu kullanmak id=12
, xinput --list
daha önce gösterdiğim çıktıyı kullanarak verilen Synaptic TouchPad ile ilişkili cihazı gösterir :
$ xinput --list-props 12 | grep "Device Node"
Device Node (251): "/dev/input/event4"
lsmod
sürücü yapın ve bu sürücülerden hangisinin yüklü olduğunu görün. Ayrıca okumak isteyebilirsiniz/var/log/Xorg.0.log
.