GNU/Linux >> Belajar Linux >  >> Linux

Driver mana yang menangani touchpad saya?

Kemungkinan besar tidak ada dari mereka yang melakukannya. Di sistem saya misalnya di mana saya menggunakan Fedora 19 dan Thinkpad 410 dengan touchpad Synaptic, saya juga tidak memiliki driver Kernel.

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

Jadi apa yang merawat perangkat ini? Sebenarnya modul Kernel ini:

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

Jika Anda ingin melihat lebih banyak tentang modul ini, Anda dapat menggunakan 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
...

Ternyata perangkat input seperti ini sering ditangani pada level yang lebih tinggi, dalam hal ini driver sebenarnya diimplementasikan pada level X11.

uinput adalah modul kernel linux yang memungkinkan untuk menangani subsistem input dari lahan pengguna. Ini dapat digunakan untuk membuat dan menangani perangkat input dari suatu aplikasi. Itu membuat perangkat karakter di direktori /dev/input. Perangkat adalah antarmuka virtual, bukan milik perangkat fisik.

SUMBER: Memulai dengan uinput:subsistem masukan tingkat pengguna

Jadi, di mana driver touchpad saya?

Mereka ada di subsistem X11. Anda dapat melihat perangkat menggunakan xinput --list memerintah. Misalnya, Inilah perangkat di laptop Thinkpad saya:

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

Perhatikan bahwa TouchPad saya muncul di daftar ini. Anda dapat mengetahui info tambahan tentang perangkat ini melalui /proc , misalnya:

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

Oke tapi di mana pengemudinya?

Menggali lebih dalam jika sistem Anda menggunakan touchpad Synaptic (yang saya yakin mereka menghasilkan ~90% dari semua touchpad), Anda dapat melakukan locate synaptics | grep xorg yang seharusnya mengungkapkan file-file berikut:

$ 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

Hasil pertama adalah driver sebenarnya yang Anda tanyakan. Itu dimuat ke X.org melalui file kedua di sini:

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

Dan baris ini:

        MatchDevicePath "/dev/input/event*"

Apakah yang menghubungkan perangkat fisik dengan driver ini. Dan Anda mungkin bertanya pada diri sendiri, bagaimana orang ini bisa begitu yakin? Menggunakan perintah ini menunjukkan perangkat yang terkait dengan Synaptic TouchPad yang saya berikan menggunakan id=12 dari xinput --list keluaran yang saya tunjukkan sebelumnya:

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

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

Di laptop saya ini menunjukkan:

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

Linux
  1. Pelajari penanganan kesalahan Bash dengan contoh

  2. Terminal mana yang lebih baik:Bash vs Zsh

  3. Shell mana yang saya jalankan?

  1. Bash Mana yang Dieksekusi?

  2. Restart Driver Touchpad Thesterious Di 19.10?

  3. yang:perintah tidak ditemukan

  1. Apa itu proses yang tidak terputus?

  2. Direktori JAVA_HOME di Linux

  3. mana python vs PYTHONPATH