Mysz

Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?

Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia wejściowe zarówno w Wayland, jak i X i może obsługiwać różne urządzenia wejściowe, w tym ekrany dotykowe i rysiki.

Ten artykuł wyjaśnia zmianę różnych opcji dla urządzenia wejściowego obsługiwanego przez bibliotekę libinput. Aby sprawdzić i skonfigurować dostępne opcje, zostanie użyte narzędzie wiersza poleceń o nazwie „xinput”.

Pamiętaj, że ten przewodnik działa tylko z serwerem wyświetlania X. W przypadku Waylanda musisz polegać na ustawieniach systemu dostarczonych przez dystrybucję lub użyć scentralizowanego narzędzia konfiguracyjnego, takiego jak gsettings.

Lista urządzeń wejściowych

Xinput jest domyślnie preinstalowany na Ubuntu. Jeśli z jakiegoś powodu nie jest zainstalowany w twoim systemie, uruchom poniższe polecenie, aby go zainstalować:

$ sudo apt zainstaluj xinput

Aby wyświetlić listę wszystkich wbudowanych i zewnętrznych urządzeń wejściowych podłączonych do systemu, uruchom poniższe polecenie:

$ xinput --list

Zobaczysz niektóre dane wyjściowe w terminalu w ten sposób:

Wpis pod „Wskaźnik wirtualnego rdzenia” (podświetlony czerwonymi strzałkami) to przewodowa mysz USB podłączona do mojego systemu. Będziesz musiał użyćdokładnej nazwy lub identyfikatora pokazanego na powyższym zrzucie ekranu, aby skonfigurować ustawienia myszy lub touchpada za pomocą narzędzia wiersza poleceń xinput.

Zauważ, że na powyższym zrzucie ekranu xinput pokazuje właściwości urządzeń podłączonych do mojego systemu. Nazwy i identyfikatory urządzeń będą różne w systemie w zależności od konfiguracji sprzętu i urządzeń zewnętrznych podłączonych przez USB, Bluetooth lub odbiorniki bezprzewodowe.

Wyświetl właściwości podłączonego urządzenia

Aby zobaczyć aktualny stan i różne opcje aktywne dla urządzenia wymienionego powyżej, uruchom polecenie w następującym formacie:

$ xinput --list-props „id”

W przypadku myszy Dell wymienionej powyżej polecenie będzie wyglądało następująco:

$ xinput --list-rekwizyty 8

Korzystanie z tego polecenia ma pewne ograniczenia. Identyfikatory wyświetlane na wyjściu terminala mają tendencję do zmiany, gdy podłączasz wymienione urządzenie do innego portu. Ponieważ identyfikatory się zmieniają, zawsze istnieje ryzyko przypadkowej zmiany ustawień dla innego urządzenia. Aby rozwiązać ten problem, lepiej użyć pełnej nazwy urządzenia jako identyfikatora zamiast jego identyfikatora. Tak więc dla myszy Dell wymienionej powyżej lepszym poleceniem byłoby:

$ xinput --list-props "Mysz optyczna USB PixArt Dell MS116 USB"

Obszar wyróżniony poniżej czerwonym prostokątem pokazuje aktualną konfigurację urządzenia. Możesz zmienić tylko te opcje, które są pokazane w danych wyjściowych. W zależności od możliwości urządzenia niektóre dodatkowe opcje mogą być wymienione, podczas gdy inne można całkowicie pominąć.

Zmień właściwości podłączonego urządzenia

Teraz, gdy wiesz, jak sprawdzić właściwości podłączonego urządzenia wejściowego, ustawienia dla niego można łatwo zmienić za pomocą prostych poleceń.

Na przykład, aby włączyć lub wyłączyć naturalne przewijanie, musisz uruchomić polecenia w następującym formacie:

$ xinput set-prop "Mysz optyczna USB PixArt Dell MS116" 285 0
$ xinput set-prop "Mysz optyczna USB PixArt Dell MS116" 285 1

„285” to identyfikator naturalnego przewijania, jak pokazano na powyższym zrzucie ekranu. „0” wyłącza naturalne przewijanie, podczas gdy „1” je włącza. Po raz kolejny używanie identyfikatorów nie jest niezawodnym sposobem zmiany tych ustawień. Lepszym podejściem jest użycie pełnego identyfikatora nieruchomości.

$ xinput set-prop "Mysz optyczna USB PixArt Dell MS116 USB"
"libinput naturalne przewijanie włączone" 0
$ xinput set-prop "Mysz optyczna USB PixArt Dell MS116 USB"
„libinput naturalne przewijanie włączone” 1

