Cómo configurar botones adicionales en Logitech Mouse


64

¿Alguien puede decirme cómo configurar todos los botones en un mouse Logitech MX 620 en Ubuntu 12.04?

Específicamente, me gusta hacer que una de ellas sea solo la Ctrlclave (para controlar las páginas web de clic) y otra Ctrl+ Wpara cerrar las pestañas. También normalmente hago que la página de la rueda de desplazamiento baje por cada clic (de lo contrario, me duelen los brazos desplazarse tanto). Hago que empuje la rueda hacia la izquierda = retroceso de página y empuje hacia la derecha = avance de página.

He buscado otras respuestas a esto y encontré algo relacionado aquí

Pero cuando publiqué una publicación de seguimiento para resolver el problema, nadie respondió, tal vez cometí el error de publicar una pregunta que había sido "resuelta". No estoy seguro de cómo se supone que debo volver a abrir una pregunta pertinente a mi pregunta pero que no resuelve la mía.


1
Creo que esta es la forma más fácil de hacer que el mouse funcione con plena funcionalidad: ralf-oechsner.de/opensource/page/logitech_performance_mx
Edward Kennedy

Respuestas:


70

Necesitará varias aplicaciones para esto, para instalarlas ejecute

sudo apt-get install xbindkeys xautomation xev

o

sudo apt-get install xbindkeys xautomation x11-utils

editar: xev se fusionó en x11utils, a partir de Ubuntu 14.04 o superior.

Paso 1

Necesita encontrar los números de botón para los botones de su mouse. Ejecutar xev. Verá aparecer un poco de ventanas blancas, coloque el mouse y presione los botones del mouse (es mejor hacer este botón a la vez). Debería obtener una salida como esta para cada botón:

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(nota: xevtambién capturar el movimiento del ratón por lo que pueda necesitar para tamizar a través de eventos de movimiento del ratón para encontrar los eventos de botón; por ejemplo: xev -event mouse | grep Button --before-context=1 --after-context=2)

Esto es lo que es importante desde que la producción: button 1. Eso nos dice que ese botón en particular es el botón uno. Guardaría esto en un .txtarchivo por ahora.

Paso 2

Cree el xbindkeysarchivo de configuración usando:

xbindkeys --defaults > $HOME/.xbindkeysrc  

A continuación, debemos agregar los enlaces de teclas / botones al archivo de configuración. Puedes abrir este archivo con gedit $HOME/.xbindkeysrc. Aquí es donde comienza la diversión. Vamos a utilizar xtepara establecer enlaces a nuestros botones.

Para hacer que un botón actúe como Ctrlagregaríamos:

"xte 'key Control_L'"
b:1  

Esto se uniría Ctrlal botón uno del mouse.

Si me dices los números de botón de tus botones y lo que quieres que haga cada uno, escribiré el guión para ti.


@seth: Me gustaría configurar los botones 8 y 9 para que estén "atrás" y "adelante" respectivamente. Mejor aún, si pudiera averiguar dónde encontrar los comandos que puedo configurar con xbindkeys, sería genial. Gracias, Dan
dbbd

11
La manera más fácil de reducir la locura de la salida xev es mediante la ejecución de la salida a través de grep: xev | grep -A2 ButtonPress; esto dejará todos los eventos de movimiento del mouse, eventos de enfoque, etc. y solo mostrará los ButtonPresseventos.
Lambart

@dbbd Aparentemente extrañé tu mensaje de alguna manera. Lo investigaré y te responderé.
Seth

2
Mi mouse también es un G300 y no puedo hacer que esto funcione. Los botones están asignados incorrectamente y dos botones están asignados al mismo botón Control_L y no tengo idea de cómo asignarlos, ya que cuando se presionan no se identifican.
Inoki

66
"xbindkeys -p" para aplicar los cambios
Alex Fedulov

12

