Configura la velocità del mouse (non l'accelerazione del puntatore!)


30

C'è un modo per aumentare la velocità del mouse in KDE4? Non voglio alcuna accelerazione del puntatore, è solo la velocità del mouse che voglio cambiare.

Modifica : Sfortunatamente, la modifica di xorg.conf non è un'opzione per me, perché voglio che gli utenti siano in grado di configurare autonomamente la velocità del mouse ed è politica dell'azienda negare agli utenti il ​​permesso di cambiare xorg.conf.


2
qual è la differenza tra quei due?
Web-E

3
@ Web-E Acceleration è la velocità con cui la velocità cambia con il tempo
Oleh Prypin

@ Web-E quelle sono 2 cose diverse.
Bruno Pereira,

Risposte:


35

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à.


5
Non puoi impostare questo valore al di sotto di 1.0, che nel mio caso è ancora troppo lento.
pong,

2
Nessun problema con gli oggetti di scena, ma set-proprisulta: X Errore di richiesta non riuscita: BadAccess (tentativo di accedere a una risorsa privata negata) X.Org X Server 1.16.0, con desktop Unity in esecuzione. Per X.Org X Server 1.9.3.90 l'id del mouse è 6 e il numero di proprietà 233.
Incnis Mrsi,

2
Ancora meglio: xinput set-prop 'SynPS / 2 Synaptics TouchPad' 'Device Accel Constant Deceleration' 2.5
Simon Thum

2
questa impostazione si attacca dopo il riavvio? se no, possiamo farcela?
Ciprian Tomoiagă,

3
Cosa fare se "Device Accel Constant Deceleration" non è nemmeno un'opzione disponibile?
DaVince,

14

La terminologia delle impostazioni del mouse in Linux (Xorg) è leggermente diversa dal mondo di Windows.

Esistono tre impostazioni importanti:

  • threshold - Il grilletto per l'accelerazione
  • acceleration - La velocità dopo il raggiungimento della soglia
  • resolution - La velocità"

Queste impostazioni sono indipendenti dall'ambiente desktop. Sono impostazioni X pure. Quindi funziona sempre. Guarda anche la sezione del mousexset per un modo veramente indipendente di modificare queste impostazioni.

Il gestore delle impostazioni di Unity sembra rinominare la thresholdsensibilità. Ma mentre stai parlando di KDE, questo non dovrebbe importare.

Solo thresholde accelerationpuò essere modificato dall'utente. Ilresolution un'impostazione da effettuare xorg.conf. Ma di solito, le prime due impostazioni sono sufficienti per la maggior parte degli utenti.

Linuxreviews ha una spiegazione di questi valori.

Fondamentalmente: il mouse si sposta a una velocità di base (modificabile usando resolution). Se il mouse sposta n pixel (n = threshold) in breve tempo, la velocità di base viene moltiplicata per acceleration. Ad esempio, se si desidera disabilitare completamente l'accelerazione, è possibile impostare la soglia su 0. In parole: se il mouse sposta i 0pixel in breve tempo, lo useròbase-speed * acceleration . Quindi una soglia di 0ti dà una velocità costante del mouse.

Quindi, questi due valori ti danno un controllo molto fine sulla velocità.


1
Il parametro in questione è la risoluzione, che non può essere modificata con xset.
Luca

Per chiarire, la soglia = 0 ti dà l'accelerazione polinomiale in X, che non è affatto come la velocità costante. Usa la soluzione sopra.
Simon Thum,

@SimonThum è davvero così? Ho anche pensato che l'accelerazione dovrebbe essere lineare (nonostante una transizione tra velocità base e velocità finale = velocità base * accelerazione). L'ho letto molte volte nelle sezioni dei commenti. Hai fonti a supporto del tuo reclamo?
daniel451,


Non capisco perché tutti si aspettino di usare l'accelerazione del mouse in questi giorni e la risoluzione non sia facilmente accessibile. L'unica impostazione ragionevole quando si desidera avere un mouse ad alta precisione è l'accelerazione disattivata e la riduzione della velocità (piatta) perché i mouse laser moderni hanno DPI alti pazzi che sono mappati dal sistema ad alta velocità pazzi. Ma non voglio seed, voglio precisione - preferibilmente sub-pixel.
Prokop Hapala,

13

I passaggi per aumentare la sensibilità del mouse:

Prima elenca tutti i dispositivi:

$ 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): 10.400000, 0.000000, 0.000000, 0.000000, 10.400000, 0.000000, 0.000000, 0.000000, 10.400000
        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