Pamiętaj, że nie powinieneś dotykać identyfikatorów właściwości zawierających w sobie słowo „Domyślne”. Są to referencyjne wartości zastępcze i każda próba ich zmiany spowoduje, że xinput wyrzuci błąd.

Aby dowiedzieć się więcej o innych opcjach i tych wymienionych w powyższych danych wyjściowych terminala, odwiedź następujące strony strona.

Utrwalanie zmian

Opisana powyżej metoda zmienia ustawienia tylko dla aktywnej sesji. Po ponownym uruchomieniu systemu te zmiany znikną. Aby były trwałe, można zastosować dwa podejścia.

Pierwsza metoda wymaga dodania tych poleceń do aplikacji startowych. Możesz dodać tyle wpisów, ile chcesz, korzystając z ładnego interfejsu graficznego. Do utworzenia tych wpisów nie są wymagane uprawnienia administratora, a późniejsza ich zmiana jest bardzo łatwa super.

Aby dodać polecenie do aplikacji startowych, uruchom aplikację „Aplikacje startowe” z programu uruchamiającego aplikacje. Kliknij przycisk „Dodaj”, aby dodać wpis. Ustaw opis i wprowadź odpowiednią komendę xinput zgodnie ze swoimi potrzebami. Upewnij się, że pole wyboru jest zaznaczone po zapisaniu wpisu.

To wszystko, wprowadzone polecenie xinput zostanie uruchomione automatycznie przy starcie systemu. Dodałem trochę opóźnienia do polecenia, aby poczekać na prawidłowe załadowanie sesji. Dla odniesienia, oto polecenie użyte poniżej na poniższym zrzucie ekranu:

$ sleep 3 && xinput set-prop "Mysz optyczna USB PixArt Dell MS116"
„libinput naturalne przewijanie włączone” 1

Druga metoda wymaga uruchomienia kilku poleceń jako root i edycji pliku tekstowego. Zaletą korzystania z tej metody jest to, że nie trzeba tworzyć oddzielnych wpisów dla każdej opcji w GUI, a wszystko znajduje się w jednym pliku tekstowym, co ułatwia udostępnianie go między urządzeniami.

Uruchom poniższe polecenia, aby utworzyć wymagany katalog i plik conf:

$ sudo mkdir -p /etc/X11/xorg.konf.re
$ sudo touch /etc/X11/xorg.konf.d/99-libinput.konf

Zwróć uwagę na część „99” w nazwie pliku. Wskazuje kolejność ładowania plików istniejących w „xorg.konf.d” folder. Plik o najwyższym numerze jako prefiks zostanie załadowany jako ostatni, zastępując wszelkie opcje określone w poprzednich plikach w przypadku wystąpienia duplikatów. Podając „99” lub dowolny inny numer jako prefiks, możesz mieć pewność, że zostanie on załadowany po innych plikach.

Otwórz „99-libinput.conf” z dostępem do roota w Twoim ulubionym edytorze tekstu. Wprowadź poniższy fragment kodu po wprowadzeniu niezbędnych zmian zgodnie z wymaganiami.

Sekcja „Klasa wejściowa”
Identyfikator „Myszka Dell”
Dopasuj produkt „Mysz optyczna USB PixArt Dell MS116”
Opcja „Naturalne przewijanie” „prawda”
Sekcja końcowa

Gdzie:

Po prawidłowym określeniu „MatchProduct” będziesz mógł ograniczyć opcje konfiguracyjne tylko do określonego urządzenia. Zmiany wprowadzone w pliku konfiguracyjnym zaczną obowiązywać po ponownym uruchomieniu komputera następnym razem. Możesz dodać dowolną liczbę opcji w sekcji „InputClass”. Dostępna jest lista różnych opcji, które można dodać do pliku tutaj.

Wniosek

Opisana powyżej metoda jest szczególnie przydatna, gdy chcesz używać reguł konfiguracji na urządzenie. Domyślny interfejs ustawień systemu w GNOME i KDE udostępnia tylko niektóre z najczęściej używanych opcji dostępnych dla różnych urządzeń wejściowych. Aby skonfigurować zaawansowane opcje urządzenia wejściowego, nie masz innego wyboru, jak użyć „xinput” lub utworzyć dedykowany plik konfiguracyjny.

Nohup Command in Linux
Bash nohup command tutorial The meaning of nohup is 'no hangup'.  Normally, when we log out from the system then all the running programs or processes...
Wait Command in Linux
wait is a built-in command of Linux that waits for completing any running process. wait command is used with a particular process id or job id. When m...
Linux chmod Example
In this quick tutorial, we will see how we can use chmod command in an Ubuntu machine to find, modify and remove user permissions from specific files ...