Logitech MX-510: algunos botones adicionales no se pueden usar

9

Tengo un Logitech MX-510, que he estado usando durante unos seis años.

Logitech MX-510

El mouse tiene varios botones adicionales que me gustaría usar en Gnome, pero tengo problemas con los códigos de los botones que el mouse envía al controlador:

  • El botón 1 (botón de la rueda del mouse) funciona como se esperaba. Un ButtonPressevento con state 0x10y button 1en prensa, y ButtonReleasecon state 0x110lanzamiento.

  • El botón 2 (botón de la rueda del mouse) funciona como se esperaba. Un ButtonPressevento con state 0x10y button 2en prensa, y ButtonReleasecon state 0x210lanzamiento.

  • El botón 3 (botón derecho) funciona como se esperaba. Un ButtonPressevento con state 0x10y button 3en prensa, y ButtonReleasecon state 0x410lanzamiento.

  • El botón 4 (desplazarse hacia arriba) funciona como se esperaba. Envía un ButtonPressevento con state 0x10y button 4, y un ButtonReleaseevento con state 0x810. Ambos eventos ocurren instantáneamente en cada paso de desplazamiento.

  • El botón 5 (desplazarse hacia abajo) funciona como se esperaba. Envía un ButtonPressevento con state 0x10y button 5, y un ButtonReleaseevento con state 0x1010. Ambos eventos ocurren instantáneamente en cada paso de desplazamiento.

Los botones 6 y 7 parecen no existir.

  • El botón 8 (botón de retroceso) funciona como se esperaba. Envía un ButtonPressevento con state 0x10y button 8, y un ButtonReleaseevento también con state 0x10. Ambos eventos ocurren instantáneamente en cada paso de desplazamiento.

  • El botón 9 (botón de retroceso) funciona como se esperaba. Envía un ButtonPressevento con state 0x10y button 9, y un ButtonReleaseevento también con state 0x10. Ambos eventos ocurren instantáneamente en cada paso de desplazamiento.

El mouse tiene tres botones adicionales, como puede ver en la imagen de arriba.

  • El botón 10 (en la parte superior del mouse) no se puede usar. Envía un ButtonPressevento con state 0x10y button 10, y un ButtonReleaseevento también con state 0x10. El botón no se puede usar con Gnome, porque no se puede seleccionar. La mayoría de los selectores de opciones, como el Administrador de configuración de CompizConfig, solo sube al Botón 9.

  • El botón 11 (botón adicional en la parte delantera de la rueda del mouse) no se puede usar del todo. Cuando se presiona, envía un ButtonPressevento con state 0x10y button 11, y otro ButtonPressevento con state 0x10y button 4 y otro ButtonPressevento con state 0x810y button 4(los dos últimos tienen el mismo comportamiento que si la rueda de desplazamiento se moviera un paso hacia arriba). En el lanzamiento, envía un ButtonReleaseevento con state 0x10y button 11. Pero el problema es que, cuando se mantiene presionado el botón, repite la "simulación de la rueda del mouse" aproximadamente cinco veces por segundo. (como un control de crucero de la rueda del mouse o algo así).

  • El botón 12 (botón adicional en la parte posterior de la rueda del mouse) no se puede usar del todo. Cuando se presiona, envía un ButtonPressevento con state 0x10y button 12, y otro ButtonPressevento con state 0x10y button 5 y otro ButtonPressevento con state 0x1010y button 5(los dos últimos tienen el mismo comportamiento que si la rueda de desplazamiento se moviera un paso hacia arriba). En el lanzamiento, envía un ButtonReleaseevento con state 0x10y button 12. Cuando se mantiene presionado, muestra el mismo comportamiento de control de crucero que el botón 11, pero con el botón respectivo y los parámetros de estado.

¿Hay alguna manera de reasignar esas teclas adicionales de una manera, donde pueda usarlas o hacerlas utilizables con Gnome? Y especialmente, si es posible, hacer que los botones 11 y 12 dejen de enviar códigos para que la rueda del mouse se desplace hacia arriba y hacia abajo. Y si es posible, ¿cómo puedo cambiar el comportamiento general de los botones del mouse en general?

polemon
fuente
Acabo de arrancar en Windows, instalé los controladores de Logitech y traté de configurar esos dos botones para otra cosa, que no necesita "autoincendio" repetitivo. Pero no sirvió de nada. Sin embargo, los números de estado cambiaron.
polemon

Respuestas:

2

Debe usar lomoco para realizar cambios permanentes (como evitar que los botones 11 y 12 envíen eventos de la rueda de desplazamiento). Es posible que deba ejecutar lomoco al inicio para mantener los cambios. Lo hice con mi MX1000.

Puede usar xmodmap para reasignar botones, si desea asignar los botones 6 y 7 (que normalmente se tratan como desplazamiento horizontal en X).

Malvinoso
fuente
El problema es que lomoco no compila, ya que Linux no soporta CORRIENTES (stropts.h)
Polemon
@polemon: Compila bien para mí: ¿está utilizando el enlace "descargar la versión 1.0" de la página de inicio ?
Malvineous
@Malvineous: Sí
Polemon
@polemon: Parece que te faltan algunos archivos de encabezado, ¿quizás tu distribución tenga paquetes -dev que necesites instalar antes de poder compilarlo? Lo probé con Gentoo sin problemas. Tal vez tu distribución ya tenga un paquete para ello.
Malvineous
Los revisé a todos. Solo están disponibles para propósitos de compilación cruzada. Los encabezados estándar de Linux ya no los incluyen. Una distribución bastante nueva no los tiene en los repositorios ni en ningún otro lado. La versión 1.0 es demasiado antigua. :(
polemon
1

(Tengo un Mx518 yo mismo, y estoy haciendo algunas suposiciones sobre el 500 basado en mi 518).

Los dos botones inmediatamente hacia adelante y detrás del volante están destinados a controlar el DPI del mouse. Dado que esto parece hacerse en el hardware en sí, no sé si es aconsejable usarlos para otra cosa.

Es posible que pueda usar lmctl para configurar el botón superior o los botones de flanco de la rueda. Hay otro programa llamado logitech_appletpero nunca lo he usado

Andrew Lambert
fuente
1
El MX510 no tenía resolución ajustable. Esos dos botones de los que está hablando tenían una función totalmente diferente en el MX-510 (sé que ambos ratones, MX-510 y MX-518).
polemon
Veo. Bueno, uno de los dos programas que mencioné puede ser capaz de mapearlos en ese momento.
Andrew Lambert
Imctl está muerto hace mucho tiempo. El proyecto posterior, [lomoco], parece estar sin mantenimiento, algo por el momento, pero aún ve desarrollo. Sin embargo, parece que no puedo construir el repositorio de construcción clonado. El lanzamiento es tan antiguo que no se compilará.
polemon
@polemon: Asegúrese de estar usando el lomoco original, no la reescritura que actualmente no se compila. No creo que el lomoco original esté bajo control de versiones.
Malvineous