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.

Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...