¿Cómo puedo asignar acciones a todos los botones de mi mouse?

28

Tengo un mouse con muchos botones, pero no es una marca convencional como Logitech. Para Windows, tengo un controlador que me permite asignar acciones como cerrar ventana (Ctrl + W) o siguiente pestaña (Ctrl + Tab), pero no tengo un controlador de Linux. Como Linux es tan flexible, pensé que quizás hay una forma general de hacer esto, independientemente de la marca.

Actualización: Basado en la entrada de Cyrex, instalé y ejecuté lo sudo apt-get install btnxque encontró varios pero no todos los botones del mouse.
Encontrado: izquierda, derecha, rueda, clic de rueda, pulgar hacia adelante, pulgar hacia atrás.
No encontrado: rueda izquierda, rueda derecha, botón central del pulgar.
La ID del proveedor es 0x04d9, la ID del modelo es 0xa015.

Actualización 2: En Sistema> Prefs> Ratón hay un icono de bombilla para probar la velocidad de doble clic. Cada botón de trabajo puede encender y apagar la bombilla, pero los botones que faltan no pueden. Parece que Ubuntu no conoce estos botones y, por lo tanto, no registra sus clics. Supongo que necesito buscar un controlador, aunque un mouse convencional es probablemente la forma más fácil.

Torben Gundtofte-Bruun
fuente
Por favor explique qué es el botón 9 del mouse.
@mateo_salta Lo tengo en segundos antes que yo.
¿Usas la Unidad?
int_ua
¿Qué marca y modelo es?
@int_ua Sí, me esfuerzo por usar una configuración del sistema tan cercana a la predeterminada como pueda tolerar.
ændrük

Respuestas:

7

Si todos los botones se detectan correctamente, puede instalar btnx:

sudo apt-get install btnx O sudo aptitude install btnx

Luego vaya a: Aplicaciones -> Herramientas del sistema -> Btnx

Tiene soporte para muchos tipos de ratones.

Luis Alvarado
fuente
Probé mi mouse con btnx pero no reconoció todos mis botones. ¿Esto indica un problema con mi mouse (controlador?) O con btnx (improbable, supongo)?
Torben Gundtofte-Bruun
Estoy adivinando entre. Tal vez el módulo del mouse no esté detectando el mouse correctamente, por lo que btnx tampoco. ¿Puede hacer clic en todos los botones y ver si un programa los reconoce, como la prueba de clic en la configuración del mouse?
Luis Alvarado
1
Estoy seleccionando esto como la respuesta correcta porque btnx me permite probar instantáneamente cada botón del mouse; esto demostró que Ubuntu simplemente no está al tanto de los botones adicionales. Necesito un mouse compatible con Linux.
Torben Gundtofte-Bruun
19
btnx no se puede encontrar: ¿ha cambiado el nombre del paquete?
northben
27

Tengo un MX Anywhere "M-R0001"

Uso mis botones de avance y retroceso como copiar y pegar.

Pasos:
1) Todos los botones se detectan con el último núcleo ... al menos con

uname -a

3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2) Entonces, básicamente, solo necesita asignar esos botones con las acciones deseadas. ¿Cómo saber con el botón presionado y el código numérico correspondiente? Bueno, puedes usar el programa 'xev':

xev

Este programa es un rastreador de eventos de tecla y mouse. Cuando se está ejecutando, puede ver una ventana en la que puede presionar los botones del mouse y ver si se detectan. Por ejemplo, con el botón de zoom de Performance MX verá algo así:

ButtonPress event, serial 35, synthetic NO, window 0x5800001,
    root 0x15a, subw 0x0, time 64521438, (84,117), root88,144),
    state 0x10, button 13, same_screen YES

eso significa que 13 es el código para ese botón del mouse. Puede probar todos los botones del mouse en su mano ... para un fácil acceso, aquí está el mapa de Performance MX:

  • Botón de retroceso: 8
  • Botón de avance: 9
  • Botón de zoom: 13
  • Mostrar el botón de Windows: 10