La «matrice di trasformazione delle coordinate» è esattamente ciò che vogliamo. Ricorda che è №142.

Modificando questa proprietà è possibile aumentare la velocità del puntatore. Questi valori sono in realtà 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 di toccare 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.

Allora, che cosa vogliamo fare con la matrice - è quello di impostare i valori che secondo x e y a qualsiasi altro particolare valore, e questo cambierebbe 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

È xinput set-prop <device-id> <property-number> <property-values> . Gioca un po 'con questo fino a trovare quelli appropriati. 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.

Le versioni almeno recenti di xinputconsentono di specificare i dispositivi e le opzioni per nome, quindi questo esempio può funzionare anche:

xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1

Queste modifiche sono attive solo per la sessione corrente, quindi una volta scelta una buona sensibilità, è necessario applicarla in modo permanente aggiungendola a xorg.conf(o creando un file come /etc/X11/xorg.conf.d/40-mouse-sensitivity.conf):

Section "InputClass"
    Identifier "PixArt USB Optical Mouse"
    MatchIsPointer "Yes"
    Option "TransformationMatrix" "1.2 0 0 0 1.2 0 0 0 1"
EndSection

Se non sei sicuro che funzioni, cambia questo in un grande valore come 5.0 , salvare il file e riavviare.

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


È meglio lasciare Coordinate Transformation Matrix al suo scopo originale, "trasformare le coordinate", ad esempio in caso di orientamento dello schermo o lavorare con touchscreen ecc. Il modo più semplice è regolare, ad esempio, la Decelerazione costante di Device Accel.
Kari Kääriäinen,

2
@ KariKääriäinen come gli altri confusi. La cosiddetta «accelerazione del puntatore» non ha nulla a che fare con la sensibilità del mouse, consente solo di spostare un puntatore quanto più velocemente lo si sposta. Cioè, se sposti il ​​mouse alla stessa distanza ma con velocità diverse, il puntatore verrebbe spostato su una distanza diversa. È abbastanza scomodo, devi rallentare ogni volta per raggiungere un certo punto. Ma cambiare la matrice di trasformazione ti consente in un certo senso di emulare una maggiore sensibilità del mouse. E a proposito, in particolare il deceleration rallenta la velocità.
Hi-Angel,

1
Interessante, ma questo metodo ha uno svantaggio: quando si utilizza questo, alcuni pixel non sono raggiungibili. Per rendere questo più ovvio, ho provato xinput set-prop 11 138 40, 0, 0, 0, 40, 0, 0, 0, 1e confermato che il mouse ha raggiunto solo le coordinate distanziate di 40 pixel. L'uso del mondo reale probabilmente userebbe solo 2 o 4 invece di 40, ma manca ancora i pixel. Ho optato per l'altro metodo (utilizzare la funzione di accelerazione come guadagno di velocità costante) perché non presenta questo inconveniente.
Stéphane Gourichon,

4
L'unica risposta giusta.
MichalH

1
A partire dal 2019 non esiste più la proprietà 'Device Accel Constant Deceleration', almeno non nel mio caso. La matrice di trasformazione è ancora lì e può essere applicata su di essa con l'effetto desiderato, anche se ciò che @ StéphaneGourichon sottolinea sopra ha perfettamente senso. Ah bene, Linux e le sue stranezze ...
Kellogs l'

4

Anche se non sono molto chiaro sulla domanda qui è il mio suggerimento.

Per KDE

Una rapida ricerca rivela che non esiste tale opzione per aumentare la velocità del mouse al di sotto del valore di soglia.

Alcuni utenti suggeriscono di modificare la risoluzione del mouse in /etc/X11/xorg.conffile ( mouse InputDevice section) come

Option "Resolution" "400"

Ma la maggior parte degli utenti ha detto che non ha funzionato.

È possibile aumentare il valore di soglia in modo che l'accelerazione non inizi fino a quando non raggiunge il valore di soglia. (L'impostazione è in Mouse> Advanced Settings)

Un post correlato può essere trovato qui .