Seguí las instrucciones de @ Seth , pero el enlace que quería era el botón del pulgar y el M705 CTRL + Left-click(para abrir enlaces en una nueva pestaña en el navegador Chrome). El enlace que necesitaba agregar era este:

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

Espera a que se suelte el botón del pulgar y luego presiona la tecla de control, hace clic con el mouse y luego suelta la tecla de control.


Esta solución, no la anterior, funcionó de maravilla en Ubuntu Mate 16.04 con el mouse Logitech M705. Lo he usado para asignar copiar y pegar a los botones laterales, por lo que mi configuración se veía así: "xte 'keydown Control_L' 'tecla c' 'keyup Control_L'" b: 9 "xte 'keydown Control_L' 'tecla v' 'keyup Control_L '"b: 8
Draco

2
"xbindkeys -p" para aplicar los cambios.
user3616725

8

Para cualquiera que quiera enlazar acciones de copiar y pegar a los botones del mouse:

  1. Siga la respuesta de Seth (la del Paso 1, Paso 2 y sudo apt-get install xbindkeys xautomation xev)
  2. Pon las siguientes líneas en tu .xbindkeysrcarchivo:

Esto es para copiar:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

Esto es para pegar:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9significa el botón 9 del mouse (verifique los números de los botones con xev)

  1. No funcionará de inmediato, .xbindkeysrcprimero debe volver a cargar o reiniciar su máquina.

oh wow esto funcionó para mí perfectamente. tratando de configurar esas claves durante los últimos 4 años y solo ahora puedo hacerlo. ¡gracias! Por cierto, es muy importante saber qué botones son esos, para mí eran 16 y 17 en mi mouse ..
Tio TROM

NOTA: el b: 9, etc. DEBE estar en una nueva línea en el archivo de configuración. Los puse en la misma línea y no pude entender por qué no estaba funcionando.
user3616725

Esto funcionó para mí para la GUI, pero no funciona para el terminal Bash. ¿Hay alguna manera de hacer que copiar / pegar funcione para AMBOS la GUI y el shell con los mismos botones?
JoeMjr2

@ JoeMjr2 En la terminal Bash, lo más probable es que pegue usando Ctrl + Shift + V y copie presionando Ctrl + Shift + C. Por lo tanto, necesitaría alguna forma de utilizar el mapeo específico de la aplicación. Aunque no estoy seguro de cómo. Tal vez podría usar algún emulador de terminal y configurar teclas de acceso rápido para copiar y pegar de la manera estándar; luego, los botones de copiar y pegar del mouse deberían funcionar.
zwolin

5

Debe instalar Solaar, una herramienta de Linux que le permite administrar los mouse y teclados Logitech Unifying Receiver, que viene con una interfaz gráfica de usuario y una interfaz de línea de comandos. Para hacerlo, agregue el siguiente repositorio e instálelo ejecutando los siguientes comandos:

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

Esto le permitirá aumentar y maximizar el DPI de su mouse, monitorear la batería, habilitar el desplazamiento suave y el desplazamiento lateral. Para que la ventana múltiple y el botón de zoom funcionen, puede visitar este sitio que lo guía por los sencillos pasos para obtener la funcionalidad que está buscando:

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx


Hice esto en mi C720 / crouton. Cuando corrí solaar, volvió a la pantalla de inicio. Tuve que reiniciar (y descubrí que el comando era sudo startxfce4) y eliminé solaar.
Marty Cohen

Solaar me molestó mucho el 14.04 y, finalmente, simplemente no se ejecutó en absoluto. Me doy cuenta de que la pregunta original era sobre las 12.04, pero pensé que valía la pena mencionarla. Tal vez salvar a alguien un poco de tiempo.
musgo

12
-1. Esta respuesta no responde la pregunta. solaar no hace ningún mapeo de los botones del mouse.
Twifty

tampoco funcionó para mí.
Woeitg

3

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 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í


Funcionó bien en ubuntu disco. Una corrección: debería ser justo ./configure, no ./configure make. Además, no necesitas sudo con make.
panta82

