Mus

Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux

Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhændelser på både Wayland og X og kan håndtere en række inputenheder, herunder touchscreen-skærme og styluspenne.

Denne artikel forklarer ændring af forskellige muligheder for en inputenhed, der håndteres af libinput-biblioteket. For at kontrollere og konfigurere tilgængelige indstillinger anvendes et kommandolinjeværktøj kaldet “xinput”.

Bemærk, at denne vejledning kun fungerer med X-displayserver. For Wayland skal du stole på systemindstillinger leveret af distributionen eller bruge et centraliseret konfigurationsværktøj som gsettings.

Liste over inputenheder

Xinput kommer forudinstalleret som standard på Ubuntu. Hvis det af en eller anden grund ikke er installeret på dit system, skal du køre kommandoen nedenfor for at installere det:

$ sudo apt installere xinput

For at liste alle indbyggede og eksterne inputenheder, der er tilsluttet dit system, skal du køre kommandoen nedenfor:

$ xinput - liste

Du vil se noget output i terminalen som denne:

Indtastningen under “Virtual core pointer” (fremhævet med røde pile) er en kablet USB-mus tilsluttet til mit system. Du bliver nødt til at bruge det nøjagtige navn eller id vist i skærmbilledet ovenfor for at konfigurere mus eller touchpad-indstillinger via kommandolinjeværktøjet xinput.

Bemærk, at i skærmbilledet ovenfor viser xinput egenskaber for enheder, der er forbundet til mit system. Enhedsnavne og ID'er vil være forskellige for dit system afhængigt af din hardwarekonfiguration og eksterne enheder, der er tilsluttet via USB, Bluetooth eller trådløse modtagere.

Se egenskaber for en tilsluttet enhed

For at se den aktuelle status og forskellige indstillinger, der er aktive for enheden, der er anført ovenfor, skal du køre en kommando i følgende format:

$ xinput - list-rekvisitter “id”

For Dell-musen, der er anført ovenfor, ville kommandoen være:

$ xinput - liste-rekvisitter 8

Der er en begrænsning ved at bruge denne kommando. ID'er vist i terminaludgangen har tendens til at ændre sig, når du slutter en anført enhed til en anden port. Da id'erne fortsætter med at ændre sig, er der altid en chance for ved et uheld at ændre indstillinger for en anden enhed. For at løse dette problem er det bedre at bruge det fulde enhedsnavn som id i stedet for dets id. Så for den Dell-mus, der er anført ovenfor, ville den bedre kommando være:

$ xinput - list-rekvisitter "PixArt Dell MS116 USB optisk mus"

Området fremhævet nedenfor i rødt rektangel viser den aktuelle konfiguration for enheden. Du kan kun ændre indstillinger, der vises i output. Afhængig af funktionerne på din enhed kan nogle ekstra indstillinger blive vist, mens andre helt kan udelades.

Skift egenskaber for en tilsluttet enhed

Nu hvor du ved, hvordan du kontrollerer egenskaberne for en tilsluttet inputenhed, kan indstillinger for den let ændres ved hjælp af nogle enkle kommandoer.

For at aktivere eller deaktivere naturlig rulning skal du f.eks. Køre kommandoer i følgende format:

$ xinput set-prop "PixArt Dell MS116 USB optisk mus" 285 0
$ xinput set-prop "PixArt Dell MS116 USB optisk mus" 285 1

"285" er id'et til naturlig rulning, som vist på skærmbilledet ovenfor. "0" deaktiverer naturlig rulning, mens "1" aktiverer det. Igen er brug af id'er ikke en pålidelig måde at ændre disse indstillinger på. En bedre tilgang er at bruge den fulde egenskabsidentifikator.

$ xinput set-prop "PixArt Dell MS116 USB optisk mus"
"libinput Natural Scrolling Enabled" 0
$ xinput set-prop "PixArt Dell MS116 USB optisk mus"
"libinput Natural Scrolling Enabled" 1

Bemærk, at du ikke skal røre egenskabsidentifikatorer, der har ordet "Standard". Dette er referenceværdier, og ethvert forsøg på at ændre dem vil resultere i, at xinput kaster en fejl.

Hvis du vil vide mere om andre muligheder og dem, der er angivet i terminaloutputen ovenfor, skal du besøge følgende side.

Gør ændringer vedholdende

Metoden beskrevet ovenfor ændrer kun indstillingerne for aktiv session. Når du genstarter systemet, er disse ændringer væk. For at gøre dem vedholdende kan to tilgange bruges.

Den første metode kræver, at du tilføjer disse kommandoer til startprogrammer. Du kan tilføje så mange poster som du vil ved hjælp af en flot grafisk grænseflade. Ingen rodtilladelser er nødvendige for at oprette disse poster, plus at ændre dem senere er super nemt.

For at tilføje kommandoen til startprogrammer skal du starte “Startup Applications” -appen fra applikationsstarteren. Klik på knappen "Tilføj" for at tilføje en post. Angiv en beskrivelse, og indtast passende xinput-kommando efter dine behov. Sørg for, at afkrydsningsfeltet er markeret, når du har gemt posten.

Det er det, den xinput-kommando, du har indtastet, kører automatisk ved systemstart. Jeg har tilføjet en lille smule forsinkelse til kommandoen for at vente på, at sessionen indlæses korrekt. Til reference er her kommandoen, der bruges nedenfor i skærmbilledet nedenfor:

$ sleep 3 && xinput sæt-prop "PixArt Dell MS116 USB optisk mus"
"libinput Natural Scrolling Enabled" 1

Den anden metode kræver, at du kører nogle kommandoer som root og redigerer en tekstfil. Fordelen ved at bruge denne metode er, at du ikke behøver at oprette separate poster for hver mulighed i en GUI, og alt ligger bare i en tekstfil, hvilket gør det lettere at dele det mellem enheder.

Kør nedenstående kommandoer for at oprette den ønskede mappe og conf-filen:

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

Læg mærke til "99" -delen i filnavnet. Det angiver belastningsrækkefølgen for de filer, der findes i “xorg.konf.d ”-mappe. En fil, der har det højeste tal som præfiks, indlæses sidst og tilsidesætter de indstillinger, der er angivet i tidligere filer, hvis der er dubletter. Ved at angive "99" eller ethvert andet nummer som et præfiks, kan du sikre, at det indlæses efter andre filer.

Åbn “99-libinput.conf ”-fil med rodadgang i din foretrukne teksteditor. Indtast kodestykket nedenfor efter at have foretaget de nødvendige ændringer i henhold til dine krav.

Afsnit "InputClass"
Identifikator "Dell Mouse"
MatchProduct "PixArt Dell MS116 USB optisk mus"
Mulighed "NaturalScrolling" "true"
EndSection

Hvor:

Ved korrekt angivelse af "MatchProduct" kan du kun begrænse konfigurationsindstillingerne til en bestemt enhed. Ændringer foretaget i conf-filen vil træde i kraft, når du genstarter næste gang. Du kan tilføje et hvilket som helst antal indstillinger i afsnittet "InputClass". En liste over forskellige muligheder, der kan føjes til filen, er tilgængelig her.

Konklusion

Metoden forklaret ovenfor er især nyttig, når du vil bruge pr. Enhedskonfigurationsregler. Standardgrænsefladen til systemindstillinger i GNOME og KDE giver kun nogle af de mest anvendte indstillinger, der er tilgængelige for forskellige inputenheder. For at konfigurere avancerede indstillinger for en inputenhed har du intet andet valg end at bruge “xinput” eller oprette en dedikeret konfigurationsfil.

Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...