मध्य माउस बटन अक्षम करना


17

इसलिए मैंने विभिन्न अन्य प्रश्नों को देखने की कोशिश की, लेकिन वे ज्यादातर मध्य माउस पेस्ट को निष्क्रिय करने पर ध्यान केंद्रित करते हैं।

मूल रूप से मेरे Logitech G500s पर मध्य माउस बटन टूट गया है, और यह बेतरतीब ढंग से "क्लिक" करता रहता है इसलिए यह काम करने के किसी भी अवसर को खराब कर रहा है।

क्या इसे निष्क्रिय करने का कोई तरीका है? या यह कुछ भी करने के लिए नक्शा?

धन्यवाद और खेद है अगर यह एक डुप्लिकेट है।

xinput list उत्पादन:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜   ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜   ↳ Turtle Beach Turtle Beach PX3 (XBOX) id=8 [slave pointer (2)]
⎜   ↳ Logitech G500s Laser Gaming Mouse id=9 [slave pointer (2)]
⎜   ↳ Logitech G500s Laser Gaming Mouse id=10 [slave pointer (2)]
⎜   ↳ Razer Razer DeathStalker id=12 [slave pointer (2)]
⎜   ↳ Razer Razer DeathStalker id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Power Button id=7 [slave keyboard (3)]
    ↳ Razer Razer DeathStalker id=11 [slave keyboard (3)]

इस कमांड को निष्पादित करें xinput list | grep 'id='और आउटपुट पोस्ट करें।
हेलियो

इस माउस के लिए, इस माउस के लिए दो डिवाइस आईडी हैं। Xinput टेस्ट 9 को चलाने के बाद, मेरे माउस के मध्य बटन की आईडी 2 है
टॉम हैमिल्टन स्टबर

जवाबों:


24

उन आदेशों को निष्पादित करें:

xinput set-button-map 9 1 0 3
xinput set-button-map 10 1 0 3

explaination (कृपया @Yehosef द्वारा दान ):

पहला नंबर सूचक की आईडी है (आप अक्सर केवल एक ही होगा, इस मामले में दो, 9 और 10 थे)।

अगले नंबर आप पहले, दूसरे और तीसरे (यानी, बाएं, मध्य, दाएं) माउस बटन के साथ क्या कर रहे हैं। "1 0 3" यह बताता है कि बाएं बटन को बाएं क्लिक (एक्शन 1) करना चाहिए, मध्य बटन को कुछ नहीं करना चाहिए, और दाहिने बटन को राइट क्लिक (कार्रवाई 3) करना चाहिए। यदि आप बीच का बटन बनाना चाहते हैं, तो बाईं ओर क्लिक करके आप "1 1 3" का उपयोग कर सकते हैं। यदि आप दाएं और बाएं कार्यों को स्विच करना चाहते हैं, तो आप "3 0 1" का उपयोग कर सकते हैं। अधिक जानकारी के लिए https://wiki.ubuntu.com/X/Config/Input देखें ।


बहुत बहुत धन्यवाद, यह देखने की कोशिश बहुत निराशा हो रही थी।
टॉम हैमिल्टन स्टबर

1
धन्यवाद! सोच रहे लोगों के लिए - 9/10 माउस के इनपुट आईडी हैं और 1 0 3 पहले, दूसरे और तीसरे माउस बटन के लिए मैपिंग हैं। यदि आप चाहते हैं कि सभी बटन एक ही काम करें तो आप 1 1 1 का उपयोग कर सकते हैं या यदि आप दाएं और बाएं बटन को स्विच करना चाहते हैं तो आप 3 0 1 का उपयोग कर सकते हैं
योहॉज़

@Yehosef: धन्यवाद! मैंने यह नहीं बताया कि जब ओपी ने आज्ञा दी थी तब क्या हो रहा है। कृपया एक नया विस्तृत जवाब तैयार करें, मुझे पिंग करें और मैं इसे बढ़ा दूंगा। यह एक दिलचस्प व्याख्या है।
हेलियो

@ हेलीओ का मेरे पास कोई अलग जवाब नहीं है - केवल उन लोगों के लिए अधिक स्पष्टीकरण। शायद आप इस जानकारी को शामिल करने के लिए अपने उत्तर को संपादित करना चाहते हैं। मैं आपके उत्तर को संपादित करने के बारे में सोच रहा था - लेकिन मुझे आम तौर पर यह पसंद नहीं है जब लोग मेरे उत्तरों में अतिरिक्त विवरण जोड़ते हैं - इसलिए मैं
मुकर गया

