Come posso impostare la sensibilità del mouse, non solo l'accelerazione del mouse?


35

Non riesco a trovare un singolo ambiente desktop che supporti l'impostazione sia dell'accelerazione del mouse sia della sensibilità del mouse. Non voglio alcuna accelerazione del mouse, ma voglio aumentare la velocità del mio mouse. Ciò significa che se muovo il mouse alla stessa distanza, il puntatore si sposta sempre alla stessa distanza, indipendentemente dalla velocità con cui muovo il mouse.

KDE mi permetterà di impostare l'accelerazione del mouse su 1x, ma il mouse si sposta troppo lentamente e non riesco a capire come aumentare la velocità. Sono disposto ad accettare una soluzione CLI, ma sono stato solo in grado xinputdi cambiare l'accelerazione. Non ricordo di aver avuto molta fortuna xset, neanche.


Non puoi farlo aumentando sia l'accelerazione che la soglia alla quale viene innescata l'accelerazione? Fa questo aiuto?
terdon

1
Io non la penso così. Se capisco correttamente, ciò mi lascerebbe semplicemente con un mouse lento a 1x accel fino a quando non sposterò il puntatore di una certa distanza, su cui accel entrerebbe. Voglio che il mio puntatore si muova sempre alla stessa velocità . Non voglio alcuna accelerazione.
David Gay,

Nemmeno io ne sono sicuro, ma sembra che stia andando da qualche parte xset m 3 400, con l'idea di impostare la soglia abbastanza alta da non superarla mai, quindi non si ha l'accelerazione in quanto tale. Forse se ci giochi un po '?
terdon

So che posso eliminare l'accelerazione, ma voglio aumentare la VELOCITÀ senza accelerazione. Velocità aumentata, accelerazione zero. Sto parlando in #kde in questo momento e sembra che l'unica soluzione potrebbe essere l'acquisto di un mouse con un DPI maggiore. : / Se non avrò una buona risposta da un po ', risponderò io stesso come impossibile.
David Gay,

3
Questo è stato chiesto e risposto su Ubuntu SE: askubuntu.com/questions/172972/…
Warren Young,

Risposte:


26

Basta forzare il puntatore per saltare i pixel, ecco come:

Dispositivi di input del primo elenco:

$ xinput list                                                               
⎡ Virtual core pointer                          id=2    [master pointer  (3)]                                 
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]                                 
⎜   ↳ PixArt USB Optical Mouse                  id=10   [slave  pointer  (2)]                                 
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]                                 
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]                                 
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]                                 
    ↳ Power Button                              id=6    [slave  keyboard (3)]                                 
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]                                 
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]                                 
    ↳ USB2.0 UVC 2M WebCam                      id=9    [slave  keyboard (3)]                                 
    ↳ Asus Laptop extra buttons                 id=13   [slave  keyboard (3)]                                 
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]   

Nell'esempio vediamo che l'id del mouse è 10. Elenco successivo delle sue proprietà:

$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (260):        2362, 9488
        Device Node (261):      "/dev/input/event5"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
        Button Labels (273):    "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
        Evdev Middle Button Emulation (274):    0
        Evdev Middle Button Timeout (275):      50
        Evdev Third Button Emulation (276):     0
        Evdev Third Button Emulation Timeout (277):     1000
        Evdev Third Button Emulation Button (278):      3
        Evdev Third Button Emulation Threshold (279):   20
        Evdev Wheel Emulation (280):    0
        Evdev Wheel Emulation Axes (281):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (282):    10
        Evdev Wheel Emulation Timeout (283):    200
        Evdev Wheel Emulation Button (284):     4
        Evdev Drag Lock Buttons (285):  0

Vogliamo la «Matrice di trasformazione coordinata», ricordiamo la sua №142.

Modificando questa proprietà è possibile aumentare la velocità del puntatore. È una matrice di trasformazione, utilizzata per calcolare un movimento del puntatore . Dal link:

Per impostazione predefinita, il marchio comunitario per ogni dispositivo di input in X è la matrice di identità. Ad esempio, supponiamo che si tocchi un touchscreen nel punto (400, 197) sullo schermo:

⎡ 1 0 0 ⎤   ⎡ 400 ⎤   ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦   ⎣  1  ⎦   ⎣  1  ⎦

Le coordinate X e Y dell'evento del dispositivo vengono immesse nella seconda matrice del calcolo. Il risultato del calcolo è dove le coordinate X e Y dell'evento sono mappate sullo schermo. Come mostrato, la matrice identità identifica le coordinate del dispositivo sulle coordinate dello schermo senza alcuna modifica.

Quindi, vogliamo aumentare i valori in base alla x ed y , aumentando così la velocità del puntatore. Un esempio dal mio PC:

$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000

Lo è xinput set-prop <device-id> <property-number> <property-values>. Gioca un po 'con questo fino a trovare quello appropriato. Nota: non modificare l'ultimo valore della matrice. Questo è stato il mio errore quando l'ho provato per ottenere lavoro - in questo caso non vedrai alcuna differenza.

Ringraziamenti: sono grato a Simon Thum dalla mailing list di xorg, è stato lui a dare il suggerimento sulla matrice.

UPD : nota, alcuni giochi Windows con Wine potrebbero avere un comportamento del puntatore strano (ad esempio notato che l'obiettivo nel vecchio Counter Strike 1.6 declina verso il basso, fino a quando non fissa il pavimento, indipendentemente da come muovi il mouse) , in questo caso basta resettare x e y di CTM a 1 prima di eseguire il gioco.


1
@ Wyatt8740 Di recente ho notato che in alcune circostanze il numero della proprietà potrebbe cambiare da solo, in tal caso è possibile utilizzare il nome del dispositivo / proprietà anziché un numero. Vale a dire con il mio dispositivo: xinput set-prop "PixArt USB Optical Mouse" "Coordinate Transformation Matrix" 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000.
Ciao Angelo

sì, ho usato anche quelle corde.
Wyatt8740,

1
Fantastico, l'unica cosa che funziona per me
MichalH

17

Quanto segue è stato copiato alla lettera da una risposta che @Luke ha pubblicato su Ask Ubuntu. Lo sto pubblicando come una risposta wiki della comunità, quindi le informazioni possono essere anche su questo sito.


KDE non l'ha ancora integrato nel suo centro di controllo, ma puoi usare xinput dalla riga di comando. Innanzitutto, esegui xinput listper trovare il numero di dispositivo del mouse:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

Sul mio laptop, l'id del dispositivo che desidero è 10 (SynPS / 2 Synaptics TouchPad). Sul tuo sistema, dovrai decidere quale dispositivo è quello corretto. Quindi, esegui xinput list-props <your device id>per visualizzare le impostazioni correnti per quel dispositivo:

$ xinput list-props 10
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (144):   1
    Device Accel Profile (266):     1
    Device Accel Constant Deceleration (267):       2.500000
    Device Accel Adaptive Deceleration (268):       1.000000
    Device Accel Velocity Scaling (269):    12.500000
  [ many more settings omitted ]

La proprietà che ti interessa è "Device Accel Constant Deceleration (267)". Per rallentare il mouse, è necessario aumentare il valore eseguendo xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

In questo esempio, il valore viene aumentato da 2,5 a 5,0 e il mouse si sposta a metà velocità.


Spiegazione delle proprietà può essere trovata su X.org .

Se uno lo utilizza negli script, l'uso di nomi completi può essere di aiuto in quanto ID, ecc. Può cambiare. Per esempio:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1

Se non sei d'accordo con quello che ho fatto qui, vieni a dirmelo su questo meta post.
terdon

1
Se potessi semplicemente chiarire: "Device Accel Constant Deceleration" ha a che fare con l'accelerazione o la sensibilità? Potresti per favore dare un esempio di comando per la mia domanda? Uno che rimuove tutta l'accelerazione del mouse ma mi consente ancora di aumentare la sensibilità del mouse (SENZA accelerazione)?
David Gay,

@oddshocks onestamente, non ne ho idea. L'ho copiato dal sito a cui mi collego. Anche questo è un sito SE, vorrei semplicemente chiedere loro.
terdon

@terdon quindi come posso aumentare la velocità del puntatore del mouse? L'opzione che hai indicato è impostata su «1.0» per impostazione predefinita e un tentativo di ridurlo ulteriormente fornisce un valore negativo o, almeno, qualcosa come «0.1» genera un errore.
Ciao Angelo

1
Funziona solo se il tuo dispositivo consente quell'opzione, cosa mia no. Puoi controllare conxinput list-props <device-id>
Franklin,

4

Se stai usando Xorg.conf per configurare il tuo X Server, puoi usarlo per impostare l'accelerazione o la decelerazione. Aggiungi qualcosa all'effetto di:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "ConstantDeceleration" "multiplier"
EndSection

dove il moltiplicatore è quante volte più lento vuoi che il mouse vada. 0,5 raddoppierebbe la velocità o 2 la dimezzerebbe. Equivalentemente, sebbene più complesso:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "TransformationMatrix" "a b c d e f g h i"
EndSection

dove "a" attraverso "i" sono la matrice di trasformazione, come descritto in altre risposte.
Fonte: manpage xorg.conf


2

Uso le seguenti impostazioni in Mint 17.2 + Cannella, ma penso che funzioni anche nel tuo ambiente.

xinput list # to get the id of your mouse
xinput list-props 10 # to list the properties of your mouse
xinput set-prop 10 'Device Accel Profile' -1 # turns off mouseaccel
xinput set-prop 10 'Device Accel Constant Deceleration' 1.5 # settings the sens

Ti consiglio di impostare prima il DPI sul tuo mouse (ho dei pulsanti per quello). Dopodiché puoi ridurre la decelerazione se hai ancora un sens troppo basso.

Se tutto va bene, puoi inserirlo nel file corretto nel tuo sistema, quindi caricherà le impostazioni avviando. Per me quel file è il ~/.xinputrc.

Alcune informazioni su queste proprietà di xinput: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/

(Nota: adoro Linux! <3 Dopo aver "aggiornato" il mio sistema da XP nel 2009. Da allora ho avuto mouseaccel su Windows 7, non importa quale accelfix ho provato. Fidati di me, ho provato tutti. Adesso dopo 6 anni , Sono riuscito a spegnerlo su Linux Mint. :-) Era un po 'troppo tardi, ho chiuso il mio gestore di giochi almeno in parte per questo. Significava una precisione del -20% nel mio FPS. Quindi ho giocato al 40% invece del 50-60% secondo, che è un'abilità a basso costo invece di un massimo. Il gioco è morto ora, ma è comunque un rilascio che non devo sopportare questa cosa da mouseaccel usando il sistema operativo.)


