मुझे लगता है कि EitherMouse यहाँ उल्लेख किया जाना चाहिए। मैं इससे बहुत खुश हूँ जब मुझे विंडोज बॉक्स का उपयोग करना होगा। यह एक मल्टी-माउज़ सेटअप को एक हवा का प्रबंधन करता है।
आप टूल को इसकी वेबसाइट पर डाउनलोड कर सकते हैं: http://www.eithermouse.com/
पश्चाताप के लिए, मैं यहाँ GNU / Linux के लिए भी समाधान शामिल करूँगा। मेरी राय में, सबसे अच्छा तरीका है, एक कस्टम Xorg InputClass अनुभाग कॉन्फ़िगरेशन को परिभाषित करना है। यह किसी भी समय प्रभाव में होगा जब माउस का पता चल जाएगा। यहाँ मेरी कॉन्फ़िगरेशन फ़ाइल है /etc/X11/xorg.conf.d/50-mouses-config.conf
:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
Identifier
मूल्य महत्वहीन है। USB ID lsusb
कमांड का उपयोग करके पाया जा सकता है । यह देखने के लिए कि कौन से बटन उपलब्ध हैं, xev
टूल का उपयोग बटन आईडी प्राप्त करने के लिए किया जा सकता है क्योंकि आप अपने माउस के बटन दबाते हैं। कमांड xinput list
का उपयोग आपके सिस्टम पर सभी इनपुट डिवाइसों की सूची, और उनकी xinput आईडी प्राप्त करने के लिए किया जा सकता है। आप कमांड का उपयोग करके डिवाइस के बटनों की पूरी सूची ले सकते हैं xinput get-button-map N
, जहां एन आपके डिवाइस की xinput आईडी है, जैसे xinput get-button-map 10
। आप xinput set-button-map N *mapping*
कमांड का उपयोग करके अपने डिवाइस के बटन की मैपिंग को संशोधित कर सकते हैं , जैसे:xinput set-button-map 10 3 2 1
अपने नए Xorg कॉन्फ़िगरेशन को प्रभावी बनाने के लिए आपको अपना X सत्र पुनः आरंभ करना होगा। समस्या के मामले में, Xorg.log ( tail -f /var/log/Xorg.0.log
) आपको एक सुराग दे सकता है कि क्या गलत हुआ।
एक xinput set-button-map
विकल्प का उपयोग किया जा सकता है, लेकिन कम गतिशील है (यह आपके डिवाइस का पता चलने पर स्वचालित रूप से लागू नहीं होगा)। स्टार्टअप पर चलने के लिए निम्न स्क्रिप्ट को कॉन्फ़िगर किया जा सकता है (उबंटू में इसे स्थापित करने के लिए एक स्टार्टअप एप्लीकेशन जीयूआई है)। अगर आप बस अपनी ~ / .profile फ़ाइल से स्क्रिप्ट को कॉल करते हैं तो कुछ कारणों से यह काम नहीं करेगा। MOUSE_NAME चर xinput list
कमांड के आउटपुट में आपके माउस को जो भी नाम दिया गया है, उससे मेल खाता है ।
#!/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)