los otros botones están bien reconocidos y no es necesario asignarlos a acciones.

3) Ahora, necesita instalar un pequeño programa para reasignar las entradas del mouse y el teclado. El mago es 'xbindkeys' ... la instalación fácil está usando:

sudo apt-get install xbindkeys

4) Una vez instalado, puedes hacer la magia. La idea es configurar los botones del mouse para enviar combinaciones de teclas para activar otras funcionalidades del escritorio (de hecho, xbindkeys se puede usar para ejecutar cualquier otro programa cuando presiona un botón del mouse). En KDE puede hacerlo con la combinación de teclas Ctrl + F10. El punto es crear un archivo de configuración de xbindkeys para hacer el trabajo.

5) Para crear el archivo de configuración, simplemente ejecute el siguiente comando:

xbindkeys --defaults > $HOME/.xbindkeysrc

6) Y necesitamos editar el archivo para especificar la asignación de su botón:

gedit $HOME/.xbindkeysrc

7) Necesitamos agregar nuestras configuraciones de botón a tecla. Por ejemplo, tengo lo siguiente:

# Back changed to Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
  b:8

# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
  b:9

# Present desktops
"xte 'keydown Control_L' 'key F8' 'keyup Control_L'"
  b:13

# Present windows
"xte 'keydown Control_L' 'key F10' 'keyup Control_L'"
  b:10

8) Hubo un nuevo requisito. El programa 'xte', que básicamente simula combinaciones de pulsación de teclas de usuario. Instálelo usando:

sudo apt-get install xautomation

Ahora, si ejecuta en una terminal algo como:

xte 'keydown Control_L' 'key F10' 'keyup Control_L'

eso significa simular una pulsación de tecla Ctrl+ F10. La idea es usar xbindkeys para decir: "cuando presiono el 13º botón del mouse, envío una pulsación de teclado Ctrl+ F10usando el programa xte para generar eso"

9) Y finalmente, debe configurar 'xbindkeys' para que se ejecute automáticamente al iniciar el sistema. Aplicaciones de inicio / botón Agregar programa y escriba '/ usr / bin / xbindkeys' en el cuadro de diálogo.

HECHO

MOVER
fuente
77
Además, como nota, generalmente es más fácil manipular xev con xev | grep buttonlos botones del mouse ..
Seth
Funciona muy bien para mí, excepto que, por alguna razón, no tuve que escribir un script para que comience con mi computadora. ¡Gracias!
Shule
¿Cómo haría para hacer un botón del mouse para que actúe como un botón diferente? Esto parece ser para llaves en particular. Por ejemplo, quiero que el botón 8 actúe como presionar el botón de la rueda del mouse. ¿Es eso posible con xte?
Shule
10

ingrese la descripción de la imagen aquí

Easystroke es una aplicación de reconocimiento de gestos de mouse y gestor de gestos de mouse para Ubuntu y otras distribuciones de Linux. permite al usuario controlar la aplicación ubuntu con gestos de mouse dibujados a mano o dibujar en la pantalla. Easystroke funciona en Tablet PC, se puede usar igualmente bien con un mouse, un bolígrafo o incluso con los dedos si tiene una pantalla táctil.

Instalar Easystroke en Ubuntu

sudo apt-get install easystroke

Si desea instalar easystroke a través de PPA, puede agregar un repositorio de PPA, escriba este comando:

sudo add-apt-repository ppa:easystroke/ppa
sudo apt-get update
sudo apt-get install easystroke

Para usuarios de Unity : EasyStroke aún no ha utilizado el applet indicador, por lo que cuando lo ejecuta desde el menú, no tiene nada en el Applet indicador. Para resolver este problema, simplemente ejecute estos comandos en la terminal:

easystroke -g

Ejecutará EasyStroke y abrirá las ventanas de configuración automáticamente.

Fuente

