Mam zainstalowaną Lenovo IdeaPad Yoga 13 z systemem Ubuntu 13.10. Urządzenie ma przycisk „Przełącz panel dotykowy” na klawiaturze ( F5). Przyciski klawiatury F*są odwrócone (aby uzyskać F5, muszę nacisnąć Fn+ F5, a F5tak naprawdę jest to klawisz przełączania).
Dowiedziałem się, że przycisk jest w rzeczywistości odczytywany przez klawiaturę (zamiast płytki dotykowej TouchPad jak niektóre urządzenia), która jest dostępna /dev/input/event3
. Dzięki temu sudo input-events 3
mogłem dowiedzieć się, że przycisk wysyła kod skanowania 190:
Wyjście sudo lsinput
:
/dev/input/event3
bustype : BUS_I8042
vendor : 0x1
product : 0x1
version : 43907
name : "AT Translated Set 2 keyboard"
phys : "isa0060/serio0/input0"
bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
Wyjście sudo input-events 3
:
23:13:03.849392: EV_MSC MSC_SCAN 190
23:13:03.849392: EV_SYN code=0 value=0
23:13:03.855413: EV_MSC MSC_SCAN 190
23:13:03.855413: EV_SYN code=0 value=0
Żadne inne programy (takie jak xev
) wydają się być w stanie odczytać je wyjątkiem input-events
. Czy jest jakiś sposób na zmapowanie tego przycisku, aby przełączał touchpada na moim laptopie? Jeśli tak, jak mogę to zrobić?
Wygląda na to, że urządzenie to klawiatura (rozpoznawana w oprogramowaniu jako oddzielna od klawiatury „rdzeniowej”), ale serwer X nie słucha jej.
Spróbuj dodać sekcję Input pod
/etc/X11/xorg.conf.d
. To znaczy, stwórz katalog,/etc/X11/xorg.conf.d
jeśli jeszcze nie istnieje, i stwórz plikextra-keyboard-buttons
w tym katalogu zawierającyNie jestem pewien co do tej
MatchProduct
linii; jeśli to nie działa, spróbuj majstrować przyMatchXXX
dyrektywach .Po prawidłowym skonfigurowaniu tego pliku, po uruchomieniu serwera X powinien on przetwarzać zdarzenia z tej klawiatury, a zdarzenia powinny być widoczne w
xev
innym miejscu. Zanotuj kod (nie jestem pewien, czy kod X11 będzie w tym przypadku taki sam jak klucz sprzętowy) i skojarz z nim klucz. Możesz to zrobić za pomocą pliku o nazwie.Xmodmap
w katalogu domowym zawierającymMożesz teraz definiować skróty klawiaturowe za pomocą tych klawiszy.
Aby przełączyć touchpad, użyj polecenia
xinput
. Uruchom,xinput list
aby zobaczyć, jakie urządzenia wejściowe są dostępne, i zanotuj nazwę twojego touchpada (nazywam toTouchpad
poniżej). Uruchom,xinput list-props Touchpad
aby wyświetlić listę jego właściwości; jeden z nich powinien nosić nazwę „Device Enabled”, a obok niego numer (np. 135). Poniższy skrypt przełącza touchpad:Zapisz to w pliku
~/bin/toggle-touchpad
i ustaw jako plik wykonywalny (chmod +x ~/bin/toggle-touchpad
). Aby powiązać go z kluczem, zainstaluj xbindkeys i skonfiguruj go do uruchamiania skryptu, wstawiając następujące wiersze~/.xbindkeysrc
:źródło