Zrób lsmodi sprawdź, który z tych sterowników jest załadowany. Możesz także przeczytać swoją /var/log/Xorg.0.log.
wingedsubmariner
te pytania były kontynuacją mojego poprzedniego . Szczerze mówiąc wygląda na to, że żaden nie jest załadowany.
banuy
Odpowiedzi:
34
Prawdopodobnie żaden z nich tego nie robi. Na przykład w moim systemie, w którym korzystam z Fedory 19 i Thinkpad 410 z touchpadem Synaptic, nie mam również sterownika jądra.
Więc co dba o to urządzenie? To właściwie ten moduł jądra:
$ lsmod|grep -iE "input"
uinput 17672 0
Jeśli chcesz dowiedzieć się więcej o tym module, możesz użyć 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
...
Jak się okazuje, urządzenia wejściowe takie jak te są często traktowane na wyższym poziomie, w tym przypadku rzeczywiste sterowniki są implementowane na poziomie X11.
uinput to moduł jądra systemu Linux, który pozwala obsługiwać podsystem wejściowy z poziomu użytkownika. Można go używać do tworzenia i obsługi urządzeń wejściowych z aplikacji. Tworzy urządzenie znakowe w katalogu / dev / input. Urządzenie to interfejs wirtualny, nie należy do fizycznego urządzenia.
Kopiąc głębiej, jeśli Twój system korzysta z touchpada Synaptic (który, jak sądzę, stanowi ~ 90% wszystkich touchpadów), możesz zrobić, locate synaptics | grep xorgco powinno ujawnić następujące pliki:
To, co kojarzy urządzenia fizyczne z tym sterownikiem. I prawdopodobnie zadajesz sobie pytanie, jak ten facet może być taki pewien? Za pomocą tego polecenia pokazuje urządzenie związane z moim danego Synaptic TouchPad używając id=12z xinput --listwyjściem pokazałem wcześniej:
Bardzo interesujące! Kiedy używam sterownika mtrack xorg zamiast synaptics, znalazłem coś innego niż to, co powiedziałeś na stronie mtrack : „Obsługuje każdy gładzik, którego sterownik jądra używa protokołu szczelinowego multitouch”. Wygląda na to, że sterownik Xorg tak naprawdę nie ma bezpośredniego kontaktu ze sprzętem, ale twoja odpowiedź wydaje się być sprzeczna z tym stwierdzeniem ...
xuhdev
Myślę, że sterownik wejściowy Xorg różni się od sterownika urządzenia. Pobiegłem, journalctl -b 0a potem touchpadszukałem i mam tę linię (**) bcm5974: Applying InputClass "evdev touchpad catchall". Tak więc wiem, że bcm5974jest sterownik urządzenia
xuhdev
@xuhdev - sterownik xorg pobiera dane ruchu przez uinputmoduł jądra (sterownik). Co nie jest jasne w tym stwierdzeniu?
slm
@slm Myślę, że OP pyta o sterownik urządzenia, a nie sterownik xorg. To, co pokazałeś, to sterownik Xorg, który według mnie jest zupełnie inny niż sterownik urządzenia. uinputmoduł nie jest związany z urządzeniami sprzętowymi; podanie poprawnych informacji zależy od sterowników sprzętowych, a następnie uinput zapewnia ujednolicony interfejs wejściowy dla obszaru użytkownika. Oprogramowanie użytkownika, w tym przypadku sterownik synaptics xorg, może łączyć xorg z jądrem (i dane wejściowe użytkownika pośrednio) za pomocą uinput. Popraw mnie, jeśli się mylę, ponieważ nie jestem ekspertem w tej dziedzinie.
xuhdev
Powinieneś również dołączyć hid_multitouchdo swojej listy. Myślę, że to właśnie zarządza touchpadem w moim Dell Precision i nie mam uinputzaładowanego modułu.
Cerin,
2
$ cat /var/log/Xorg.0.log | grep "input driver"
Na moim laptopie pokazuje:
...
[ 9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...
lsmod
i sprawdź, który z tych sterowników jest załadowany. Możesz także przeczytać swoją/var/log/Xorg.0.log
.Odpowiedzi:
Prawdopodobnie żaden z nich tego nie robi. Na przykład w moim systemie, w którym korzystam z Fedory 19 i Thinkpad 410 z touchpadem Synaptic, nie mam również sterownika jądra.
Więc co dba o to urządzenie? To właściwie ten moduł jądra:
Jeśli chcesz dowiedzieć się więcej o tym module, możesz użyć
modinfo uinput
:Jak się okazuje, urządzenia wejściowe takie jak te są często traktowane na wyższym poziomie, w tym przypadku rzeczywiste sterowniki są implementowane na poziomie X11.
ŹRÓDŁO: Pierwsze kroki z uinput: podsystem wprowadzania na poziomie użytkownika
Więc gdzie są moje sterowniki touchpada?
Są w podsystemie X11. Możesz zobaczyć urządzenie za pomocą
xinput --list
polecenia. Oto na przykład urządzenia na moim laptopie Thinkpad:Zauważ, że mój TouchPad pojawia się na tej liście. Możesz znaleźć dodatkowe informacje o tych urządzeniach
/proc
, na przykład:OK, ale gdzie jest kierowca?
Kopiąc głębiej, jeśli Twój system korzysta z touchpada Synaptic (który, jak sądzę, stanowi ~ 90% wszystkich touchpadów), możesz zrobić,
locate synaptics | grep xorg
co powinno ujawnić następujące pliki:Pierwsze wyniki to rzeczywisty sterownik, o który pytasz. Zostaje załadowany do X.org poprzez drugi plik tutaj:
I ta linia:
To, co kojarzy urządzenia fizyczne z tym sterownikiem. I prawdopodobnie zadajesz sobie pytanie, jak ten facet może być taki pewien? Za pomocą tego polecenia pokazuje urządzenie związane z moim danego Synaptic TouchPad używając
id=12
zxinput --list
wyjściem pokazałem wcześniej:źródło
journalctl -b 0
a potemtouchpad
szukałem i mam tę linię(**) bcm5974: Applying InputClass "evdev touchpad catchall"
. Tak więc wiem, żebcm5974
jest sterownik urządzeniauinput
moduł jądra (sterownik). Co nie jest jasne w tym stwierdzeniu?uinput
moduł nie jest związany z urządzeniami sprzętowymi; podanie poprawnych informacji zależy od sterowników sprzętowych, a następnie uinput zapewnia ujednolicony interfejs wejściowy dla obszaru użytkownika. Oprogramowanie użytkownika, w tym przypadku sterownik synaptics xorg, może łączyć xorg z jądrem (i dane wejściowe użytkownika pośrednio) za pomocą uinput. Popraw mnie, jeśli się mylę, ponieważ nie jestem ekspertem w tej dziedzinie.hid_multitouch
do swojej listy. Myślę, że to właśnie zarządza touchpadem w moim Dell Precision i nie mamuinput
załadowanego modułu.Na moim laptopie pokazuje:
źródło
cat | grep
ponieważ możesz bezpośrednio używaćgrep
do plików pomijająccat
polecenie.grep -e "input driver" /var/log/Xorg.0.log
journalctl -u display-manager | grep "input driver"
ixinput --list
pomógł mi zorientować się, że muszę włączyć opcję jądra „Elantech” podczas ponownej kompilacji jądra.