यह सवाल पहले ही पूछा जा चुका है लेकिन कभी भी इसका सही जवाब नहीं दिया गया। @ सेठ के साथ मंजूरी के बाद अब मैं इसे फिर से पूछ रहा हूं। यह मुझे जवाब देने और संभवतः प्रश्न को बहुत आसान रूप से संशोधित करने की अनुमति देगा। मूल प्रश्न यहां पाया जा सकता है:
माउस अंगूठे के बटन के लिए Ctrl और Alt मैप करें
मुद्दा:
हालाँकि किसी भी कीस्ट्रोक्स को माउस बटन xbindkeys
के साथ संयोजन में उपयोग करना बहुत सरल है xdotool
या xte
इसके साथ एक संशोधक कुंजी (जैसे ALT , CTRL , SHIFT इत्यादि) को मैप करने के लिए बहुत अधिक समस्याग्रस्त लगता है।
अंतिम सॉल्यूशन में बस माउस के साथ ia को एक CTRL + क्लिक (उदाहरण के लिए एक सूची की कई प्रविष्टियों को चुनने) की अनुमति देनी चाहिए ।
इसे हल करने के लिए कुछ संभव दृष्टिकोण यहां स्टैक एक्सचेंज के साथ-साथ अन्य लिनक्स से संबंधित मंचों पर पाए जा सकते हैं। लेकिन उनमें से कोई भी उम्मीद के मुताबिक काम नहीं करता है क्योंकि वे अन्य मुद्दों और दुष्प्रभावों को जन्म देते हैं।
टिप्पणियाँ:
नीचे दिए गए कुछ उदाहरणों में योजना सिंटैक्स के साथ गाइल शामिल है और फ़ाइल पर निर्भर है जबकि अन्य इसकी संबंधित सिंटैक्स के साथ फ़ाइल पर भरोसा करते हैं । मुझे पता है कि वे एक साथ काम नहीं करेंगे।.xbindkeysrc.scm
.xbindkeysrc
इसके अलावा नीचे दिए गए स्निपेट xdotool
केवल उसी पर निर्भर करते हैं, लेकिन मैं अन्य अनुप्रयोगों जैसे कि जैसे दृष्टिकोण के लिए खुला हूं xte
- हालांकि ऐसा लगता है कि दोनों एक ही परिणाम के लिए नेतृत्व करते हैं और इसलिए मैं xdotool
यहां केवल कार्यों का उपयोग कर रहा हूं ।
दृष्टिकोण ए:
.xbindkeysrc
फ़ाइल को इसके साथ अपडेट करना :
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + b:8
यही मैंने शुरू में कोशिश की, लेकिन इसका साइड-इफेक्ट है कि संशोधक आयोजित किया जा रहा है और जारी नहीं किया जा सकता है।
दृष्टिकोण बी:
.xbindkeysrc.scm
फ़ाइल को इसके साथ अपडेट करना :
(xbindkey '("b:8") "xdotool keydown ctrl")
(xbindkey '(release "b:8") "xdotool keyup ctrl")
(xbindkey '("m:0x14" "b:8") "xdotool keydown ctrl")
(xbindkey '(release "m:0x14" "b:8") "xdotool keyup ctrl")
Http://www.linuxforums.org/forum/hardware-peripherals/169773-solved-map-mouse-button-modifier-key.html पर पाया गया और उस मुद्दे को संबोधित करने की कोशिश करता है जहां संशोधक आयोजित किया जा रहा है (जैसा कि दृष्टिकोण के रूप में वर्णित है) ए)।
हालांकि यह ठीक करता है कि यह केवल आंशिक रूप से काम करता है क्योंकि अन्य माउस क्लिक करना संभव नहीं है जबकि अंगूठे का बटन दबाया जाता है।
दृष्टिकोण C:
.xbindkeysrc
फ़ाइल को इसके साथ अपडेट करना :
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
Askubuntu पर यहाँ से जुड़े प्रश्न के ओपी की कोशिश की। बहुत सरल और अधिक ठोस क्योंकि इसमें संशोधक राज्य शामिल नहीं हैं। फिर भी समस्या बनी हुई है, अर्थात CTRL + क्लिक संभव नहीं है।
ऐसा लगता है कि यह xbindkeys
स्वयं समस्या है क्योंकि यह क्लिक को पहचानता है लेकिन इसे निष्पादित नहीं करेगा। इसका उपयोग करके परीक्षण किया जा सकता है xev | grep button
और xbindkeys -v
:
एक सामान्य माउस क्लिक के रूप में रिकॉर्ड किया xev
जाना चाहिए:
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
साथ ही अंगूठे के बटन के लिए:
state 0x10, button 8, same_screen YES
state 0x10, button 8, same_screen YES
लेकिन उपरोक्त xbindkeys
विन्यास सक्षम होने पर यह कुछ भी रिकॉर्ड नहीं करता है। यद्यपि यह थंब बटन के लिए समझ में आता है क्योंकि यह CTRL के लिए मैप किया गया है और इसलिए अब माउस बटन नहीं है, यह अजीब है कि बटन 1 भी दर्ज नहीं किया गया है। यह संभावना है क्योंकि xbindkeys
यह निष्पादित नहीं करता है, लेकिन खुद इसे पहचान रहा है:
Button press !
e.xbutton.button=8
e.xbutton.state=16
"xdotool keydown ctrl"
m:0x0 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Button press !
e.xbutton.button=1
e.xbutton.state=20
Button release !
e.xbutton.button=1
e.xbutton.state=276
Button release !
e.xbutton.button=8
e.xbutton.state=20
"xdotool keyup ctrl"
Release + m:0x4 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
दृष्टिकोण डी:
.xbindkeysrc
फ़ाइल को इसके साथ अपडेट करना :
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
"xdotool click 1"
b:1
बस बहुत सरल ... लेकिन क्लिकों की एक अनंत लूप की ओर जाता है।
अपडेट करें:
इस बीच मैंने एक Logitech G502 खरीदा है और ध्यान दिया है कि एक बार विंडोज पर ड्राइवर के माध्यम से कॉन्फ़िगर होने पर न केवल प्रोफ़ाइल को डिवाइस मेमोरी पर संग्रहीत किया जाता है, बल्कि वास्तविक कुंजी माउस द्वारा किया जाता है। वास्तव में लिनक्स पर मेरी समस्या हल हो गई!
केवल दूसरा माउस जो मुझे याद है कि यह करने में सक्षम था कि रेज़र कॉपरहेड वापस आ गया था। लेकिन मुझे लगता है कि आज अन्य चूहे उपलब्ध हैं जो ऐसा कर सकते हैं।