¿Qué código fuente necesito editar y recompilar para que mi cursor vaya más lento?

¿Qué código fuente necesito editar y recompilar para que mi cursor vaya más lento?

Tengo Linux Mint 19.3 (MATE x64) y tengo un mouse Logitech G402 que me gustaría usar con él.

Usando la configuración predeterminada, mi cursor se mueve exactamente50veces más rápido de lo que me gustaría que se moviera.

He probado todo tipo de configuraciones para hacer que mi cursor vaya más lento, pero simplemente no funcionan.

La configuración de velocidad del puntero (Menú Inicio -> Preferencias -> Ratón) apenas marca la diferencia, incluso si la configuro al mínimo absoluto.

Aquí está el resultado xinputcon la configuración predeterminada:

$ xinput list-props "Logitech Gaming Mouse G402"
Device 'Logitech Gaming Mouse G402':
    Device Enabled (155):   1
    Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (292):   0
    libinput Natural Scrolling Enabled Default (293):   0
    libinput Scroll Methods Available (294):    0, 0, 1
    libinput Scroll Method Enabled (295):   0, 0, 0
    libinput Scroll Method Enabled Default (296):   0, 0, 0
    libinput Button Scrolling Button (297): 2
    libinput Button Scrolling Button Default (298): 2
    libinput Middle Emulation Enabled (299):    1
    libinput Middle Emulation Enabled Default (300):    0
    libinput Accel Speed (301): 0.000000
    libinput Accel Speed Default (302): 0.000000
    libinput Accel Profiles Available (303):    1, 1
    libinput Accel Profile Enabled (304):   1, 0
    libinput Accel Profile Enabled Default (305):   1, 0
    libinput Left Handed Enabled (306): 0
    libinput Left Handed Enabled Default (307): 0
    libinput Send Events Modes Available (277): 1, 0
    libinput Send Events Mode Enabled (278):    0, 0
    libinput Send Events Mode Enabled Default (279):    0, 0
    Device Node (280):  "/dev/input/event5"
    Device Product ID (281):    1133, 49278
    libinput Drag Lock Buttons (308):   <no items>
    libinput Horizontal Scroll Enabled (309):   1

La única opción aquí que puede afectar la velocidad de mi cursor es la Matriz de transformación de coordenadas (también Velocidad de aceleración, pero eso no pasa de -1 y necesitaría que pasara mucho más allá de -1). Si lo configuro en 1 0 0 0 1 0 0 0 50, la velocidad de mi cursor se divide correctamente entre 50.Sin embargouna Matriz de Transformación de Coordenadas no estándar hará que los juegos que capturan el cursor (por ejemplo, Minecraft) funcionen incorrectamente, restableciendo el cursor casi a la esquina superior izquierda de la pantalla cada vez que se libera el cursor, y haciendo que mi personaje gire salvajemente hacia la parte superior izquierda mientras Está capturado.

Me parece que me he quedado sin opciones para hacer que mi mouse funcione correctamente usando los métodos previstos, así que siento que tengo que hacerlo.editar algún código fuente para que mi cursor vaya a velocidades razonables, por muy loco que parezca. Estoy tan desesperado que estaría listo para insertar un código rígido / 50.0en algún lugar de algún código C, compilarlo, instalarlo y terminarlo, pero desafortunadamente no tengo idea de dónde colocarlo.

Por supuesto, probablemente todos seamos conscientes de que lo que estoy haciendo aquí es una pregunta XY monstruosa, por lo que si hay más opciones para configurar mi cursor que no pude encontrar o buscar en Google durante varios días, entonces estaría feliz de saber sobre ellos.

Respuesta1

Encontré el código relevante en libinput, en filter-low-dpi.c. Dividí el valor de retorno de la función calculate_acceleration_factorpor 50.0, luego compilé e instalé según las instrucciones.

Si tiene problemas similares, según el modelo de su mouse, es posible que deba editarlos filter-mouse.c.

información relacionada