@ panta82 Los tomé directamente del archivo README.md
No Sssweat

Lo sé. Hay un error en el archivo README :)
panta82

2

Yo también tengo el mouse para juegos g700s. La buena noticia es que era costoso (para un mouse) y la fabricación realmente lo construyó con un alto estándar. Las funciones para el mouse se almacenan en el mouse. La mala noticia es que, para configurarlo correctamente, debe utilizar el software Logitech que solo se ejecuta en Windows.

Entonces ... básicamente necesitas enchufar el mouse en un cuadro de Windows y configurarlo exactamente como lo deseas . Recomiendo utilizar la función de cambiar de perfil para que pueda configurarlo para un uso normal, es decir: ejecutar su escritorio de Linux, funciones de compiz (cambiar aplicaciones, cambiar espacios de trabajo, alternar maximizar, etc.) y luego crear otro perfil para juegos ( posiblemente con una frecuencia de actualización diferente) y los botones de juego. En cuanto a compiz, considere configurar los botones de los 4 pulgares laterales en alt, ctl, shift, superkey, ya que esto hará que el cambio sea más fácil con la rueda de desplazamiento. alt + rueda de desplazamiento hacia arriba se convierte en el botón del pulgar 1 + rueda de desplazamiento hacia arriba.

Mi esquema:

botón del pulgar 1 (adelante hacia abajo) = alt

botón del pulgar 2 (adelante hacia arriba) = desplazamiento

botón del pulgar 3 (trasero inferior) = Ctrl

botón del pulgar 4 (parte superior trasera) = superclave (tecla de Windows)

botón central del dedo índice = ctrl + alt + teclado numérico 5

dedo índice más cerca de ti = pestaña

dedo índice más alejado de usted = alt-f4 (compiz / linux / winX cerrar aplicación)

valores predeterminados de compiz:

cambiar el espacio de trabajo = alt + ctl + arrastrar el mouse = bajar 2 botones del pulgar juntos + hacer clic con el mouse y arrastrar; Suena complicado cuando se escribe, pero es muy eficiente de usar.

cambiar aplicaciones = alt + tab = botón de avance del pulgar inferior + botón de cierre del dedo índice (recuerde que para que esto funcione bien, debe mantener presionado el botón del pulgar, para que pueda cambiar más de 1 aplicación)

desvanecimiento de una ventana (transparencia) = alt + rueda de desplazamiento = pulgar botón inferior hacia adelante + rueda de desplazamiento

Luego, llévalo de vuelta a tu caja de linux y funciona perfectamente.

Las combinaciones de teclas descritas anteriormente funcionan muy bien, pero tenga en cuenta que Battlefield 4 también tiene un tiempo terrible para reconocer el mouse como un mouse con 10 botones, por lo que tuve que asignar mis 4 botones de pulgar a =, \ y;. Pero, obviamente, en Linux esto es una tontería, y volver a vincular la tecla = a la "próxima aplicación" es una lección de inutilidad, especialmente cuando se codifica jajajaja.

MUCHOS ENLACES NECESARIOS SI UTILIZA VIRTUALBOX PARA EJECUTAR WINDOWS 7:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo



1

Tengo un Logitech MX 500 y quería asignar las teclas laterales con las acciones Copiar y Pegar (es muy útil).

Utilicé esta guía para comprender cómo configurar el archivo xbindkeysrc y poder asignar las claves.


2
Usted sabe que mover el puntero del mouse al inicio / final del texto que desea copiar y luego presionar el botón izquierdo y mantenerlo presionado hasta llegar al final / inicio de lo que desea copiar y se copia. Cuando desee pegar, presione el botón central (si solo tiene un mouse de dos botones, presione los botones izquierdo y derecho al mismo tiempo) y pegue el texto. No es necesario configurar nada, esto está listo para usar en todas las máquinas Unix y Linux con un sistema XWindows. Tenga en cuenta que no estamos utilizando un producto de Microsoft sin características sino GNU / Linux

