Topo

Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux

Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un sistema. Può elaborare eventi di input sia su Wayland che su X e può gestire una varietà di dispositivi di input inclusi display touchscreen e penne stilografiche.

Questo articolo spiega come cambiare varie opzioni per un dispositivo di input gestito dalla libreria libinput. Per controllare e configurare le opzioni disponibili, verrà utilizzato uno strumento da riga di comando chiamato "xinput".

Nota che questa guida funziona solo con il server di visualizzazione X. Per Wayland, devi fare affidamento sulle impostazioni di sistema fornite dalla distribuzione o utilizzare un'utilità di configurazione centralizzata come gsettings.

Elenco dispositivi di input

Xinput è preinstallato di default su Ubuntu. Se per qualche motivo non è installato sul tuo sistema, esegui il comando seguente per installarlo:

$ sudo apt install xinput

Per elencare tutti i dispositivi di input integrati ed esterni collegati al sistema, esegui il comando seguente:

$ xinput --list

Vedrai un output nel terminale come questo:

La voce in "Puntatore core virtuale" (evidenziata dalle frecce rosse) è un mouse USB cablato collegato al mio sistema. Dovrai utilizzare il nome esatto o l'id mostrato nella schermata sopra per configurare le impostazioni del mouse o del touchpad tramite lo strumento da riga di comando xinput.

Nota che nello screenshot qui sopra, xinput mostra le proprietà dei dispositivi collegati al mio sistema. I nomi e gli ID dei dispositivi saranno diversi per il tuo sistema a seconda della configurazione hardware e dei dispositivi esterni collegati tramite USB, Bluetooth o ricevitori wireless.

Visualizza le proprietà di un dispositivo connesso

Per vedere lo stato corrente e le varie opzioni attive per il dispositivo sopra elencato, eseguire un comando nel seguente formato:

$ xinput --list-props “id”

Per il mouse Dell sopra elencato, il comando sarebbe:

$ xinput --list-props 8

C'è una limitazione con l'uso di questo comando. Gli ID mostrati nell'output del terminale tendono a cambiare quando si collega un dispositivo elencato a una porta diversa. Poiché gli ID continuano a cambiare, c'è sempre la possibilità di modificare accidentalmente le impostazioni per un dispositivo diverso. Per superare questo problema, è meglio utilizzare il nome completo del dispositivo come identificatore anziché il suo ID. Quindi, per il mouse Dell sopra elencato, il comando migliore sarebbe:

$ xinput --list-props "Mouse ottico USB PixArt Dell MS116"

L'area evidenziata di seguito nel rettangolo rosso mostra la configurazione corrente per il dispositivo. Puoi modificare solo le opzioni che vengono mostrate nell'output. A seconda delle capacità del tuo dispositivo, alcune opzioni extra potrebbero essere elencate mentre altre possono essere omesse del tutto.

Modifica delle proprietà di un dispositivo connesso

Ora che sai come controllare le proprietà di un dispositivo di input connesso, le impostazioni possono essere facilmente modificate utilizzando alcuni semplici comandi.

Ad esempio, per abilitare o disabilitare lo scorrimento naturale, devi eseguire i comandi nel seguente formato:

$ xinput set-prop "Mouse ottico USB PixArt Dell MS116" 285 0
$ xinput set-prop "Mouse ottico USB PixArt Dell MS116" 285 1

"285" è l'id per lo scorrimento naturale, come mostrato nella schermata sopra. "0" disabilita lo scorrimento naturale mentre "1" lo abilita. Ancora una volta, l'utilizzo degli ID non è un modo affidabile per modificare queste impostazioni. Un approccio migliore consiste nell'utilizzare l'identificatore di proprietà completo.

$ xinput set-prop "Mouse ottico USB PixArt Dell MS116"
"libinput scorrimento naturale abilitato" 0
$ xinput set-prop "Mouse ottico USB PixArt Dell MS116"
"libinput scorrimento naturale abilitato" 1

Nota che non dovresti toccare gli identificatori di proprietà che contengono la parola "Predefinito". Questi sono valori di fallback di riferimento e qualsiasi tentativo di modificarli risulterà in xinput che genera un errore.

Per saperne di più su altre opzioni e su quelle elencate nell'output del terminale sopra, visita quanto segue pagina.

Rendere persistenti le modifiche

Il metodo spiegato sopra modifica le impostazioni solo per la sessione attiva. Quando si riavvia il sistema, queste modifiche scompariranno. Per renderli persistenti, possono essere utilizzati due approcci.

Il primo metodo richiede di aggiungere questi comandi alle applicazioni di avvio. Puoi aggiungere tutte le voci che desideri utilizzando una bella interfaccia grafica. Non sono necessari permessi di root per creare queste voci, inoltre modificarle in un secondo momento è semplicissimo.

Per aggiungere il comando alle applicazioni di avvio, avvia l'app "Applicazioni di avvio" dal lanciatore dell'applicazione. Fare clic sul pulsante "Aggiungi" per aggiungere una voce. Imposta una descrizione e inserisci il comando xinput appropriato secondo le tue esigenze. Assicurati che la casella di controllo sia selezionata dopo aver salvato la voce.

Ecco fatto, il comando xinput che hai inserito verrà eseguito automaticamente all'avvio del sistema. Ho aggiunto un po' di ritardo al comando per attendere che la sessione venga caricata correttamente. Per riferimento, ecco il comando utilizzato di seguito nello screenshot seguente:

$ sleep 3 && xinput set-prop "Mouse ottico USB PixArt Dell MS116"
"libinput scorrimento naturale abilitato" 1

Il secondo metodo richiede di eseguire alcuni comandi come root e modificare un file di testo. Il vantaggio dell'utilizzo di questo metodo è che non è necessario creare voci separate per ciascuna opzione in una GUI e tutto risiede semplicemente in un file di testo, rendendo più semplice la condivisione tra dispositivi.

Esegui i comandi seguenti per creare la directory richiesta e il file conf:

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

Notare la parte "99" nel nome del file. Indica l'ordine di caricamento dei file che esistono in “xorg.conf.d" cartella. Un file che ha il numero più alto come prefisso verrà caricato per ultimo, sovrascrivendo eventuali opzioni specificate nei file precedenti in caso di duplicati. Specificando "99" o qualsiasi altro numero come prefisso, puoi assicurarti che venga caricato dopo altri file.

Apri “99-libinput.conf" con accesso root nel tuo editor di testo preferito. Inserisci lo snippet di codice di seguito dopo aver apportato le modifiche necessarie secondo le tue esigenze.

Sezione "InputClass"
Identificatore "Mouse Dell"
MatchProduct "Mouse ottico USB PixArt Dell MS116"
Opzione "Scorrimento naturale" "vero"
Sezione finale

Dove:

Specificando correttamente "MatchProduct", sarai in grado di limitare le opzioni di configurazione solo a un dispositivo specifico. Le modifiche apportate al file conf avranno effetto al riavvio successivo. Puoi aggiungere un numero qualsiasi di opzioni nella sezione "InputClass". È disponibile un elenco di varie opzioni che possono essere aggiunte al file Qui.

Conclusione

Il metodo spiegato sopra è particolarmente utile quando si desidera utilizzare le regole di configurazione per dispositivo. L'interfaccia delle impostazioni di sistema predefinite in GNOME e KDE fornisce solo alcune delle opzioni più comunemente usate disponibili per vari dispositivi di input. Per configurare le opzioni avanzate per un dispositivo di input, non hai altra scelta che usare "xinput" o creare un file di configurazione dedicato.

Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...