कमांड चलाने के लिए दूसरा कीबोर्ड


16

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


क्या आप दूसरे कीबोर्ड की चुनी हुई चाबियों के लिए विशिष्ट कमांड्स को बांधना चाहते हैं ताकि वे केवल कुछ चला सकें और अक्षरों को टाइप न कर सकें?
pbm

और अगला सवाल: क्या आप बैकग्राउंड एप्लिकेशन (या X वातावरण में एप्लिकेशन) चलाने के लिए शॉर्टकट का उपयोग करना चाहते हैं या कीबोर्ड शॉर्टकट का उपयोग करके सक्रिय टर्मिनल में कमांड का नाम टाइप करना चाहते हैं?
pbm

अनुप्रयोगों के लिए कुंजी भेजने को अक्षम करने का वैकल्पिक तरीका। askubuntu.com/a/178741/554601
अरुणबयार

जवाबों:


15

यह मेरा तीसरा जवाब है जब मैं सिफारिश कर सकता हूं 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उत्तर


1
मैंने एक अरब मंचों पर इस सवाल को एक लाख बार पूछा है और आप केवल एक ही हैं जो वास्तव में यह नया है। एक खरब धन्यवाद।
कप्तानैंडकॉक

0

मैंने C में एक छोटा सा प्रोग्राम लिखा है जो कि बस कर सकता है। मैंने इसे 'मक्खी पर' लिखा है, इसलिए यह बहुत अच्छा नहीं है, लेकिन यह काम करता है। आप इसे यहाँ प्राप्त कर सकते हैं


नमस्ते और यूनिक्स और लिनक्स स्टैक एक्सचेंज साइट में आपका स्वागत है। कृपया सहायता केंद्र की समीक्षा करें और इस साइट के बारे में अधिक जानने के लिए भ्रमण करें। हालांकि आपका लिंक उपयोगकर्ता की समस्या का समाधान प्रदान कर सकता है, क्या आप कृपया अपनी पोस्ट में अतिरिक्त संदर्भ जोड़ सकते हैं? वर्तमान में यह केवल थर्ड पार्टी साइट से सॉफ्टवेयर डाउनलोड करने की पेशकश है। आपको यह शामिल करना चाहिए कि यह क्या करता है, इसे कैसे स्थापित करें और इसका उपयोग करें, और यह हाथ में सवाल का जवाब क्यों देता है। धन्यवाद।
केमोटेप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.