निष्क्रिय करते समय Xorg में माउस (टचपैड नहीं!) को अक्षम करें


17

मैं एक शौकीन चावला कीबोर्ड उपयोगकर्ता हूं, लेकिन मुझे अभी भी हर बार माउस की आवश्यकता है। हाथ की यात्रा को कम करने के लिए, मेरे पास मेरे कीबोर्ड के नीचे स्थित माउस है। (एक साइड नोट पर, इस तरह माउस का उपयोग करने से मेरे हाथ को अधिक स्वाभाविक लगता है।)

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

मैं अब निष्क्रिय समय की एक निश्चित राशि के बाद न केवल पॉइंटर को छिपाने की संभावना तलाश रहा हूं, बल्कि माउस को पूरी तरह से अक्षम कर सकता हूं। किसी भी माउस बटन पर क्लिक करना या माउस व्हील का उपयोग करना तब माउस को फिर से सक्षम करना चाहिए।

जवाबों:


16

पहली चीज जिसे हमें पूरा करने की आवश्यकता है वह माउस को बंद करना है, लेकिन केवल एक्स में। इसके लिए हम उपयोग कर सकते हैं xinput

हमें उन इनपुट उपकरणों की खोज करने की आवश्यकता है जो कंप्यूटर से जुड़े हैं (एक्स सर्वर से):

pbm@tauri ~ $ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ A4Tech USB Mouse                          id=10   [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
     [...]

डिवाइस जिसे हमें उपयोग करने की आवश्यकता है वह A4Tech USB Mouseहै id=10। आगे हमें उस डिवाइस के गुणों की जांच करने की आवश्यकता है:

pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
       Device Enabled (121):   1
       [....]

डिवाइस को बंद करने के लिए हमें संपत्ति बदलने की आवश्यकता है Device Enabled:

xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0

चालू करना:

xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1

अगली बात यह है कि यह स्वचालित रूप से करना है ...;) इस उदाहरण में हम कीबोर्ड शॉर्टकट द्वारा माउस को अक्षम कर रहे हैं और इसे बाएं + दाएं माउस बटन दबाकर सक्षम करेंगे।

इसके लिए हम actkbd - कीबोर्ड (लेकिन इतना ही नहीं) शॉर्टकट डेमन का उपयोग कर सकते हैं जो एक्स सर्वर के बाहर काम करता है।

पहले हमें actkbd के लिए खाली कॉन्फ़िगरेशन फ़ाइल बनाने की आवश्यकता है touch /etc/actkbd.conf:। अगली बात कंप्यूटर से जुड़े उपकरणों की खोज करना है:

pbm@tauri ~ $ cat /proc/bus/input/devices 
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3 
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5 
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10

[...]

इस भाग में उपयोग के लिए सबसे दिलचस्प नाम कीबोर्ड और माउस उपकरणों के हैंडर हैं।

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

pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `

जब हम जानते हैं कि कुंजी आईडी क्या हैं तो हमें उन्हें फाइल ( /etc/actkbd.conf) में डालने की जरूरत है :

29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0

इसका परीक्षण करने के लिए हमें actkbdडेमॉन मोड में चलने की आवश्यकता है:

pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D

उसी तरह से हमें "चालू" घटना को संभालने की आवश्यकता है:

  1. माउस डिवाइस के हैंडलर की जाँच करें
  2. का उपयोग कर बाएँ + दाएँ माउस बटन के प्रमुख कोड की जाँच करें actkbd
  3. इसे लगाओ actkbd.conf
  4. माउस इनपुट डिवाइस की निगरानी के लिए actkbd डेमॉन चलाएं

रनिंग डेमन को पर्यावरण में इनिट स्क्रिप्ट या ऑटोरुन स्क्रिप्ट के रूप में महसूस किया जा सकता है।

माउस को स्वचालित रूप से बंद करने के लिए हम इनपुट डिवाइस ( cat /dev/input/event5) की निगरानी कर सकते हैं और जब कोई इनपुट न हो तो इसे बंद कर दें ...

मुझे उम्मीद है कि मेरी छोटी इंट्रो आपकी मदद करेगी ...;)


संकेत के साथ के लिए धन्यवाद actkbd! अपने प्रश्न को पोस्ट करने के बाद, मैं पहले से ही उपयोग करने के लिए समझ गया था xinput, लेकिन मुझे यह पता नहीं चला कि मैं माउस बटन दबाकर माउस को फिर से कैसे सक्षम करूंगा।
इगोर

यह एक बहुत अच्छा उत्तर है।
pjc50

उस जानकारी के लिए धन्यवाद, विशेष रूप से atkkbd के संकेत के लिए

"डिवाइस सक्षम / अक्षम" संपत्ति के साथ -सेट-प्रोप विकल्प का उपयोग करने के बजाय, कोई भी उपयोग करने योग्य और उपयोग करने योग्य विकल्प भी उपयोग कर सकता है, जैसे xinput --enable [डिवाइस] और xinput --disable [डिवाइस] ।
thebodzio

1

क्या आपने "पॉइंटर कैप्चर" सूक्ति पैनल एप्लेट की कोशिश की है ?

माउस पॉइंटर को स्क्रीन के एक क्षेत्र में लॉक किया जा सकता है इसलिए पॉइंटिंग डिवाइस अन्य कार्यों के लिए स्वतंत्र है। उदाहरण के लिए, यह क्षमता एक पॉवरचेयर उपयोगकर्ता को पॉवरचेयर और माउस पॉइंटर दोनों को एक पॉवरचैयर फोस्टिक के साथ नियंत्रित करने की अनुमति देती है

पॉइंटर कैप्चर पैनल एप्लेट पैनल पर ऐसा क्षेत्र बनाता है, जिसमें उपयोगकर्ता निर्धारित तरीके से जारी होने तक पॉइंटर को लॉक कर सकता है।

पॉइंटर कैप्चर पैनल एप्लेट को गनोम डेस्कटॉप मेनू बार / सिस्टम पैनल पर राइट-क्लिक करके इंस्टॉल किया जा सकता है, ऐड टू पैनल का चयन करते हुए पॉइंटर कैप्चर का चयन करें और ऐड बटन पर क्लिक करें।

यदि gnome.org से विवरण स्पष्ट नहीं है, तो यह पैनल में एक क्षेत्र बनाएगा, जहां जब माउस प्रवेश करता है (या आप लिपिक), तो कर्सर गायब हो जाएगा और तब तक फिर से प्रकट नहीं होगा जब तक कि एक परिभाषित क्रिया नहीं होती है, उदाहरण के लिए एक खोज दूसरा क्लिक करें। लगता है कि वास्तव में आपको क्या चाहिए?


मैंने इसका उपयोग किया है लेकिन कुछ समस्याएं पैदा की हैं। मैं Alt + F1एप्लिकेशन मेनू द्वारा खोलने के लिए उपयोग करने में सक्षम नहीं था । मुझे नहीं पता कि इसका क्या कारण है। मैं एक ubuntu उपयोगकर्ता हूँ।
बाल्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.