मैं अपने Logitech MX400 पर खोज बटन को कैसे हटा सकता हूं?


10

मेरे पास एक लॉजिटेक एमएक्स 400 वायरलेस है। इसमें एक खोज बटन है जिसे मैं चिपकाने के लिए उपयोग करना चाहूंगा (इसके बजाय अत्यंत संवेदनशील लेकिन स्क्रॉल व्हील को दबाने के लिए)। मैंने पहले से ही xbindkeys के साथ अन्य बटन का रीमैप किया, और बटन प्रेस कोड खोजने के लिए xev का उपयोग किया, लेकिन यह खोज बटन के लिए काम नहीं करता है। xev का उपयोग करना और खोज बटन पर क्लिक करने से मुझे निम्नलिखित घटनाएँ मिलती हैं

FocusOut event, serial 34, synthetic NO, window 0x3c00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 34, synthetic NO, window 0x3c00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  4294967275 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

PropertyNotify event, serial 34, synthetic NO, window 0x3c00001,
    atom 0x1d7 (_NET_WM_ICON_GEOMETRY), time 23653064, state PropertyNewValue

कोई ButtonPress घटनाओं। ऐसा लगता है कि खोज बटन एक्स घटनाओं के नीचे एक स्तर पर इंटरसेप्टेड है। कोई विचार? मेरे पास ubuntu 12.04 है। उबंटू वास्तव में क्लिक को देखता है और एक खोज संवाद को जन्म देता है, लेकिन एक्सवे में क्लिक इवेंट का कोई निशान नहीं है।

संपादित करें

मैंने xmodmap के साथ प्रदान की गई विधि की जाँच की। मेरी .Xmodmapअब निम्नलिखित पंक्ति है

keycode 225 = XF86Paste NoSymbol XF86Paste``

xmodmap ~/.Xmodmapअब चलाने से बटन पूरी तरह से निष्क्रिय हो जाता है (या कम से कम, मुझे इसे दबाकर कोई परिणाम नहीं मिलता है)। मैंने कोशिश की xmodmap -pkeऔर यह प्रिंट:

keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste

अजीब बात है। अन्य सभी प्रविष्टियाँ समान रूप से स्वरूपित हैं। मैं समाधान के करीब हूं, लेकिन अभी भी कुछ अजीब है।

संपादित करें २

मैंने xinput चलाने की कोशिश की (इस आदेश के बारे में कभी नहीं सुना। अद्भुत सामान)। Logitech के लिए दो प्रविष्टियाँ हैं। यहाँ उनमें से प्रत्येक को सूचीबद्ध करने का आउटपुट है (आईडी ९ और १०)

Logitech USB Receiver                       id=9    [slave  pointer  (2)]
    Reporting 7 classes:
        Class originated from: 9. Type: XIButtonClass
        Buttons supported: 24
        Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
        Button state:
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 0:
          Label: Rel X
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 1:
          Label: Rel Y
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 2:
          Label: Rel Horiz Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 3:
          Label: Rel Vert Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIScrollClass
        Scroll info for Valuator 2
          type: 2 (horizontal)
          increment: 1.000000
          flags: 0x0
        Class originated from: 9. Type: XIScrollClass
        Scroll info for Valuator 3
          type: 1 (vertical)
          increment: -1.000000
          flags: 0x2 ( preferred )


Logitech USB Receiver                       id=10   [slave  pointer  (2)]
    Reporting 6 classes:
        Class originated from: 10. Type: XIButtonClass
        Buttons supported: 7
        Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
        Button state:
        Class originated from: 10. Type: XIKeyClass
        Keycodes supported: 248
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 0:
          Label: Rel X
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 1:
          Label: Rel Y
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 2:
          Label: Rel Horiz Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIScrollClass
        Scroll info for Valuator 2
          type: 2 (horizontal)
          increment: 1.000000
          flags: 0x0

