माउस बटन को चाबी से कैसे बांधें?


19

मेरे पास एक Logitech MX400 लेजर माउस है जिसमें ऊर्ध्वाधर / क्षैतिज स्क्रॉलिंग के लिए 5 बटन + 4 हैं। मैं चाहूंगा कि इसे स्क्रॉल करने के बजाय क्षैतिज स्क्रॉलिंग दाएं स्क्रॉल स्क्रॉल पर भेजेगा Ctrl+ Tabऔर बायां Ctrl+ Shift+ भेज देगा Tab, जो मुझे ब्राउज़रों में टैब के माध्यम से साइकिल चलाने की अनुमति देगा।

इसके अलावा, यह अच्छा होगा अगर मैं बीच के बटन को साइड में से किसी एक पर रीमैप कर सकता हूं क्योंकि नीचे दबाया जाना वास्तव में कठिन है।

एक और बोनस होगा यदि मैं एक स्क्रिप्ट लिख सकता हूं जो मुझे परिभाषित करने की अनुमति देता है कि बटन क्या करते हैं जो वर्तमान में किस विंडो पर निर्भर है।

मैंने उपयोग करने की कोशिश की है, xmodmapलेकिन मैं केवल यह देख सकता हूं कि कैसे बटन को फिर से व्यवस्थित करना है, न कि उन्हें मुख्य सिग्नल भेजना है।

अग्रिम में धन्यवाद।


बटन मानचित्र (उपयोग करके xev):

Left        1
Middle      2
Right       3
ScrollUp    4
ScrollDown  5
ScrollLeft  6
ScrollRight 7
Backward    8
Forward     9

जवाबों:


18

Xbindkeys और xte आप कर सकते हैं।

उदाहरण के लिए मेरी .xbindkeysrc फ़ाइल इस तरह दिखती है:

# close the window under the mouse cursor
"xte 'mouseclick 1' && xte 'keydown Alt_L' 'key F4' 'keyup Alt_L'"
  b:8+Release

# double click
"xte 'mouseclick 1' 'mouseclick 1'"
  b:9

यह शानदार और एक्स्टेंसिबल है, बहुत से धन्यवाद
कैलम रोजर्स

1
Ubuntu 16.x पर xte प्राप्त करने के लिए , आपको apt से xautomation को स्थापित करना होगा ।
1111161171159459134

यदि मुझे पसंद नहीं है, तो यह काम नहीं करता है, क्योंकि यदि मैं बटन दबाए रखता हूं तो यह उसी तरह काम नहीं करता है। मेरे पुराने माउस में एक बटन था जो स्क्रॉल व्हील को स्वतंत्र रूप से स्पिन करने में सक्षम बनाता है, जो कि बहुत अच्छा है यदि मैं इसे वास्तविक तेजी से आगे बढ़ाना शुरू करना चाहता हूं और एक लंबा रास्ता तय करना चाहता हूं। लेकिन मेरे नए के पास ऐसा नहीं है, इसलिए मैंने साइड में दो बटन बांधे (मुझे लगता है कि वे वेब ब्राउजिंग के लिए बैक / फॉरवर्ड बटन के रूप में तैयार हैं) PgUp / PgDn कीज पर। लेकिन मुझे उन्हें बार-बार दबाना होगा अगर मैं स्क्रॉल रखना चाहता हूं; मैं बस उन्हें पकड़ नहीं सकता। जब तक मैं बटन दबाता हूं, तब तक मैं इसे कैसे पकड़ सकता हूं?
flarn2006

5

समाधान के लिए सभी का धन्यवाद। यहां एक अधिक मूर्ख / संयुक्त मार्गदर्शिका है (Xubuntu 18.04 पर)।

  1. टर्मिनल खोलें (जैसे xterm / टर्मिनल / टर्मिनेटर), रूट बनें ( sudo su -) या कमांड के सामने sudo का उपयोग करें:

    apt install xbindkeys xautomation
  2. इसके साथ बटन मैपिंग की जाँच करें xev, इसके लिए आपको रूट अनुमति की आवश्यकता नहीं है इसलिए रूट सेशन (बाहर) से बाहर निकलें exitया उपयोगकर्ता के रूप में एक और टर्मिनल खोलें।

    xev | grep button
  3. एक छोटी विंडो दिखाई देगी। आपको माउस को उस विंडो में ले जाना होगा और उस बटन को दबाना होगा जिसे आप रिमैप करना चाहते हैं। टर्मिनल में एक उदाहरण आउटपुट होगा:

    state 0x0, button 8, same_screen YES

    यह मेरे माउस का दूसरा साइड बटन है जिसे मैं PAGE_DOWN के रूप में उपयोग करना चाहता हूं।

    state 0x0, button 9, same_screen YES

    यह 1 है (हाँ, आदेश उलटा है) साइड बटन मैं PAGE_UP के रूप में उपयोग करना चाहता हूं।

  4. जब आपके पास सभी बटन होते हैं जिन्हें आप रीमैप करना चाहते हैं तो आप छोटी सी ज़ीव विंडो को बंद कर सकते हैं। अपने पसंदीदा संपादक (उदाहरण के लिए gedit / vi / nano) खोलें और कॉन्फ़िगरेशन फ़ाइल को संपादित करें।

    vi .xbindkeysrc
  5. यदि आपके पास फ़ाइल में पहले से ही कुछ सामग्री है, तो देखें कि क्या पहले से ही इसकी तरह कोई बंधन है (संभावना नहीं है, डिफ़ॉल्ट रूप से नहीं) और अंत में जोड़ें।

    #Pagedown press
    "xte 'keydown Next'"
    b:8
    
    #Pagedown release
    "xte 'keyup Next'"
    b:8 + Release
    
    #Pagedup press
    "xte 'keydown Prior'"
    b:9
    
    #Pageup release
    "xte 'keyup Prior'"
    b:9 + Release

    नोट: आपको दो प्रविष्टियों की आवश्यकता है, एक बटन प्रेस के लिए और एक रिलीज़ के लिए।

  6. बटन 8 + 9 को कुंजी "अगला" (जो PAGE_DOWN है) और "प्राथमिकता" (PAGE_UP) में मैप किया जाएगा। यदि आप अलग-अलग कुंजियों को मैप करना चाहते हैं, तो आप क्वाइव के साथ कीसमबोल पा सकते हैं।

    xev | grep keysym
  7. पहले की तरह, इसे टर्मिनल में शुरू करें, माउस को छोटी खिड़की पर ले जाएं और वांछित कुंजी दबाएं।

    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
  8. सहेजें और xbindings को मार डालो।

    killall xbindkeys ; xbindkeys

अब आप माउस पर अतिरिक्त साइड बटन का उपयोग कर सकते हैं। अगले रिबूट / लॉगिन पर सेटिंग अपने आप लोड हो जाएगी। killall [...]यदि आप सेटिंग्स बदलते हैं तो आपको केवल ऊपर से कमांड की आवश्यकता है ।

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