Configure la velocidad del mouse (¡no la aceleración del puntero!)

30

¿Hay alguna forma de aumentar la velocidad del mouse en KDE4? No quiero ninguna aceleración de puntero, solo quiero cambiar la velocidad del mouse.

Editar : Desafortunadamente, editar xorg.conf no es una opción para mí, porque quiero que los usuarios puedan configurar la velocidad del mouse ellos mismos y es política de la compañía negarles a los usuarios permiso para cambiar xorg.conf.

André
fuente
2
¿Cuál es la diferencia entre esos dos?
Web-E el
3
@ Web-E La aceleración es la velocidad a la que la velocidad cambia con el tiempo
Oleh Prypin
@ Web-E esas son 2 cosas diferentes.
Bruno Pereira

Respuestas:

35

KDE aún no ha incorporado esto en su centro de control, pero puede usar xinput desde la línea de comandos. Primero, ejecute xinput listpara encontrar el número de dispositivo de su 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)]

En mi computadora portátil, la identificación del dispositivo que quiero es 10 (SynPS / 2 Synaptics TouchPad). En su sistema, tendrá que decidir qué dispositivo es el correcto. A continuación, ejecute xinput list-props <your device id>para ver la configuración actual de ese 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 propiedad que le interesa es "Device Accel Constant Deceleration (267)". Para ralentizar el mouse, el valor debe aumentarse ejecutando xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

En este ejemplo, el valor aumenta de 2.5 a 5.0 y el mouse se mueve a media velocidad.

Luke
fuente
55
Simplemente no puede establecer esto por debajo de 1.0, que todavía es demasiado lento en mi caso.
pong
2
No hay problema con list-props, pero set-propda como resultado: X Error de solicitud fallida: BadAccess (intento de acceso al recurso privado denegado) X.Org X Server 1.16.0, ejecutando Unity Desktop. Para X.Org X Server 1.9.3.90, la identificación del mouse es 6 y el número de propiedad 233.
Incnis Mrsi
2
Aún mejor: xinput set-prop 'SynPS / 2 Synaptics TouchPad' 'Device Accel Constant Deceleration' 2.5
Simon Thum
2
¿Se mantiene esta configuración después de reiniciar? si no, ¿podemos hacer que se pegue?
Ciprian Tomoiagă
3
¿Qué hacer si "Device Accel Constant Deceleration" no es una opción disponible?
DaVince
14

La terminología de la configuración del mouse en Linux (Xorg) es ligeramente diferente del mundo de Windows.

Hay tres configuraciones importantes:

  • threshold - El gatillo para la aceleración
  • acceleration - La velocidad después de alcanzar el umbral.
  • resolution - La velocidad"

Estas configuraciones son independientes del entorno de escritorio. Son configuraciones puras de X. Entonces esto siempre funciona. Consulte también la sección del mouse dexset para obtener una forma verdaderamente independiente de cambiar esta configuración.

El administrador de configuración de Unity parece cambiar el nombre thresholdde sensibilidad. Pero como estás hablando de KDE, eso no debería importar.

Solo thresholdy accelerationpuede ser cambiado por el usuario. El resolutiones un ajuste a realizar xorg.conf. Pero, por lo general, las dos primeras configuraciones son suficientes para la mayoría de los usuarios.

Linuxreviews tiene una explicación de estos valores.

Básicamente: el mouse se mueve a una velocidad base (modificable usando resolution). Si el mouse mueve n píxeles (n = threshold) en poco tiempo, entonces la velocidad base se multiplica por acceleration. Como ejemplo, si desea deshabilitar la aceleración por completo, puede establecer el umbral en 0. En palabras: si el mouse mueve 0píxeles en poco tiempo, lo usaré base-speed * acceleration. Entonces, un umbral de 0le da una velocidad constante del mouse.

Entonces, estos dos valores le dan un control muy fino sobre la velocidad.

exhuma
fuente
1
El parámetro específicamente en cuestión es la resolución, que no se puede modificar con xset.
Lucas
Para aclarar, el umbral = 0 le da aceleración polinómica en X, que no es en absoluto como la velocidad constante. Use la solución anterior.
Simon Thum
@SimonThum, ¿este es realmente el caso? También pensé que se suponía que la aceleración era lineal (a pesar de una transición entre la velocidad base y la velocidad final = velocidad base * aceleración). Lo he leído muchas veces en las secciones de comentarios. ¿Tiene fuentes que respalden su reclamo?
daniel451
No entiendo por qué todos esperan usar aceleración del mouse en estos días, y la resolución no es fácilmente accesible. La única configuración razonable cuando desea tener un mouse de alta precisión es la aceleración desactivada y la disminución de la velocidad (plana) porque los ratones láser modernos tienen un DPI alto y loco que el sistema asigna a la alta velocidad loca. Pero no quiero semilla, quiero precisión, preferiblemente subpíxel.
Prokop Hapala
13

