वायलैंड के तहत अतिरिक्त माउस बटन कॉन्फ़िगर करें


10

मैं 10-बटन माउस (Logitech M705) का उपयोग करता हूं। X11 के तहत, मैं फ़ाइलों को संशोधित करके दूसरे मध्य-क्लिक के रूप में व्यवहार करने के लिए अतिरिक्त बटनों में से एक को कॉन्फ़िगर करने में सक्षम था etc/X11/xorg.conf.d

वेनलैंड के तहत, यह अब काम नहीं करता है। मेरे शोध से पता चलता है कि मुझे कुछ करने की जरूरत है libinput। मैंने सोचा कि यह एक सामान्य समस्या होगी लेकिन कहीं भी इसका जवाब नहीं मिल सकता है।

क्या कोई समझा सकता है कि माउस बटन को कैसे रिमैप किया जाए या समझाया जाए कि ऐसा क्यों नहीं किया जा सकता है?


मैं थोड़ी देर के लिए Wayland का उपयोग कर रहा हूं और मुझे पता नहीं चला कि अब तक बटन कैसे हटाएं।
पौलोदियोवानी

जवाबों:


6

यदि आप वायलैंड चला रहे हैं तो रीमैपिंग बटन इस तरह किया जा सकता है:

  1. xev | grep buttonलॉग इन माउस क्लिक घटनाओं और खिड़की में fe क्लिक करके घटना की संख्या प्राप्त करने के लिए चलाएँ । मेरे मामले में, मध्य बटन है:

    state 0x10, button 2, same_screen YES
    

    और मैं इसे मैप करना चाहता हूं:

    state 0x10, button 13, same_screen YES
    
  2. फिर चलाएं xinput --listऔर अपना पॉइंटर डिवाइस खोजें, मेरा है:

    Logitech Performance MX  id=9  [slave pointer  (2)]
    
  3. xinput get-button-map 9 रिटर्न:

    1 2 3 4 ... 20
    
  4. xinput सेट-बटन-मानचित्र:

    $ xinput set-button-map 9  1 13 3 4 .. 12 2 14 .. 20
    

नोट:9 द्वारा लौटाए गए नंबर के लिए नंबर बदलेंid=

और अगर उस कुंजी के व्यवहार को परिभाषित किया जाता है, तो आपकी घटना मैप की जाती है। यदि ऐसा नहीं है, तो यह थोड़ा अलग मुद्दा है। वायलैंड टीबीएच के तहत मुझे एक घटना पर एक कमांड निष्पादित करने का कोई रास्ता नहीं मिला (जो कि Xorg के साथ बहुत आसान है xbindkeys) और इसलिए पूरी तरह से कुंजी और माउस घटना के व्यवहार को अनुकूलित करता है .. मेरा मानना ​​है कि वेलैंड अधिक सुरक्षित होने की कोशिश कर रहा है और इस व्यवहार को अक्षम करता है ।

किसी भी मामले में, आपके पास अभी भी एक्सगोर पर आसानी से स्विच करने और कार्यक्षमता का आनंद लेने का अवसर है।


मेरे लिए काम किया है, लेकिन आप परिवर्तन को स्थायी कैसे बनाते हैं? लगता है कि मुझे xinput set-button-mapप्रत्येक नए वेलैंड सत्र के लिए
दौड़ना होगा

1
हां, आपको इसे हर बार चलाने की आवश्यकता है। इसे स्वचालित करने के लिए, आप इसे एक स्क्रिप्ट में रख सकते हैं और एक सेवा फ़ाइल बना सकते हैं, या इसे एक इनिट फ़ोल्डर में रख सकते हैं, जो आपके डिस्ट्रो के अनुरूप स्टार्टअप पर चलाया जाता है (सिस्टम-आधारित OS पर जो /etc/rc.d/init होगा .d /)
CermakM

आप xconf फाइलों में एक विकल्प डाल सकते हैं: Option "ButtonMapping" "1 2 3 ..."
le hollandais volant

यह केवल एक्सगॉर इनपुट ड्राइवर को बदलता है, न कि किसी भी एप्लिकेशन को जो देशी तरीके से रचना का उपयोग करता है, जैसे ग्नोम शेल या नॉटिलस
रे फॉस

3

मैंने एक छोटी सी शेल स्क्रिप्ट + सिस्टमड यूनिट फ़ाइल बनाई जिसे मैं वेलैंड-माउस-मैपर कहता हूं ।

अंश गणितोपायलो / वेन्डलैंड-माउस-मैपर

वेलैंड पर कीस्ट्रोक्स को माउस बटन मैप करने के लिए एक छोटी स्क्रिप्ट।

मैंने अपने लिए उपयोगी सामान के लिए अपने माउस के अतिरिक्त बटनों का उपयोग करने के लिए बनाया। यह परीक्षण किया गया है और गनोम का उपयोग करते हुए फेडोरा 27 पर लॉजिटेक एमएक्स मास्टर 2 एस के साथ काम करता है, और यह मेरे पुराने लॉजिटेक प्रदर्शन एमएक्स पर भी काम करता है। यह शायद किसी भी वेलैंड और किसी भी लॉजिटेक माउस (या किसी भी माउस पर काम करता है यदि आप मैपिंग को संपादित करते हैं) क्योंकि कोई अन्य विधि (xdotools, xbindkeys, आदि) काम नहीं करती थी।

यह libinput डिबग-ईवेंट्स से पढ़कर और ईवेमु का उपयोग करके मुख्य ईवेंट को मान्यता प्राप्त डिवाइस से मान्यता प्राप्त बटन को ट्रिगर करके काम करता है।

बटन

ये केवल डिफ़ॉल्ट सेटिंग्स हैं, आप उन्हें mousemapper.sh स्क्रिप्ट की शुरुआत में अनुकूलित कर सकते हैं।

  • आगे: कार्यक्षेत्र में ऊपर जाएं ( Super+ Page up)
  • पीछे: नीचे कार्यस्थान पर जाएँ ( Super+ Page down)

0

Hwdb udev नियमों को संशोधित करने का प्रयास करें। यह माउस बटन को एक कीबोर्ड कुंजी जैसे कि Launch8 / F16 के रूप में पंजीकृत करता है और सभी कार्यक्रमों, वीलैंड या अन्यथा में उनकी कार्यक्षमता को अक्षम करता है।

# /usr/lib/udev/hwdb.d/71-mouse-local.hwdb

evdev:input:*
 KEYBOARD_KEY_90004=key_f16
 KEYBOARD_KEY_90005=key_f17

फिर रूट के रूप में systemd-hwdb update; udevadm triggerऔर माउस को अनप्लग करें फिर इसे वापस प्लग करें।

अतिरिक्त पवित्रता की जाँच: sudo udevadm info /dev/input/by-path/*-usb-*-mouse | grep -A3 -P3 KEYBOARD_KEYया systemd-hwdb query "evdev:input:v046dp406a*आईडी को खींचने के विवरण के लिए इस तरह के स्रोत को देखें।

स्रोत: https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hdd/

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