Per unità

  • Premere il Supertasto (tasto Windows).
  • Cerca mouse.
  • Selezionare Mouse And Touchpad
  • Ora cambia la sensibilità su un valore più alto. Forse questo è quello che vuoi.

    impostazioni del mouse


2
Ok, questa è esattamente l'impostazione che sto cercando, ma il tuo screenshot è tratto da Gnome e la mia domanda riguarda KDE4.
André,

Ci scusiamo per non aver verificato correttamente la tua domanda. Aggiornato.
Web-E,

Wow grazie! Sembra che tu abbia fatto molti sforzi in questo. Sfortunatamente, la modifica di xorg.conf non è un'opzione, perché desidero che gli utenti siano in grado di configurare da soli l'impostazione "Risoluzione" ed è politica dell'azienda negare agli utenti il ​​permesso di modificare xorg.conf. Aggiungerò questa restrizione al commento originale ma voterò comunque il tuo commento.
André

3
Oh mio Dio. La possibilità di impostare la «risoluzione del puntatore» solo tramite un file di configurazione (cioè non interattivamente) dovrebbe essere considerata un bug. Quante volte un utente dovrebbe riavviare XServer per trovare una risoluzione appropriata? Cinque? Dieci? È divertente quanto triste ...
Ciao-Angel,

Ho appena installato unity-control-center, impostato la sensibilità del mouse su alta e non ha funzionato.
Ciao Angelo

2

Dato ciò che aveva detto il post sopra, ho trovato questo lavoro in giro.

Il fatto è che il mouse si sposta a un multiplo costante della velocità di base, dove il multiplo è impostato dal parametro "accelerazione".

Tuttavia, questo moltiplicatore viene applicato solo dopo che il mouse si sposta più velocemente di una velocità "soglia", specificata dal parametro "sensibilità".

Questo crea l'imbarazzante sensazione di "accelerazione" in cui se inizi a muovere il mouse velocemente, inizia a saltare in modo incontrollato mentre supera la velocità della soglia.

Quindi quello che puoi fare è impostare la "sensibilità" su 0, rendendo così la soglia pari a 0. Ciò che fa è che la tua accelerazione viene applicata continuamente alla velocità del tuo mouse.

Quindi la velocità del mouse è solo un multiplo del parametro "accelerazione" e, poiché si tratta di una moltiplicazione lineare, è necessario disporre di una velocità costante proporzionale al parametro accelerazione. Senza la sensazione di accelerazione e salti.

Quindi in breve: imposta la sensibilità su 0. Regola il parametro "accelerazione" come se fosse "velocità"


Questa risposta è la versione generica della risposta orientata a KDE di lolmaus. Ho fatto proprio questo, anche se ho provato per la prima volta con soglia 1 pixel poiché altre risposte hanno indicato 0 come "disabilita". Ad ogni modo ho potuto provarlo immediatamente eseguendo questo: xset mouse 4 0e simili, e alla fine mi sono accontentato xset mouse 2 0. Questa è una specie di hack (che utilizza la funzione accel per una velocità assoluta) ma funziona, anche se sento che in uso c'è ancora qualche soglia applicata.
Stéphane Gourichon,

1

Personalmente trovo che il movimento preciso del puntatore sia migliore per l'esperienza desktop complessiva, quindi questa impostazione è importante anche per me. Mi chiedevo sempre perché i progettisti del sistema operativo UXP non solo rendono l'accelerazione predefinita, ma tendono anche a rimuovere il controllo dall'interfaccia utente.

Potresti scoprire che l'accelerazione, che dovrebbe renderti più comodo UXP, in realtà è indesiderabile in alcune situazioni, poiché potresti perdere i giusti elementi dell'interfaccia utente sullo schermo quando muovi il mouse velocemente o semplicemente bisogno di precisione per alcune applicazioni CAD. In particolare, è difficile ottenere il controllo degli elementi dell'interfaccia utente del dispositivo di scorrimento e dello spinner o spostare una forma sull'interfaccia utente di alcuni designer. Inoltre, con l'accelerazione, è difficile posizionare il cursore del mouse in un editor di testo proprio mentre si copia e incolla una regione di testo. Alcuni potrebbero obiettare che quando hai bisogno di precisione, rallenti, ma cosa succede se non vuoi rallentare e ottenere comunque precisione?

Puoi verificare se c'è accelerazione o meno:

(1). Spostare il puntatore del mouse a destra dello schermo, notare la posizione fisica del dispositivo sul tavolo.

