यह मेरा तीसरा जवाब है जब मैं सिफारिश कर सकता हूं actkbd
... :)
इसलिए यदि आप दूसरे कीबोर्ड की सभी कुंजियों को कॉन्फ़िगर करना चाहते हैं, तो कमांड को चलाने के लिए उन अक्षरों को न लिखें जिन्हें आप उपयोग कर सकते हैं actkbd
... :)
स्थापित करने के बाद actkbd
हमें यह पता लगाने की आवश्यकता है कि कीबोर्ड से घटनाओं को प्राप्त करने के लिए किस डिवाइस फ़ाइल का उपयोग किया जाता है:
pbm@tauri ~ $ cat /proc/bus/input/devices
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]
इस सूची में आपको अपना कीबोर्ड ढूंढना चाहिए, और इसे हैंडलर की जांच करनी चाहिए। sudo actkbd -s -d /dev/input/HANDLER_NAME
यह जांचने के लिए उपयोग करें कि क्या वह हैंडलर घटनाओं को भेजता है। यदि आप इस कमांड को चलाते हैं और कीबोर्ड पर कुंजी दबाते हैं (उन कुंजियों की जांच करें जिन्हें आप कमांड से बांधना चाहते हैं) तो आपको कुछ इस तरह मिलना चाहिए:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5
Keys: 57
Keys: 35
यदि आपके पास कीकोड है तो हम actkbd
कॉन्फिग फाइल बना सकते हैं :
pbm@tauri ~ $ sudo nano /etc/actkbd.conf
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a
जब आप उस फ़ाइल को सहेजते हैं तो हमें परीक्षण करना चाहिए कि क्या कॉन्फ़िगरेशन काम करता है:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D
जब आप कुंजी दबाते हैं, तो आपके पास कॉन्फ़िगरेशन फ़ाइल के अंतिम कॉलम से आपकी कॉन्फ़िगरेशन फ़ाइल कमांड होती है।
मुझे लगता है कि एप्लिकेशन को कुंजियाँ भेजने को अक्षम करने का एक तरीका है, लेकिन मैं इसे खोजने में असमर्थ था - README फ़ाइल देखें ।
इसके बजाय actkbd
आप X में अपना कीबोर्ड बंद कर सकते हैं इसे अक्षम करने की कोशिश कर रहे हैं।
pbm@tauri ~ $ xinput list
[cut]
↳ Logitech USB Keyboard id=12 [slave keyboard (3)]
↳ Logitech USB Keyboard id=11 [slave keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0
यह काम करना चाहिए ... :) इस उत्तर कीactkbd
जाँच के बारे में अधिक जानकारी के लिए ।
actkbd
(और कुछ लिपियों का उपयोग करते हुए ) आप रूसी अक्षरों के साथ कमांड मोड से इनपुट मोड में मोड बदलने के लिए अपने कीबोर्ड को कॉन्फ़िगर भी कर सकते हैं। इसके लिए पढ़ें Ulrich Schwarz's
उत्तर