Creo que EitherMouse merece ser mencionado aquí. Estoy muy contento cuando tengo que usar un cuadro de Windows. Hace que administrar una configuración de múltiples ratones sea muy fácil.
Puede descargar la herramienta en su sitio web: http://www.eithermouse.com/
Por el bien de la posteridad, incluiré la solución para GNU / Linux aquí también. La mejor manera, en mi opinión, es definir una configuración de sección Xorg InputClass personalizada. Esto tendrá efecto cada vez que se detecte el mouse. Aquí está mi archivo de configuración /etc/X11/xorg.conf.d/50-mouses-config.conf
:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
El Identifier
valor no es importante. La identificación del USB se puede encontrar usando el lsusb
comando. Para ver qué botones están disponibles, la xev
herramienta se puede utilizar para obtener la ID del botón al presionar los botones del mouse. El comando xinput list
se puede usar para obtener una lista de todos los dispositivos de entrada en su sistema y su ID de xinput. Puede obtener una lista completa de los botones del dispositivo con el comando xinput get-button-map N
, donde N es la ID de entrada de x de su dispositivo, como xinput get-button-map 10
. Puede experimentar modificando la asignación de los botones de su dispositivo usando el xinput set-button-map N *mapping*
comando, como:xinput set-button-map 10 3 2 1
Tendrá que reiniciar su sesión X para que su nueva configuración Xorg sea efectiva. En caso de problemas, el Xorg.log ( tail -f /var/log/Xorg.0.log
) podría darle una pista de lo que salió mal.
Se xinput set-button-map
puede usar una alternativa, pero es menos dinámica (no se aplicará automáticamente cuando se detecte su dispositivo). El siguiente script se puede configurar para ejecutarse al inicio (en Ubuntu hay una GUI de aplicaciones de inicio para configurarlo). Por alguna razón, no funcionará si simplemente llama al script desde su archivo ~ / .profile. La variable MOUSE_NAME corresponde a cualquier nombre que se le dé a su mouse en la salida del xinput list
comando.
#!/bin/bash
MOUSE_NAME="Razer Razer Lachesis"
BUTTONS_MAP="3 2 1"
while read -r line; do
raw_line=$(grep "$MOUSE_NAME" | grep "pointer")
if [ ! -z "$raw_line" ]; then
mouse_id=$(echo "$raw_line" | cut -d '=' -f2 | sed 's/\t.*//g')
echo "Found ${MOUSE_NAME}'s id: $mouse_id"
xinput set-button-map $mouse_id $BUTTONS_MAP
break
fi
done < <(xinput list)