पहली चीज जिसे हमें पूरा करने की आवश्यकता है वह माउस को बंद करना है, लेकिन केवल एक्स में। इसके लिए हम उपयोग कर सकते हैं 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
उसी तरह से हमें "चालू" घटना को संभालने की आवश्यकता है:
- माउस डिवाइस के हैंडलर की जाँच करें
- का उपयोग कर बाएँ + दाएँ माउस बटन के प्रमुख कोड की जाँच करें
actkbd
- इसे लगाओ
actkbd.conf
- माउस इनपुट डिवाइस की निगरानी के लिए actkbd डेमॉन चलाएं
रनिंग डेमन को पर्यावरण में इनिट स्क्रिप्ट या ऑटोरुन स्क्रिप्ट के रूप में महसूस किया जा सकता है।
माउस को स्वचालित रूप से बंद करने के लिए हम इनपुट डिवाइस ( cat /dev/input/event5
) की निगरानी कर सकते हैं और जब कोई इनपुट न हो तो इसे बंद कर दें ...
मुझे उम्मीद है कि मेरी छोटी इंट्रो आपकी मदद करेगी ...;)
actkbd
! अपने प्रश्न को पोस्ट करने के बाद, मैं पहले से ही उपयोग करने के लिए समझ गया थाxinput
, लेकिन मुझे यह पता नहीं चला कि मैं माउस बटन दबाकर माउस को फिर से कैसे सक्षम करूंगा।