Disminuya la sensibilidad del mouse por debajo del límite estándar

42

Tengo un mouse USB conectado a mi computadora portátil Ubuntu. Este mouse es (desafortunadamente) realmente sensible, por lo que a veces se hace difícil presionar pequeños íconos con el puntero del mouse. Esto es realmente un problema de hardware, no es un error y no es culpa de Ubuntu / gnome. Aún así, me gustaría mucho este problema a través del software (resolverlo a través del hardware implicaría comprar un nuevo mouse).

De vuelta en Windows, si establecía la sensibilidad como realmente baja, era lo suficientemente cómoda. En Ubuntu, incluso la menor sensibilidad y aceleración disponibles (en el menú Sistema> Preferencias> Mouse ) sigue siendo frustrante. ¿Cómo puedo disminuirlo por debajo del mínimo predeterminado?

Intenté xset, pero parece que xset solo trata con la aceleración y el umbral, pero no con la sensibilidad real.

Malabarba
fuente
1
¿Dónde pongo estas líneas de código?

Respuestas:

55

Tengo un mouse Razer DeathAdder y, como en su caso, la sensibilidad / aceleración es demasiado alta, incluso si los coloco en el nivel más bajo en las preferencias del mouse. Entonces, para resolver este problema, utilicé el comando xinput.

Primero, necesitará su mouse ProductName e ID:

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

Luego establece el nivel de desaceleración constante que se adapta a sus necesidades con este comando:

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

Para hacer que la configuración sea persistente (y hacerla en todo el sistema) , deberá editar su 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 vez que reinicie, debería tener el mismo resultado que el comando xinput.

Avísame si te ayuda.

JackTravis
fuente
¡Asombroso! Lo había dejado hace semanas. Muchas gracias, de hecho ayuda.
Malabarba el
55
Bah: "la propiedad 'Device Accel Constant Deceleration' no existe, debe especificar su tipo y formato
mlissner
1
Todavía funciona, incluso para Linux Mint 17! Gracias :)
Richard de Wit
3
si no tengo el xorg.confarchivo, ¿debería crearlo?
Ciprian Tomoiagă
1
@mlissner prueba con una identificación de divice diferente, la mía tiene 3 punteros y tuve que usar 10
flcoder el
6

Ubuntu 17.04

Siga las instrucciones a continuación, pero cambie:

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

A:

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

Gracias @tambre. No estoy seguro de que esto sea tan ideal como la configuración anterior, pero está bastante cerca.

xset m 3

Eso todavía funciona bastante bien. Necesito averiguar cómo guardar para que este sea el valor predeterminado al reiniciar.

Ubuntu 16.04

La respuesta de @JackTravis fue increíblemente útil, pero creo que vale la pena actualizarla para 16.04 porque el archivo xorg.conf se movió y se dividió en varios archivos. Antes de escribir esta respuesta, intenté usar xsety jugar con la xinputconfiguración durante un tiempo antes de decidir que la xinput ConstantDeceleration 3configuración de JackTravis era la mejor tanto para mi Logitech M510 en mi escritorio como para un mouse con cable más antiguo en mi computadora portátil.

1. Lista de ratones

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

Mi mouse era el Logitech M510, id=10así que voy a usar eso en este ejemplo. Tendrá que reemplazar eso con cómo se llame su mouse. Ahora, use xinput set-proppara probar varias configuraciones hasta que su mouse se mueva exactamente como lo desea. Lo 10siguiente corresponde a id=10mi mouse en mi sistema. Probablemente tendrás que cambiar eso.

2. Cambie su configuración temporalmente

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

Si tiene curiosidad sobre qué otras configuraciones afectan su dispositivo, intente

$ xinput --list-props 10

Para borrar la configuración después de haberlos estropeado realmente, todo lo que tenía que hacer era desconectar y volver a enchufar el mouse.

3. Guarde la nueva configuración de forma permanente

