Bence EitherMouse burada belirtilmeyi hak ediyor. Bir Windows kutusu kullanmam gerektiğinde çok mutluyum. Çoklu farelerin kurulumunu kolaylaştırır.
Aracı web sitesinden indirebilirsiniz: http://www.eithermouse.com/
Gelecek kuşak için GNU / Linux çözümünü de buraya ekleyeceğim. Bence en iyi yol, özel bir Xorg InputClass bölüm yapılandırması tanımlamaktır. Bu, fare her algılandığında geçerli olacaktır. İşte yapılandırma dosyam /etc/X11/xorg.conf.d/50-mouses-config.conf:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
IdentifierDeğeri çok önemli değildir. USB kimliği lsusbkomut kullanılarak bulunabilir . Hangi düğmelerin kullanılabilir olduğunu görmek için, xevaraç farenizin düğmelerine basarken düğme kimliğini almak için kullanılabilir. Komut xinput list, sisteminizdeki tüm giriş cihazlarının ve xinput ID'lerinin listesini almak için kullanılabilir. Komutu kullanarak cihazın düğmelerinin tam listesini yapabilirsiniz xinput get-button-map N; burada N, cihazınızın xinput kimliğidir xinput get-button-map 10. Aşağıdaki xinput set-button-map N *mapping*komutu kullanarak cihazınızın düğmelerinin eşlemesini değiştirmeyi deneyebilirsiniz :xinput set-button-map 10 3 2 1
Yeni Xorg yapılandırmanızı etkili hale getirmek için X oturumunuzu yeniden başlatmanız gerekecek. Sorun olması durumunda, Xorg.log ( tail -f /var/log/Xorg.0.log) yöntemi neyin yanlış gittiğine dair bir ipucu verebilir.
Bir xinput set-button-mapalternatif kullanılabilir, ancak daha az dinamiktir (cihazınız algılandığında otomatik olarak uygulanmayacaktır). Aşağıdaki komut dosyası başlangıçta çalışacak şekilde yapılandırılabilir (Ubuntu'da kurmak için bir Başlangıç Uygulamaları GUI'si vardır). Bazı nedenlerden dolayı ~ / .profile dosyanızdan komut dosyasını çağırırsanız çalışmaz. MOUSE_NAME değişkeni, xinput listkomutun çıktısında farenize verilen ada karşılık gelir .
#!/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)