Mam Lenovo Ideapad 700 z Antergos. Wygląda na to, że co sekundę jest stałe wejście, co uniemożliwia mi przewijanie w terminalu lub używanie tty. To jest wyjście za pomocą
$ xev
KeyPress event, serial 38, synthetic NO, window 0x5400001,
root 0x153, subw 0x0, time 7416716, (262,3), root:(1124,458),
state 0x0, keycode 221 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Próbowałem już wyłączyć blokadę Fn w BIOS-ie, ale to nie pomogło. Czy ktoś wie, jak to naprawić lub uzyskać dalsze informacje, skąd pochodzi to wejście?
arch-linux
input
twinrix
źródło
źródło
sudo modprobe -rv peaq_wmi
?rmmod peaq_wmi rmmod input_polldev
Odpowiedzi:
Jądro Linuksa 4.13 wprowadziło peaq_wmi sterownik, który obsługuje skróty klawiszowe na tabletach PEAQ (szczególnie przycisk „Dolby” na PEAQ PMM C1010).
Sterownik jest ładowany dla określonego identyfikatora GUI obiektu WMI, który znajduje się w oprogramowaniu systemowym (w tabelach ACPI). Niestety, twórcy oprogramowania sprzętowego PEAQ nie wygenerowali unikalnego identyfikatora GUID - po prostu skopiowali go z Microsoft próba Sterownik WMI.
Niestety, nie byli oni jedynym producentem, który to zrobił - ten sam identyfikator GUI WMI można znaleźć w oprogramowaniu Lenovo, które oczywiście ma zupełnie inne znaczenie. Gdy sterownik zostanie załadowany do niekompatybilnego systemu, otrzymuje wynik śmieci i myśli, że przycisk jest zawsze wciśnięty.
Również niestety, aktualne oprogramowanie sprzętowe PEAQ nie powiadamia systemu operacyjnego za każdym naciśnięciem przycisku; zamiast tego system operacyjny musi wielokrotnie sprawdzać swój status. Tak więc kierowca ciągle otrzymuje ten sam wynik śmieci co sekundę.
Kierowca był ostatnio naprawiony aby sprawdzić również nazwę producenta systemu, a poprawka powinna wkrótce dotrzeć do stabilnych jąder (4.14.x, 4.13.x). W międzyczasie możesz usunąć moduł, używając:
i / lub czarna lista za pośrednictwem
/etc/modprobe.d
lub za pomocą parametru jądra:W przyszłości do debugowania takich problemów użyj narzędzi, które zgłaszają poszczególne urządzenia wejściowe; na przykład,
evemu-record
lublibinput debug-events
. (Thexinput
narzędzie może to zrobić również w X11.) Może to zawęzić do konkretnego sterownika.(Lub możesz przejść przez wszystkie zatwierdzenia Git z 4.12 do 4.13, aż znajdziesz taki, który sprawia, że myślisz „ten nowy moduł wygląda zabawnie, zastanawiam się, co się dzieje, gdy go rozładujesz” )
źródło