0

in Ubuntu 16.04 la proprietà per il mio mouse è:

Device Accel Constant Deceleration (279)

L'impostazione predefinita è 1.0. Se aumenti il ​​valore, il mouse rallenterà.


0

prova LXInput, questo è quello che uso, non mi ero reso conto dell'accelerazione e della sensibilità finché non ho letto il tuo post ^ (grazie mille!) è nel repository standard per Ubuntu 16.04. Nota che sto impostando DPI del mouse tramite Solaar, quindi non sono sicuro che Solaar e LXInput interagiscano in un modo che renderebbe LXInput inutile da solo. modifica scusa Penso che la "sensibilità" e l '"accelerazione" di LXInpu siano diverse dalla velocità. penso che la "sensibilità" sia la sensibilità dell'accelerazione. spiacente. tuttavia-> Solaar può sicuramente essere usato per impostare DPI / Velocità per i topi logitech, ma solo gli ultimi da Github, non quelli nei repository


LXInput è un'applicazione GUI per l'ambiente desktop leggero X11 (LXDE).

Configura le impostazioni di tastiera e mouse:

  • Ritardo e intervallo per la ripetizione del carattere * Abilita / disabilita i segnali acustici di errore immissione tastiera * Scambia i pulsanti sinistro e destro del mouse * Accelerazione e sensibilità del mouse

0.3.5-1 Ubuntu

406,5 kB

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.