(2). Spostare leggermente il mouse verso sinistra leggermente, quindi il cursore si sposta attorno al centro dello schermo, quindi riporta lentamente il dispositivo fisico nella posizione originale.

(3). Ripetere i passaggi (1) e (2) più volte.

Se non c'è accelerazione, il cursore dovrebbe arrivare sempre alla destra dello schermo. Se c'è accelerazione, il puntatore si sposterebbe sempre più a sinistra, quindi dopo 3 o 4 volte colpirebbe semplicemente la parte sinistra dello schermo, quindi è necessario risolverlo.

Nessuna accelerazione significa che è necessario regolare il Device Accel Velocity Scaling parametro.

Rallenterà il movimento del mouse in generale, quindi è necessario compensarlo con una regolazione della velocità costante. Questo può essere fatto diminuendo il Device Accel Constant Decelerationparametro.

Ecco cosa ha funzionato per me:

  1. Trova l'ID del dispositivo del mouse:

$ xinput list ... ⎜ ↳ PixArt USB Optical Mouse id=10 [slave pointer (2)] ...

L'ID dispositivo = 10

  1. Elenca le proprietà del dispositivo

$ xinput list-props 10 ... Device Accel Constant Deceleration (276): 1.000000 ... Device Accel Velocity Scaling (278): 10.000000 ...

  1. Ridurre il parametro di ridimensionamento al minimo, questo dovrebbe dare un movimento del mouse uno a uno rispetto al movimento fisico effettivo. Non importa se lo si imposta su 0,1, 0,001 o 1e-30, poiché è un'accelerazione molto più bassa rispetto al valore predefinito di 10,0. Non è possibile impostarlo su zero, poiché è considerato un errore.

$ xinput set-prop 10 278 1e-10

  1. (opzionale) Ora potresti notare che, nonostante sia preciso, la velocità è stata ridotta in generale, quindi potresti dover giocare con il Constant Decelerationparametro per ripristinare la velocità comoda. Nel mio caso un'impostazione comoda era 0,7 che velocizzava il puntatore della metà, facendo sembrare il movimento del mouse simile alla stessa velocità che era prima, ma senza accelerazione:

$ xinput set-prop 10 276 0.7

Se lo desideri più velocemente, imposta qui un valore più basso, come 0,5, 0,4 ecc. Se lo desideri più lentamente, impostalo su qualcosa come 1.0, 1.2 o anche 1.5


1

Le risposte sopra sono ora obsolete. Ciò che ha funzionato per me in modo più accurato è l'ultima sezione di questa voce wiki :

con libinput

In alternativa, poiché libinput-1.1.0-1 e xf86-input-libinput-0.15.0-1 è possibile utilizzare un profilo di accelerazione piatto. Per abilitarlo creare il seguente file:

/etc/X11/xorg.conf.d/50-mouse-acceleration.conf

Sezione Identificatore "InputClass" Driver "My Mouse" Driver "libinput" MatchIsPointer "yes" Opzione "AccelProfile" "flat" Opzione "AccelSpeed" "0" EndSection

e riavvia X.

Un'altra opzione è questo comando:

$ xinput --set-prop 'libinput Accel Profile Enabled' 0, 1

Che non ha bisogno di un riavvio X, ma non è persistente. Sebbene possa essere configurato per l'esecuzione automatica con Avvio automatico.


0

Come regolare la velocità del mouse in KDE
  • senza abilitare l'accelerazione del mouse
  • e usando solo la finestra di dialogo Settigns (nessuna console, nessun file di configurazione)

Questo è un riassunto colloquiale della risposta di Exhuma, non dimenticare di votarla.

In KDE, l'accelerazione del mouse non è logaritmica. Cioè, ha due velocità costanti del mouse: non accelerate e accelerate. Passa da uno all'altro quando scatti il ​​mouse abbastanza velocemente.

La prima velocità non è configurabile (almeno dalla GUI). La seconda velocità è configurabile.

La soluzione è:

  1. Impostare "Soglia puntatore" su 0. Di conseguenza, la seconda velocità verrà sempre applicata.
  2. Regola "Accelerazione puntatore" per aumentare o diminuire quella velocità.

Ti ritroverai con una velocità del cursore costante e non dinamica regolata a tuo piacimento.

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.