परीक्षण उपकरण 9 बटन के साथ कुछ भी नहीं करता है। परीक्षण उपकरण 10 के बजाय काम करता है, और यह आउटपुट है जैसा कि मैं क्लिक करता हूं

$ xinput test 10
key press   225 
key release 225 
key press   225 
key release 225 
key press   225 
key release 225

तो ऐसा प्रतीत होता है कि माउस इस संबंध में एक कीबोर्ड के रूप में कार्य करता है, लेकिन किसी कारण से, जब यह कुंजी 225 प्राप्त करता है तो xmodmap कुछ भी नहीं करता है।

** संपादित करें **

मैं पुष्टि कर सकता हूं कि हर बार जब मैं बटन क्लिक करता हूं तो keycode 225 = aप्रिंट जोड़ देता aहूं। तो समस्या से संबंधित प्रतीत होता है कि XF86Paste वास्तव में कैसे संभाला जाता है। मैं इसे भेज रहा हूं, लेकिन यह चिपकाने वाला नहीं है।


आप है xbindkeysचलाने के लिए जब आप सही प्रारंभ करेंगे सेट? क्या आप इसे अक्षम कर सकते हैं और पुनः प्रयास कर सकते हैं?
सेठ

@ आईसेठ: xbindkeys को मार डाला। फिर से कोशिश की, वही नतीजा।
स्टेफानो बोरीनी

एक टर्मिनल खोलें और tail -f /var/log/dmesgफिर बटन दबाकर चलाएं । क्या आपको चाबियों / बटन का जिक्र करते हुए कोई आउटपुट मिलता है?
सेठ

1
एक और निरर्थक उत्तर पोस्ट करने से पहले ... अपने माउस की इनपुट आईडी का xinput listपता लगाएं और उसके बाद अपनी खोज कुंजी के बटन कोड का पता लगाएं xinput test <MOUSE ID>। क्या यह काम करता है?
mrcktz

1
ऐसा लगता है कि XF86Paste / XF86Copy ईवेंट दिखाने की पुष्टि करने वाला एक बग है xev, लेकिन कुछ भी नहीं होता है। इसका मतलब है कि आपको चिपकाने के लिए कुंजी संयोजन CTRL + v का उपयोग करना होगा। Xmodmap बटन 1: 1 को मैप करता है, लेकिन कुंजी प्रेस पर कमांड के निष्पादन को ट्रिगर करने के लिए आप कीबोर्ड शॉर्टकट सेटिंग्स का उपयोग कर सकते हैं (मेरा उत्तर देखें)।
mrcktz

जवाबों:


3

कीबोर्ड घटनाओं का अनुकरण करने के लिए मैं आपको महान उपकरण xdotool काXdotool स्थापित करें सुझाव देता हूं

1.xdotool टर्मिनल के माध्यम से स्थापित करें ( CTRL+ ALT+ T):

sudo apt-get install xdotool

या सॉफ़्टवेयर केंद्र काXdotool स्थापित करें उपयोग करें ।

2. एक स्क्रिप्ट बनाएं जो xdotool का उपयोग करता है CTRLऔर की नीचे की घटनाओं का अनुकरण करें v। टर्मिनल में:

mkdir -p ~/bin  
gedit ~/bin/fakepaste

निम्न सामग्री को उस संपादक विंडो में कॉपी करें जो खुल गई है। कोड सेव को कॉपी करने के बाद, इसे बंद करें:

#!/bin/sh
exec /usr/bin/xdotool key CTRL+V  
EOF

अब स्क्रिप्ट को निष्पादन योग्य बनाएं:

chmod +x ~/bin/fakepaste

3. लॉग आउट करें और अपने पैट को पुनः लोड करने के लिए लॉग इन करें ।

4. कस्टम शॉर्टकट बनाएं

जाना है System Settings, तो जाना है Keyboard, फिर Shortcuts

