Eu acho que o EitherMouse merece ser mencionado aqui. Fico muito feliz quando tenho que usar uma caixa do Windows. Isso facilita muito o gerenciamento de uma configuração de mouses múltiplos.
Você pode fazer o download da ferramenta no site: http://www.eithermouse.com/
Para o bem da posteridade, incluirei a solução para o GNU / Linux aqui também. A melhor maneira, na minha opinião, é definir uma configuração personalizada da seção Xorg InputClass. Isso entrará em vigor sempre que o mouse for detectado. Aqui está o meu arquivo de configuração /etc/X11/xorg.conf.d/50-mouses-config.conf
:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
O Identifier
valor não é importante. O ID USB pode ser encontrado usando o lsusb
comando Para ver quais botões estão disponíveis, a xev
ferramenta pode ser usada para obter o ID do botão enquanto você pressiona os botões do mouse. O comando xinput list
pode ser usado para obter uma lista de todos os dispositivos de entrada no seu sistema e seu ID de xinput. Você pode obter uma lista completa dos botões do dispositivo usando o comando xinput get-button-map N
, onde N é o ID de xinput do seu dispositivo, como xinput get-button-map 10
. Você pode experimentar modificar o mapeamento dos botões do seu dispositivo usando o xinput set-button-map N *mapping*
comando, como:xinput set-button-map 10 3 2 1
Você precisará reiniciar sua sessão do X para tornar sua nova configuração do Xorg eficaz. Em caso de problema, o Xorg.log ( tail -f /var/log/Xorg.0.log
) pode lhe dar uma pista do que deu errado.
Uma xinput set-button-map
alternativa pode ser usada, mas é menos dinâmica (não será aplicada automaticamente quando o dispositivo for detectado). O script a seguir pode ser configurado para ser executado na inicialização (no Ubuntu há uma GUI de aplicativos de inicialização para configurá-lo). Por alguns motivos, não funcionará se você simplesmente chamar o script do seu arquivo ~ / .profile. A variável MOUSE_NAME corresponde a qualquer nome dado ao seu mouse na saída do 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)