¿Cómo asignar acciones "hacia atrás" y "hacia adelante" a la rueda de desplazamiento horizontal de Logitech Anywhere Mouse MX?

11

Estoy usando un Logitech Anywhere Mouse MX en mi Ubuntu. El mouse funciona bien, pero no puedo asignar las acciones a los botones adicionales disponibles en él. Lo que más extraño son las acciones "hacia atrás" y "hacia adelante" asignadas a la inclinación de la rueda de desplazamiento hacia la izquierda y hacia la derecha.

¿Cómo puedo activar estas funciones?

ysap
fuente

Respuestas:

9

Yo uso xbindkeysen combinación con xdotool.

Crea un .xbindkeysrcarchivo en tu directorio personal. Debe contener:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

Sin embargo, con VMware no tiene que hacer nada más que agregar

mouse.vusb.enable = "TRUE"

al archivo .vmx en su sistema host. Es lo que VMware abre cada vez que inicia su sistema invitado.

fiod3s
fuente
Gracias. Probaré la línea vmx la próxima vez que reinicie el sistema (no sucede con demasiada frecuencia).
ysap
Acabo de probar el pirateo de archivos vmx, y parece que no funciona. Lo que veo es que cuando reinicio, VMware borra la línea que acabo de agregar, como si tuviera una plantilla de archivo predeterminada que se restablece cada vez que inicia la máquina.
ysap
ok, parece que tuve que ir todo el camino y apagar la máquina, en lugar de simplemente reiniciar. Ahora se conserva la configuración. Desafortunadamente, trabajando de forma remota en este momento, la rueda del mouse parece ineficaz (lo mismo en la máquina host). Comprobaré nuevamente cuando esté en el sitio remoto e informaré los resultados.
ysap
¡Ah, sí, acabo de comprobar y funciona!
ysap
Obviamente, debe ejecutar xbindkeysdespués de la configuración.
HongboZhu
18

Tengo este mismo mouse y quería unir los dos botones en el costado del mouse para avanzar y retroceder. Así es como resolví esto:

1) Use la utilidad "xev" para determinar a qué números corresponden los botones que desea reasignar. Puede que tenga que instalar este paquete usando

sudo apt-get install xev  

Una vez que se instala xev, escriba "xev" en un terminal, y aparecerá una ventana X que es blanca con un cuadro negro. Al mover el mouse hacia esa ventana comenzará a registrar eventos en la terminal. Leer la salida de eso con cuidado le dirá los números de los botones de su mouse. En mi mouse, la inclinación izquierda y derecha se asigna a los botones 6 y 7 respectivamente.

2) Ahora vamos a utilizar la utilidad "xbindkeys" para reasignar los botones del mouse a las pulsaciones de teclas. Si aún no lo tiene instalado, es posible que deba instalarlo con

sudo apt-get install xbindkeys

3) Cree un archivo en su directorio de inicio llamado ".xbindkeysrc". Esto es lo que leerá xbindkeys para ver qué está reasignando. El contenido de mi archivo .xbindkeysrc es:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

Entonces esto le dice a mi computadora que envíe el botón del teclado y presiona "Alt + Izquierda" o "Alt + Derecha" al sistema usando el teclado virtual (xvkbd) cada vez que se presiona el botón 8 del mouse 0 o el botón 9 del mouse 0 respectivamente. Estas teclas corresponden a las teclas de avance y retroceso en la mayoría de las aplicaciones. Esto funcionará, por ejemplo, en Nautilus, Chrome /

Nota : es posible que necesite instalar xvkbdsi aún no está presente en su sistema.sudo apt-get install xvkbd

jarvisschultz
fuente
Gracias. Sin embargo, al ejecutar la utilidad xev veo mucha información, aunque las funciones de desplazamiento hacia arriba y hacia abajo están asignadas a las teclas 4 y 5, no obtengo ningún evento cuando inclino la rueda de desplazamiento ni cuando hago clic en los dos botones laterales. Alguna idea de por qué?
ysap
Es posible que por alguna razón su sistema no reconozca las señales enviadas desde el mouse. Si este es el caso, debería ver los códigos de error en / var / log / messages o en dmesg. Lea más sobre este problema y cómo solucionarlo en esta url jveweb.net/en/archives/2011/01/… Si ese no es el problema, tendremos que investigarlo más.
jarvisschultz
ok, miré el registro de dmesg. Es una lista bastante larga de mensajes. ¿Qué debería estar buscando exactamente?
ysap
Por cierto, no lo mencioné en la pregunta, pero puede ayudar: estoy usando Ubuntu como sistema operativo invitado en VMware Player en Windows 7. Desde mi experiencia con algunos dispositivos, la emulación es bastante buena, Ubuntu definitivamente debería ver todo mensajes enviados por el mouse.
ysap
1
¿Podría ser posible sudo apt-get install xvkbdque falte aquí?
c_korn
5

Aquí esta lo que hice. No se sudonecesitan comandos ni paquetes nuevos:

  • Probé mis botones con xev-> todos los botones corresponden a un cierto valor, lo que significa que son reconocidos por el sistema
  • inspeccionar dispositivos con xinput list-> el mouse aparece con ID 9 en mi caso
  • xinput list-props 9 muestra el mapeo actual y especialmente informa sobre las etiquetas de los botones -> parece que el avance / retroceso corresponde al botón 8 y 9 que no tengo (la inclinación de la rueda es 6 y 7 y está mapeado al desplazamiento horizontal)
  • reasignar enlaces mediante la xmodmapinterpretación de X es la solución más conveniente para mí. Los primeros cinco botones no deben cambiarse (clic con el botón central izquierdo y derecho hacia arriba y hacia abajo), pero los que informan como botones 6 y 7 deben navegar hacia adelante / hacia atrás
  • ejecutar xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"en un terminal intercambia los botones 6 y 7 con 8 y 9 (virtualmente)
  • si esta asignación no funciona para restaurar valores predeterminados xmodmap -e "pointer = default"y probar una asignación diferente
  • Ahora tengo el comando de cambio de botón en mis aplicaciones de inicio que se ejecutará después de iniciar sesión
  • también parece posible de acuerdo con man xmodmapalmacenar este comando en un archivo llamado ~/.xmodmaprco agregar la instrucción a~/.bashrc

Trabajó para mi. Espero que esto ayude.

Andreas
fuente
1
+1: Este xmodmapenfoque funcionó de inmediato para mí, pero ... ¿es posible modificar la asignación para un mouse específico?
MestreLion
4

Esto es lo que funcionó para mí:

1) Instalar xbindkeys

sudo apt-get install xbindkeys

2) Instalar xautomation

sudo apt-get install xautomation

3) Cree un archivo .xbindkeysrc en su directorio de inicio con esto dentro:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4) Vaya a Aplicaciones de inicio y agregue el programa con el comando xbindkeys.

5) Cerrar sesión e iniciar sesión

Fuente: Foros de Ubuntu

B-Scan
fuente
Gracias B-Scan. Supongo que te refieres al archivo que se colocará en mi directorio de inicio. Lo puse allí y agregué una xbindkeysentrada a Startup Apps,
cerré
Sí, directorio de inicio. Ahora vi que estás usando VMware. Tal vez podría estar relacionado con esto ?
B-Scan
0

Easystroke es, muy fácil de configurar.

sudo apt-get install easystroke
Scott Goodgame
fuente