@ user350566 Este tipo de copiar + pegar tiene algunas limitaciones. A veces quieres el otro portapapeles también conocido como Ctrl + C / + V. Solo digo.
donquixote

1

Hice una solución que funciona con Wayland.

Está aquí https://github.com/mathportillo/wayland-mouse-mapper

Utiliza evemu para enviar un aviso de evento de dispositivo al núcleo, por lo que no está restringido por Wayland

A continuación se muestra un script bash resumido que muestra cómo funciona (la mayoría de los comandos requieren privilegios de root)

encuentra tu dispositivo:

libinput list-devices

para encontrar directamente el nombre del dispositivo puntero, use:

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

para enumerar el uso de eventos de su dispositivo (cambie event5 por el nombre del dispositivo de puntero):

libinput debug-events --device /dev/input/event5

para enlazar comandos a los eventos de su dispositivo use:

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

para activar un evento de mouse use:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

el tipo puede ser diferente a la pulsación de tecla, y el código puede ser diferente a PageUp, el valor es 1 para presionado y 0 para liberado sí, su mouse puede disparar pulsaciones de teclas, el sistema lo interpretará igual que los teclados, todo es solo eventos de dispositivos de eventos.

Puede encontrar un script que combina todos los conceptos anteriores en un mapeador que funciona, que funciona en Wayland y que puede configurarse como un servicio para iniciarse en el inicio del sistema, en el repositorio de git anterior.


0

en Debian tiene un xbindkeys-configpaquete que lo ayudará a configurar sus enlaces de teclas / botones. Entonces hazlo:

sudo apt-get install xbindkeys-config

2
Ese programa simplemente se bloquea cada vez que intento hacer algo con mi G300.
Inoki


0

Así que he estado usando mi MX de rendimiento en mi máquina ubuntu durante aproximadamente 6 meses. Dejé la mayoría de los botones predeterminados, pero seguí adelante y convertí el botón del pulgar en la tecla Súper, que es más útil que ir a la esquina superior izquierda de la pantalla en gnome. Y convertí el botón de zoom en un botón de control. Pero está configurado para activar CTRL y desactivar CTRL con clics separados. Esto realmente ayuda ya que tengo una pantalla 4K y una 1080, por lo que puedo hacer clic en el botón de zoom una vez, desplazar la rueda para acercar y alejar las páginas web, y cuando tengo la página web escalada como quiero, hago clic en el zoom de nuevo. Aquí está mi configuración de xbindkeysrc:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release

Esto no parece responder a la pregunta formulada.
TheWanderer

0

btnxpodría ser una solución simple para la reasignación de botones con ratones Logitech, ya que debería funcionar con todas las marcas. Tiene una interfaz gráfica fácil y puede aprender sobre los botones disponibles. btnx era parte de los repositorios estándar hace años, pero se ha eliminado. Actualmente está disponible aquí: https://launchpad.net/~oliverstar/+archive/ubuntu/ppa


0

Desplácese hacia arriba y hacia abajo con los botones hacia adelante y hacia atrás del mouse

Primero, instale los paquetes requeridos:

$ sudo apt install x11-utils xbindkeys xautomation

A continuación, utilice el xevproporcionado por x11-utilspara detectar los números exactos de los botones de retroceso y avance del mouse.

$ xev |grep -A2 ButtonPress

Para mi mouse Anker con cable vertical , atrás y adelante son respectivamente los botones 8 y 9.

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

ratón Anker vertical con cable

Continúe creando un archivo oculto nombrado .xbindkeysrcen su directorio de inicio con los siguientes contenidos:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

El xtecomando lo proporciona el xautomationpaquete.

Finalmente, cierre sesión y vuelva a iniciarla desde el escritorio para que estos cambios surtan efecto. Ahora puede desplazarse hacia arriba y hacia abajo en los navegadores y otros programas presionando y manteniendo presionados los botones hacia atrás y hacia adelante.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.