Los pasos para aumentar la sensibilidad del mouse:

Primero enumere todos los dispositivos:

$ 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)]   

En el ejemplo, vemos que la identificación del mouse es 10. A continuación, enumere sus propiedades:

$ 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 «Matriz de transformación coordinada» es exactamente lo que queremos. Recuerda su №142.

Al cambiar esta propiedad podemos aumentar la velocidad del puntero. Estos valores en realidad son una matriz de transformación que se usa para calcular un movimiento de puntero . Desde el enlace:

Por defecto, la CTM para cada dispositivo de entrada en X es la matriz de identidad. Como ejemplo, supongamos que toca una pantalla táctil en el punto (400, 197) en la pantalla:

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

Las coordenadas X e Y del evento del dispositivo se ingresan en la segunda matriz del cálculo. El resultado del cálculo es donde las coordenadas X e Y del evento se asignan a la pantalla. Como se muestra, la matriz de identidad asigna las coordenadas del dispositivo a las coordenadas de la pantalla sin ningún cambio.

Entonces, lo que queremos hacer con la matriz es establecer los valores de acuerdo con x e y a cualquier otro valor particular, y esto cambiaría la velocidad del puntero. Un ejemplo de mi PC:

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

Es xinput set-prop <device-id> <property-number> <property-values>. Juega un poco con esto hasta que encuentres los apropiados. Nota: no cambie el último valor de la matriz. Ese fue mi error cuando lo intenté para conseguir trabajo, en este caso simplemente no verá ninguna diferencia.

Al menos las versiones recientes de xinputpermiten especificar dispositivos y opciones por nombre, por lo que este ejemplo también puede funcionar:

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