+संवाद के नीचे स्थित बटन दबाएं । शॉर्टकट आप बनाने के बारे में और में आदेश को भरने के लिए कर रहे हैं के लिए एक नाम प्रदान करें: fakepaste। प्रेस करें OK

अपने नए शॉर्टकट के आगे आप देखेंगे disabled। उस टेक्स्ट पर क्लिक करें और फिर उस कुंजी को दबाएँ जिसे आप अपने कीबोर्ड एमुलेशन को असाइन करना चाहते हैं।

अब आपको अपनी खोज कुंजी को चिपकाने के लिए उपयोग करने में सक्षम होना चाहिए!


1
मैं नहीं देखता कि यह माउस बटन पर कैसे मदद करेगा, यह कीबोर्ड शॉर्टकट बदलता है ।
सेठ

2
@ आईसेठ: मुद्दा यह है कि यह पता चला है कि लॉजिटेक माउस एक कीबोर्ड और एक माउस दोनों है। यह खोज बटन के अलावा सब कुछ के लिए एक माउस है , जहां यह एक कीबोर्ड की तरह काम करता है
स्टेफानो बोरीनी

2

xdotinds xbindool के साथ समाधान

इस समाधान के लिए आपको आवश्यकता होगी xbindkeysऔरxdotool

Xbindkeys को मारें और अपने बटन कॉन्फ़िगरेशन को डंप करें

killall xbindkeys

तथा

xbindkeys --defaults >> ~/.xbindkeysrc

अपनी नई बाइंडिंग जोड़ें

अब आप इस फ़ाइल को कस्टम बाइंडिंग जोड़ने के लिए संशोधित कर सकते हैं, इनका फॉर्म है

"<command>"
  <key combination>

इसलिए यदि आप जोड़ते हैं

"gedit"
  m:0x0 +b:4

geditजब आप स्क्रॉल करेंगे तो आप हर बार खुलेंगे ।

तो अब आप निम्न में से एक को आजमा सकते हैं, उस एक को चुनें जो आपके लिए सबसे अच्छा काम करता है। सभी मामलों में xdotool click 2अनुकरण किया जाएगा, यह मध्य माउस बटन प्रेस है, और यह अंदर और बाहर दोनों टर्मिनलों को चिपकाएगा।

  1. अपने माउस से 225 अवरोधन करें :

    "xdotool click 2"
      m:0x0 +b:225
    
  2. इंटरसेप्ट कीकोड 225 सामान्य तौर पर :

    "xdotool click 2"
      c:225
    
  3. सभी XF86Searchघटनाओं को बदलें (अपनी माउस सेटिंग्स को पहले मूल सेटिंग्स पर वापस लाएं, ताकि आपको XF86Searchपीछे मिल जाए):

    "xdotool click 2"
      XF86Search
    

Xbindkeys प्रारंभ करें और परीक्षण करें

Daud

xbindkeys

और देखें कि क्या यह काम करता है।


मैं आपको बताना चाहता हूं कि मुझे लगता है कि आप दोनों इस योग्य हैं कि आपने मेरी बहुत मदद की। मुझे अभी भी नहीं पता है कि आपके समाधान काम करते हैं, मैं कल उनका परीक्षण करूंगा, लेकिन इनाम समाप्त हो रहा है और मैं नहीं चाहता कि यह बेकार हो जाए। जैसे ही मेरे पास पर्याप्त अंक होंगे, मैं आपको वही इनाम दूंगा। धन्यवाद
स्टेफानो बोरीनी

ओके, धन्यवाद (हालांकि मुझे नहीं पता कि यह संभव है)। खुशी की बात है;)
गेरहार्ड बर्गर

उम्म ... आप सही कह रहे हैं। मैं केवल यहां एक पुरस्कार दे सकता हूं। चिंता न करें, जैसे ही मेरे पास पर्याप्त प्रतिनिधि हैं, मैं आपके अन्य उत्तरों में से एक पर अनुदान दूंगा।
स्टेफानो बोरीनी

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