Penso che OitherMouse meriti di essere menzionato qui. Sono molto contento quando devo usare una finestra di Windows. Rende semplice la gestione di una configurazione multi-mouse.
Puoi scaricare lo strumento dal suo sito Web: http://www.eithermouse.com/
Per amor dei posteri, includerò anche qui la soluzione per GNU / Linux. Il modo migliore, a mio avviso, è definire una configurazione personalizzata della sezione InputClass di Xorg. Ciò avrà effetto ogni volta che viene rilevato il mouse. Ecco il mio file di configurazione /etc/X11/xorg.conf.d/50-mouses-config.conf:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
Il Identifiervalore non è importante. L'ID USB può essere trovato utilizzando il lsusbcomando. Per vedere quali pulsanti sono disponibili, lo xevstrumento può essere utilizzato per ottenere l'ID pulsante mentre si premono i pulsanti del mouse. Il comando xinput listpuò essere utilizzato per ottenere un elenco di tutti i dispositivi di input sul sistema e il loro ID xinput. È possibile un elenco completo dei pulsanti del dispositivo utilizzando il comando xinput get-button-map N, dove N è l'ID xinput del dispositivo, ad esempio xinput get-button-map 10. Puoi provare a modificare la mappatura dei pulsanti del tuo dispositivo utilizzando il xinput set-button-map N *mapping*comando, ad esempio:xinput set-button-map 10 3 2 1
Dovrai riavviare la sessione X per rendere effettiva la tua nuova configurazione Xorg. In caso di problemi, Xorg.log ( tail -f /var/log/Xorg.0.log) potrebbe darti un indizio su cosa sia andato storto.
È xinput set-button-mappossibile utilizzare un'alternativa, ma è meno dinamica (non verrà applicata automaticamente quando viene rilevato il dispositivo). Il seguente script può essere configurato per essere eseguito all'avvio (in Ubuntu è disponibile una GUI di applicazioni di avvio per configurarlo). Per alcuni motivi non funzionerà se si chiama semplicemente lo script dal proprio file ~ / .profile. La variabile MOUSE_NAME corrisponde al nome assegnato al mouse nell'output del xinput listcomando.
#!/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)