Penreturns
fuente
No reconocí los botones adicionales en el Logitech G700s.
Dan Dascalescu
5

Easystroke Gesture Recognition está diseñado principalmente para crear gestos de dispositivo señalador personalizados , pero también se puede usar para asignar acciones a simples pulsaciones de botones.

Para usarlo de esta manera,

  1. Abre la ventana de configuración .
  2. En Preferencias ▸ Comportamiento ▸ Botones adicionales ▸ Agregar , seleccione Gestos instantáneos y luego presione el botón del mouse deseado en el cuadro gris.

    Easystroke Gesture Recognition: seleccione un botón del mouse o del lápiz

  3. En Acciones , haga clic en Agregar acción .

  4. Haga doble clic en la columna Stoke y luego presione el botón del mouse deseado nuevamente.

  5. Haga clic en las columnas Nombre , Tipo y Detalles para configurar una acción.

    Easystroke Gesture Recognition - Acciones

ændrük
fuente
5

Si instala el Administrador de configuración de CompizConfig Instalar CompizConfig Settings Manager , podrá configurar muchos accesos directos a los botones del mouse de administración de ventanas.

Puede tomar algún esfuerzo determinar qué botón es cuál.

En la captura de pantalla, estoy asignando abrir el selector Super + Tab a un clic izquierdo de mi rueda de desplazamiento.

Captura de pantalla

8128
fuente
2

Olli Salonen tiene su propio ppa que debe agregarse a su lista si desea instalar a través de apt. Aquí está la información sobre cómo agregar ppa.

https://launchpad.net/~daou/+archive/ppa

Además, este enlace podría ayudar con la instalación en una versión más nueva de Ubuntu ya que veo que Olli no está activo desde hace bastante tiempo.

mbiber
fuente
1
y sí este enlace que ya ha proporcionado es lo que estaba buscando, gracias de nuevo awesomelinux.blogspot.com/2012/08/...
user231354
1

Btnx está disponible para descargar desde aquí .

Dusan Milosevic
fuente
1

A mediados de 2017, parece que no hay ningún paquete btnx actualizado para Ubuntu 16.04 LTS, y easystroke tampoco parece mantenerse por más tiempo.

Quería asignar copiar / pegar a los dos botones adicionales de mi Microsoft IntelliMouse (de décadas, pero probado en batalla) , y finalmente decidí imwheel , que se describe en esta página en el Wiki de Ubuntu .

Como referencia, aquí está mi ~/.imwheelrc:

# https://help.ubuntu.com/community/ManyButtonsMouseHowto

"^(Gnome-terminal|Tilda)"
None, Thumb1, Shift_L|Control_L|C
None, Thumb2, Shift_L|Control_L|Insert

".*"
None, Thumb1, Control_L|C
None, Thumb2, Control_L|V

# vim:ts=4:shiftwidth=4:syntax=sh

Para iniciar la herramienta junto con el servidor X, fijado IMWHEEL_START=1en /etc/X11/imwheel/startup.conf.

Ingo Karkat
fuente
0

La respuesta aceptada está desactualizada, aquí está la versión actualizada.

Ya debería tener estos, ya que deberían venir con Ubuntu, pero ejecute esto por si acaso.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Ahora, descargue e instale

1) btnx-config 2) btnx en este orden.

Instalar:

Descomprima y cden cada una de estas carpetas.

En cada uno de ellos corren:

./configure make
sudo make
sudo make install

Una vez que ambos estén instalados, ejecute

sudo btnx-config

En la pestaña Configuraciones, haga clic en Detectar mouse y botones

ingrese la descripción de la imagen aquí

En la pestaña Botones, asigne a su botón de mouse una tecla o funcionalidad. Asegúrese de ☑ marca de verificación habilitada .

ingrese la descripción de la imagen aquí

Por último, en la pestaña Configuraciones, haga clic en el botón Reiniciar btx para que los cambios surtan efecto.

ingrese la descripción de la imagen aquí

No Sssweat
fuente