2
तो मैं पहली संख्या कैसे निर्धारित करूं। मैं दौड़ता हूं xinput list | grep 'id='और उन चीजों की तलाश करता हूं जो मेरे माउस / टचपैड की तरह दिखती हैं? यह बताने का कोई निश्चित तरीका कि क्या यह सही है?
क्वाथ जुले

3

निम्नलिखित निर्देश उबंटू विकी पर जानकारी पर आधारित हैं (स्क्रॉल डाउन टू टाइटल "उदाहरण: स्क्रोलव्हील माउस पर मध्य-माउस बटन पेस्ट को अक्षम करना")।

सबसे पहले, इनपुट उपकरणों को सूचीबद्ध करके सूचक की आईडी निर्धारित करें:

xinput list | grep 'id='

और उस लाइन की तलाश करें जिसमें आपके पॉइंटर का नाम है, "आईडी =" के ठीक बाद डिवाइस का आईडी भी होना चाहिए। उदाहरण के लिए, इस उपकरण की आईडी 10 है:

Lenovo ThinkPad Compact USB Keyboard with TrackPoint    id=10   [slave  pointer  (2)]

अगला, उस डिवाइस का वर्तमान बटन मैप प्राप्त करें (मैं अपने डिवाइस की आईडी का उपयोग करूंगा, जो 10 है):

xinput get-button-map 10

आउटपुट:

1 2 3 4 5 6 7 8 9

यह पॉइंटर बटन को क्रियाओं की मैपिंग कर रहा है, जहां संख्या एक्शन कोड और स्थिति - बटन को दर्शाती है।

हम दूसरे मानचित्र में रुचि रखते हैं - नंबर 2 "मध्य बटन क्लिक" और इसके बीच की स्थिति से संबंधित है - वास्तविक मध्य बटन पर।

किसी भी कार्रवाई को ट्रिगर करने वाले मध्य बटन को अक्षम करने के लिए, मैं xinput set-button-mapडिवाइस और अपडेट किए गए नक्शे की आईडी के साथ कमांड का उपयोग करूंगा (नया एक्शन कोड 0 है - कोई कार्रवाई नहीं)। पूरे बटन को लगाने की जरूरत नहीं - इच्छुक बटन पर्याप्त होने तक मानचित्र (बाकी सिर्फ अपडेट नहीं किया जाएगा):

 xinput set-button-map 10 1 0

बस।


इसने लेनोवो थिंकपैड T580 पर Ubuntu 18.04
रसेल इंग्लैंड

0

set-button-mapमध्य क्लिक कार्यक्षमता अक्षम करता है। बाएँ + दाएँ क्लिक का उपयोग करके मध्य-क्लिक का अनुकरण करने के लिए (ताकि आप माउस का उपयोग करके पेस्ट और ओपन-इन-टैब आदि कर सकें) लेकिन माउस व्हील क्लिक को अक्षम कर सकते हैं, आप libinput पैच कर सकते हैं:

--- a/src/evdev.c   2019-09-22 17:15:13.498880044 +0300
+++ a/src/evdev.c   2019-09-22 17:15:18.062860221 +0300
@@ -1861,6 +1861,8 @@
    /* Logitech Marble Mouse claims to have a middle button */
    if (device->model_flags & EVDEV_MODEL_LOGITECH_MARBLE_MOUSE)
        libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
+
+   libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
 }

 static void
  • mkdir deb; cd deb; apt source libinput; sudo apt build-dep libinput
  • ऊपर पैच के रूप में सहेजें libinput-1.XX.Y/debian/patches/middle.diff
  • जोड़ने middle.diffके लिएdebian/patches/series
  • dpkg-buildpackage -us -uc -b
  • sudo dpkg -i ../libinput10_*.deb
  • Xorg को पुनरारंभ करें या मशीन को पुनरारंभ करें

और उपयोग करें xinput listऔर xinput set-prop 11 "libinput Middle Emulation Enabled" 1बाएँ + दाएँ अनुकरण को सक्षम करने के लिए। 11से डिवाइस नंबर है xinput listऔर आप सेट-प्रोप कमांड को इसमें जोड़ सकते हैं ~/.xstartup

या, पुनर्निर्माण से बचने के लिए, एक libinput .quirks फ़ाइल (अप्रयुक्त) का उपयोग करें:

[My Mouse]
MatchUdevType=mouse
AttrEventCodeDisable=BTN_MIDDLE;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.