Ridurre la sensibilità del mouse al di sotto del limite standard


42

Ho un mouse USB collegato al mio notebook Ubuntu. Questo mouse è (purtroppo) molto sensibile e quindi a volte diventa difficile colpire piccole icone con il puntatore del mouse. Questo è davvero un problema hardware, non è un bug e non è colpa di Ubuntu / gnome. Tuttavia, mi piacerebbe molto questo problema tramite il software (la risoluzione tramite hardware implicherebbe l'acquisto di un nuovo mouse).

Di nuovo in Windows, se ho impostato la sensibilità su un valore molto basso, mi è sembrato abbastanza comodo. In Ubuntu, anche la più bassa sensibilità e accelerazione disponibili (nel menu Sistema> Prerenze> Mouse ) è ancora frustrante. Come posso diminuirlo al di sotto del minimo predefinito?

Ho provato xset, ma sembra che xset si occupi solo di accelerazione e soglia, ma non di sensibilità effettiva.


1
Dove inserisco queste righe di codice?

Risposte:


55

Ho un mouse Razer DeathAdder e, come nel tuo caso, la sensibilità / accelerazione sono troppo alte anche se le metto al livello più basso nelle preferenze del mouse. Quindi, per risolvere questo problema, ho usato il comando xinput.

Innanzitutto, avrai bisogno del mouse Nome prodotto e ID:

xinput list
...
 Razer Razer DeathAdder                     id=8    [slave  pointer  (2)]
...

Quindi imposti il ​​livello di decelerazione costante adatto alle tue esigenze con questo comando:

xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.

Per rendere persistente la configurazione (e renderla ampia a livello di sistema) , dovrai modificare il tuo xorg.conf ( /etc/X11/xorg.conf).

Section "InputClass"
   Identifier      "Razer"                    # Whatever you want.
   MatchProduct    "Razer Razer DeathAdder"   # Product name from xinput list.
   Option          "ConstantDeceleration" "3" # The same value as xinput.
EndSection

Una volta riavviato, dovresti avere lo stesso risultato del comando xinput.

Fatemi sapere se aiuta.


Stupefacente! L'avevo rinunciato settimane fa. Grazie mille, aiuta davvero.
Malabarba,

5
Bah: "la proprietà 'Device Accel Constant Deceleration' non esiste, è necessario specificarne il tipo e il formato
mlissner

1
Funziona ancora, anche per Linux Mint 17! Grazie :)
Richard de Wit,

3
se non ho il xorg.conffile, dovrei crearlo?
Ciprian Tomoiagă,

1
@mlissner prova un altro ID divice, il mio ha 3 puntatori e ho dovuto usare 10
flcoder il

6

Ubuntu 17.04

Seguire le istruzioni seguenti, ma modificare:

xinput set-prop 10 "Device Accel Constant Deceleration" 3

A:

xinput set-prop 10 "libinput Accel Speed" -0.4

Grazie @tambre. Non sono sicuro che sia l'ideale come il vecchio ambiente, ma è abbastanza vicino.

xset m 3

Funziona ancora maledettamente bene. È necessario capire come salvare, quindi questa è l'impostazione predefinita al riavvio.

Ubuntu 16.04

La risposta di @JackTravis è stata incredibilmente utile, ma penso che valga la pena aggiornarla per il 16.04 perché il file xorg.conf è stato spostato e diviso in più file. Prima di scrivere questa risposta, ho provato a utilizzare xsete giocare con le xinputimpostazioni per un po 'prima di decidere che l' xinput ConstantDeceleration 3impostazione di JackTravis era la migliore sia per il mio Logitech M510 sul mio desktop sia per un vecchio mouse cablato sul mio laptop.

1. Elenca i topi

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=10   [slave  pointer  (2)]
⎜   ↳ Synaptics Inc. Composite TouchPad / TrackPoint    id=13   [slave  pointer  (2)]
...

Il mio mouse era il Logitech M510, id=10quindi lo userò in questo esempio. Dovrai sostituirlo con qualunque sia il tuo mouse chiamato. Ora, usa xinput set-propper provare varie impostazioni fino a quando il mouse non si sposta esattamente come desideri. Quanto 10segue corrisponde a id=10per il mio mouse sul mio sistema. Probabilmente dovrai cambiarlo.

2. Modifica le tue impostazioni temporaneamente

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

Se sei curioso di sapere quali altre impostazioni influiscono sul tuo dispositivo, prova

$ xinput --list-props 10

Per cancellare le impostazioni dopo averle davvero incasinate, tutto quello che dovevo fare era scollegare e ricollegare il mouse.

3. Salvare la nuova impostazione in modo permanente

Se ti piace ConstantDeceleration di 3, allora devi aggiungere un file xorg.conf nel nuovo modo di Ubuntu 16.04: aggiungendo un nuovo file in /usr/share/X11/xorg.conf.d/ Dovrai cambiare Logitech M510e logitech-m510il nome del file in modo che corrisponda al tuo mouse. Penso che 60-all'inizio del nome del file sia la priorità con cui vengono caricati questi file. Il seguente comando shell a una riga è quello che ho inserito nel mio machineSetup.shfile in Dropbox in modo da poter personalizzare rapidamente una nuova macchina esattamente come mi piace in pochi minuti da una nuova installazione:

sudo sh -c "echo 'Section \"InputClass\"\n\
   Identifier      \"My awesome new mouse\"\n\
   MatchProduct    \"Logitech M510\"\n\
   Option          \"ConstantDeceleration\" \"3\"\n\
EndSection\n' > /usr/share/X11/xorg.conf.d/60-logitech-m510.conf"

OPPURE , se si desidera farlo nel modo GUI, aprire un editor come root, quindi incollare e modificare quanto segue in/usr/share/X11/xorg.conf.d/60-<whatever>.conf

Section "InputClass"
   Identifier      "My Awesome Blue Mouse"
   MatchProduct    "Logitech M510"
   Option          "ConstantDeceleration" "3"
EndSection

4. Riavvia

Questo è tutto. Basta riavviare e verificare che le nuove impostazioni abbiano avuto effetto.


1
Sfortunatamente ottengo quanto segue: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatquando provo il comando nel secondo passaggio (con il mio ID dispositivo).
tambre,

@tambre la mia ipotesi è che non hai usato l'ID numerico corretto identificato nel passaggio 1 quando hai eseguito il passaggio 2. In caso contrario, probabilmente non saprò abbastanza per poterti aiutare.
GlenPeterson,

1
Dopo aver elencato le proprietà, Device Accel Constant Decelerationnon esiste lì. Sembra che stia usando libinput come driver, quindi ho dovuto modificare il valore di libinput Accel Speed, i cui valori validi sono invece da -1 a 1.
tambre,

1
Questo ha funzionato per me, ma il mio mouse (un "Razer Razer DeathAdder 2013") è apparso più volte sotto Virtual core pointer(due volte) e Virtual core keyboard(una volta). Solo i pointerdispositivi avevano Device Accel Constant Deceleration, quindi ho dovuto assicurarmi di selezionare uno di quei dispositivi durante i test con xinput. Il xorg.conf.dfile funzionava ancora perfettamente.
Alex

2

Risposta in ritardo, ma penso che valga la pena pubblicare questo messaggio:

Dal momento che stiamo parlando di mouse da gioco qui. Meglio disattivare completamente l'accelerazione del mouse (utile per i giocatori FPS ecc.). Salva alcuni cicli della CPU non utilizzandolo per calcolare qualsiasi accelerazione del mouse e probabilmente anche letture più accurate (dipende o il sensore hardware del mouse ha un'estrapolazione integrata).

xinput set-prop <mousedevice_nr> "Device Accel Profile" -1

o

Section "InputClass"
   Identifier      "Razer"
   MatchProduct    "Razer DeathAdder"         # Product name from xinput list.
   Option          "AccelerationProfile" "-1" # Turn mouse accel off saving CPU cycles
EndSection

fonte


Ottengo questo: X Error of failed request: BadValue (integer parameter out of range for operation).
MasterOfBinary il

fantastico questo è stato fantastico grazie. Sto riscontrando problemi con la mia Kingsis Peripherals Evoluent VerticalMouse 3. Ha un'impostazione DPI nella parte inferiore del mouse e con le impostazioni DPI più elevate - anche le impostazioni di sensibilità più bassa sono ancora troppo alte.
anon58192932

2

Una leggera modifica alla risposta di Glen, questo funziona per il mio mouse Logitech e raddoppia la "lentezza" da 1 a 2.

Aggiungi a ~ / .profile (come sottolineato nel commento) (o .bashrc ma poi devi avviare un terminale affinché avvenga la modifica)

MOUSE_SLOWNESS=2
MOUSE_ID=`xinput list | grep Mouse | awk '{print $(NF-3)}' | cut -c4-5`
xinput set-prop $MOUSE_ID "Device Accel Constant Deceleration" $MOUSE_SLOWNESS

1
Penso che sia meglio aggiungere quelle righe alla fine .profileinvece di .bashrc. .profileviene eseguito solo da shell di login interattive nel frattempo .bashrcverrà eseguito ogni volta che bashviene avviata una shell. Vedi questa risposta per maggiori informazioni.
chus,

tecnicamente .bash_aliasesfunziona anche perché il .bashrcfile Ubuntu standard lo carica correttamente?
anon58192932

1

Se usi la porta PS2 il movimento del mouse è molto più lento per la stessa risoluzione del mouse.

Per il tuo mouse prova a utilizzare un convertitore da USB a PS2 e inseriscilo nella porta PS2.

Modificare:

Ho trovato la xorg.confsoluzione di lavoro:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

Laddove una sensibilità di 1 è quella predefinita e quella di 0,2 la diminuisce di cinque volte.


Questa è un'idea creativa. Penso di avere un convertitore a casa, quindi lo proverò domani.
Malabarba,

Ho trovato una soluzione xorg.conf funzionante. Risposta modificata.
iugamarian,

1
Tuttavia, questo non funzionerà sui laptop.
Daniel Silva,

Dov'è xorg.conf?
Verde
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.