Si le gusta ConstantDeceleration of 3, entonces necesita agregar un archivo xorg.conf de la nueva manera Ubuntu 16.04: agregando un nuevo archivo en /usr/share/X11/xorg.conf.d/ Desea cambiar Logitech M510y logitech-m510en el nombre del archivo para que coincida con su mouse. Creo que 60-al principio del nombre del archivo es la prioridad con la que se cargan estos archivos. El siguiente comando de shell de una línea es lo que pongo en mi machineSetup.sharchivo en Dropbox para que pueda personalizar rápidamente una nueva máquina exactamente como me gusta a los pocos minutos de una nueva instalación:

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"

O bien , si desea hacerlo a la GUI, abra un editor como root, luego pegue y edite lo siguiente en/usr/share/X11/xorg.conf.d/60-<whatever>.conf

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

4. Reiniciar

Eso es. Simplemente reinicie y verifique que la nueva configuración surta efecto.

GlenPeterson
fuente
1
Desafortunadamente obtengo lo siguiente: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatcuando intento el comando en el segundo paso (con la identificación de mi dispositivo).
tambre
@tambre, supongo que no usó la identificación numérica correcta identificada en el paso 1 cuando lo hizo en el paso 2. Si ese no es el caso, entonces probablemente no sabré lo suficiente para poder ayudarlo.
GlenPeterson
1
Después de enumerar las propiedades, Device Accel Constant Decelerationno existe allí. Parece estar usando libinput como controlador, por lo que tuve que modificar el valor de libinput Accel Speed, cuyos valores válidos son de -1 a 1, en su lugar.
tambre
1
Esto funcionó para mí, pero mi mouse (un "Razer Razer DeathAdder 2013") apareció varias veces debajo Virtual core pointer(dos veces) y Virtual core keyboard(una vez). Solo los pointerdispositivos tenían Device Accel Constant Deceleration, así que tuve que asegurarme de seleccionar uno de esos dispositivos al probar con xinput. El xorg.conf.darchivo aún funcionaba perfectamente.
Alex
2

Respuesta tardía, pero creo que vale la pena publicar esto:

Ya que estamos hablando de mouse para juegos aquí. Lo mejor es desactivar la aceleración del mouse por completo (útil para los jugadores de FPS, etc.). Ahorre algunos ciclos de CPU al no usarlo para calcular la aceleración del mouse y es probable que también sean lecturas más precisas (dependa o el sensor de hardware del mouse tiene una extrapolación incorporada).

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

Fuente

usuario165961
fuente
Me sale esto: X Error of failed request: BadValue (integer parameter out of range for operation).
MasterOfBinary
genial, esto fue increíble, gracias. Tengo problemas con mi Kingsis Peripherals Evoluent VerticalMouse 3. Tiene una configuración de DPI en la parte inferior del mouse y en su configuración de DPI más alta, incluso la configuración de sensibilidad más baja sigue siendo demasiado alta.
anon58192932
2

Una ligera modificación a la respuesta de Glen, esto funciona para mi mouse Logitech y duplica la "lentitud" de 1 a 2.

Agregue a ~ / .profile (como se señala en el comentario) (o .bashrc pero luego debe iniciar una terminal para que el cambio tenga lugar)

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
lahjaton_j
fuente
1
Creo que es mejor agregar esas líneas al final de en .profilelugar de .bashrc. .profilesolo se ejecuta mediante shells de inicio de sesión interactivos , mientras que .bashrcse ejecutará cada vez que bashse inicie un shell. Vea esta respuesta para más información.
chus
técnicamente, el .bash_aliasestrabajo también funciona, ya que el .bashrcarchivo ubuntu estándar lo carga correctamente.
anon58192932
1

Si usa el puerto PS2, el movimiento del mouse es mucho más lento para la misma resolución del mouse.

Para su mouse, intente usar un convertidor USB a PS2 y coloque el mouse en el puerto PS2.

Editar:

He encontrado la xorg.confsolución de trabajo:

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

Donde una sensibilidad de 1 es la predeterminada y la de 0.2 la disminuye cinco veces.

iugamarian
fuente
Esa es una idea creativa. Creo que tengo un convertidor en casa, así que lo intentaré mañana.
Malabarba
He encontrado una solución xorg.conf que funciona. Respuesta editada
iugamarian
1
Sin embargo, esto no funcionará en las computadoras portátiles.
Daniel Silva
¿Dónde está xorg.conf?
Verde