Estos cambios están activos solo para la sesión actual, por lo que una vez que haya elegido una buena sensibilidad, debe aplicarla permanentemente agregándola xorg.conf(o creando un archivo como /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

Si no está seguro de si esto funciona, cámbielo a un gran valor como 5.0, guarde el archivo y reinicie.

Agradecimientos: Estoy agradecido con Simon Thum de la lista de correo de xorg, él fue quien dio la pista sobre la matriz.

Hola angel
fuente
Es mejor dejar la Matriz de transformación de coordenadas para su propósito original, "transformar las coordenadas", por ejemplo, en el caso de la orientación de la pantalla o trabajar con pantallas táctiles, etc. Más simple es ajustar, por ejemplo, la desaceleración constante de aceleración del dispositivo.
Kari Kääriäinen
2
@ KariKääriäinen como los demás confundidos. La llamada "aceleración del puntero" no tiene nada que ver con la sensibilidad del mouse, solo permite mover un puntero más rápido que lo mueves. Es decir, si mueve el mouse la misma distancia pero con diferentes velocidades, el puntero se movería a una distancia diferente. Eso es bastante incómodo, tienes que reducir la velocidad cada vez para llegar a algún punto. Pero cambiar la matriz de transformación le permite, en cierto sentido, emular una mayor sensibilidad del mouse. Y por cierto, específicamente deceleration disminuye la velocidad.
Hola Angel
1
Interesante, pero este método tiene un inconveniente: cuando se usa esto, algunos píxeles simplemente no son accesibles. Para hacer esto más obvio, intenté xinput set-prop 11 138 40, 0, 0, 0, 40, 0, 0, 0, 1y confirme que el mouse solo alcanzó coordenadas espaciadas a 40 píxeles de distancia. El uso en el mundo real probablemente solo usaría 2 o 4 en lugar de 40, pero aún faltan píxeles. Me decidí por el otro método (use la función de aceleración como ganancia de velocidad constante) porque no tiene este inconveniente.
Stéphane Gourichon
44
La única respuesta correcta.
MichalH
1
A partir de 2019 ya no existe la propiedad 'Device Accel Constant Deceleration', al menos no en mi caso. La matriz de transformación todavía está allí y se puede actuar sobre ella con el efecto deseado, aunque lo que @ StéphaneGourichon señala arriba tiene mucho sentido. Ah bueno, Linux y sus rarezas ...
Kellogs
4

Aunque no tengo muy clara la pregunta aquí, es mi sugerencia.

Para KDE

Una búsqueda rápida revela que no existe tal opción para aumentar la velocidad del mouse por debajo del valor umbral.

Algunos usuarios sugieren cambiar la resolución del mouse en el /etc/X11/xorg.confarchivo ( mouse InputDevice section) como

Option "Resolution" "400"

Pero la mayoría de los usuarios dijo que no funcionaba.

Puede aumentar el valor umbral para que la aceleración no comience hasta que el valor umbral alcance. (El ajuste está en Mouse> Advanced Settings)

Una publicación relacionada se puede encontrar aquí .

Por la unidad

  • Presione la Supertecla (tecla de Windows).
  • Buscar mouse.
  • Seleccionar Mouse And Touchpad
  • Ahora cambie la sensibilidad a un valor más alto. Posiblemente esto es lo que quieres.

    ajustes del mouse

Nosotros somos
fuente
2
Bien, esta es exactamente la configuración que estoy buscando, pero su captura de pantalla está tomada de Gnome y mi pregunta es sobre KDE4.
André
Perdón por no revisar su pregunta correctamente. Actualizado.
Web-E
¡Wow gracias! Parece que has puesto mucho esfuerzo en esto. Desafortunadamente, editar xorg.conf no es una opción, porque quiero que los usuarios puedan configurar ellos mismos la "Resolución" y es política de la compañía negarles a los usuarios permiso para cambiar xorg.conf. Agregaré esta restricción al comentario original, pero aún así votaré su comentario.
André
3
Dios mio. La capacidad de establecer la «resolución del puntero» a través de solo un archivo de configuración (es decir, no de forma interactiva) debe considerarse como un error. ¿Cuántas veces un usuario debe reiniciar XServer para encontrar una resolución adecuada? ¿Cinco? ¿Diez? Es tan divertido como triste ...
Hola Ángel
Acabo de instalar unity-control-center, configuré la sensibilidad del mouse a alta, y no funcionó.
Hola Ángel,
2

Dado lo que había dicho la publicación anterior, encontré esta solución.

El hecho es que el mouse se mueve a un múltiplo constante de la velocidad base, donde el múltiplo se establece mediante el parámetro "aceleración".

Sin embargo, este multiplicador se aplica solo después de que el mouse se mueva más rápido que una velocidad "umbral", especificada por el parámetro "sensibilidad".

Esto crea una sensación incómoda de "aceleración" en la que si comienzas a mover el mouse rápidamente, comienza a saltar sin control a medida que avanza más allá del umbral de velocidad.

Entonces, lo que puede hacer es establecer la "sensibilidad" en 0, lo que hace que el umbral sea 0. Lo que esto hace es que su aceleración se aplique todo el tiempo a la velocidad de su mouse.

Entonces, la velocidad de su mouse es solo un múltiplo de su parámetro de "aceleración", y dado que es una multiplicación lineal, debe tener una velocidad constante proporcional al parámetro de aceleración. Sin la sensación de aceleración y saltos.

En resumen: ajuste la sensibilidad a 0. Ajuste el parámetro "aceleración" como si fuera "velocidad"

evan
fuente
Esta respuesta es la versión genérica de la respuesta orientada a KDE de lolmaus. Acabo de hacer esto, aunque primero intenté con el umbral de 1 píxel ya que otras respuestas mencionaron 0 como "deshabilitar". De todos modos, podría probarlo de inmediato ejecutando esto: xset mouse 4 0y cosas por el estilo, y finalmente lo resolví xset mouse 2 0. Este es un tipo de pirateo (usando la función de aceleración para velocidad simple) pero funciona, aunque creo que todavía hay algún umbral aplicado.
Stéphane Gourichon
1

Personalmente, creo que el movimiento preciso del puntero es mejor para la experiencia general del escritorio, por lo que esta configuración también es importante para mí. Siempre me preguntaba por qué los diseñadores de OS UXP no solo hacen que la aceleración sea la predeterminada, sino que también tienden a eliminar el control de la interfaz de usuario.

Es posible que descubra que la aceleración, que supuestamente lo hace sentir más cómodo con UXP, en realidad no es deseable en algunas situaciones, ya que podría perder los elementos de UI correctos en la pantalla al mover el mouse rápidamente, o simplemente necesita precisión para alguna aplicación CAD. Específicamente, es difícil controlar los elementos de la IU del control deslizante y giratorio o mover una forma en la IU de algunos diseñadores. Además, con la aceleración, es difícil colocar el cursor del mouse en un editor de texto precisamente mientras copia y pega una región de texto. Algunos podrían argumentar que cuando necesita precisión, simplemente reduce la velocidad, pero ¿qué pasa si no desea reducir la velocidad y aún así obtener precisión?

Puede verificar si hay aceleración o no:

(1) Mueva el puntero del mouse hacia la derecha de la pantalla, observe la posición física del dispositivo en la mesa.

(2) Mueva moderadamente el mouse hacia la izquierda un poco, de modo que el cursor se desplace alrededor del centro de la pantalla y luego, muy lentamente, regrese el dispositivo físico a su posición original.

(3) Repita los pasos (1) y (2) varias veces.

Si no hay aceleración, el cursor debe llegar a la derecha de la pantalla todo el tiempo. Si hay aceleración, el puntero se movería más y más hacia la izquierda, por lo que después de 3 o 4 veces golpearía a la izquierda de la pantalla, por lo que debe solucionarlo.

Sin aceleración significa que necesita ajustar el Device Accel Velocity Scalingparámetro.

En general, ralentizará el movimiento del mouse, por lo que debe compensarlo con un ajuste de velocidad constante. Esto se puede hacer disminuyendo el Device Accel Constant Decelerationparámetro.

Esto es lo que funcionó para mí:

  1. Encuentra la identificación del dispositivo del mouse:

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

La identificación del dispositivo = 10

  1. Lista de propiedades del dispositivo

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

  1. Reduzca el parámetro de escala a su mínimo, esto debería dar un movimiento de mouse uno a uno con respecto al movimiento físico real. No importa si lo configura en algo como 0.1, 0.001 o 1e-30, ya que es una aceleración mucho menor que el valor predeterminado de 10.0. No puede establecerlo en cero, ya que se considera un error.

$ xinput set-prop 10 278 1e-10

  1. (opcional) Ahora puede notar que, a pesar de ser preciso, la velocidad se ha reducido en general, por lo que es posible que deba jugar con el Constant Decelerationparámetro para restaurar la velocidad cómoda. En mi caso, una configuración cómoda era 0.7, lo que aceleró el puntero a la mitad, hizo que el movimiento del mouse se sintiera como la misma velocidad que antes, pero sin aceleración:

$ xinput set-prop 10 276 0.7

Si lo desea más rápido, establezca un valor más bajo aquí, como 0.5, 0.4, etc. Si lo desea más lento, configúrelo en algo como 1.0, 1.2 o incluso 1.5

George Polevoy
fuente
1

Las respuestas anteriores ahora están desactualizadas. Lo que más me ha funcionado es la última sección de esta entrada de wiki :

con libinput

Alternativamente, desde libinput-1.1.0-1 y xf86-input-libinput-0.15.0-1 puede usar un perfil de aceleración plano. Para habilitarlo, cree el siguiente archivo:

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

Sección "InputClass" Identificador "My Mouse" Driver "libinput" MatchIsPointer "yes" Opción "AccelProfile" "flat" Opción "AccelSpeed" "0" EndSection

y reinicie X.

Otra opción es este comando:

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

Que no necesita reiniciar X, pero no es persistente. Aunque se puede configurar para ejecutarse automáticamente con Autostarting.

Kellogs
fuente
0

Cómo ajustar la velocidad del mouse en KDE
  • sin habilitar la aceleración del mouse
  • y solo usando el cuadro de diálogo settigns (sin consola, sin archivos de configuración)

Este es un resumen coloquial de la respuesta de exhuma, no te olvides de votarlo.

En KDE, la aceleración del mouse no es logarítmica. Es decir, tiene dos velocidades constantes del mouse: no acelerada y acelerada. Cambia de uno a otro cuando mueves el mouse lo suficientemente rápido.

La primera velocidad no es configurable (al menos, desde la GUI). La segunda velocidad es configurable.

La solucion es:

  1. Establezca "Umbral de puntero" en 0. Como resultado, la segunda velocidad se aplicará en todo momento.
  2. Ajuste la "Aceleración del puntero" para que esa velocidad sea mayor o menor.

Terminará con una velocidad del cursor constante y no dinámica ajustada a su gusto.

lolmaus - Andrey Mikhaylov
fuente