2010-10-14 14 views
5

मेरे पास Razer Naga Mouse है, संक्षेप में इसके पक्ष में एक छोटा सा नमप है। मैं इन चाबियों को अलग-अलग अप्रयुक्त कुंजी या कमांड बैश करने के लिए रीमेप करना चाहता हूं। मैं कुंजीकोड को पकड़ने के लिए xev का उपयोग करके आसानी से ऐसा कर सकता हूं (उदाहरण के लिए माउस पर "1" कुंजीकोड 87 है) और फिर मैं एक अलग कुंजी पर कीकोड को बांधने के लिए xmodmap का उपयोग कर सकता हूं।डिवाइस पर आधारित कुंजी कुंजी मैप चालू है? (लिनक्स)

हालांकि मेरे कीबोर्ड पर numpad भी इसका वारिस होगा क्योंकि कुंजीकोड समान है, हालांकि मैंने देखा कि "धारावाहिक" अलग है।

उदाहरण के लिए मेरे माउस numpad पर "1" बटन दबाते समय xev से आउटपुट है।

KeyPress event, serial 34, synthetic NO, window 0x1c00001, 
root 0x1ae, subw 0x0, time 2179878, (170,-2), root:(198,345), 
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES, 
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False 

KeyRelease event, serial 35, synthetic NO, window 0x1c00001, 
root 0x1ae, subw 0x0, time 2179966, (170,-2), root:(198,345), 
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES, 
XLookupString gives 0 bytes: 
XFilterEvent returns: False 

और यहाँ जब "1" मेरी कीबोर्ड numpad

KeyPress event, serial 35, synthetic NO, window 0x1c00001, 
root 0x1ae, subw 0x0, time 2180261, (170,-2), root:(198,345), 
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES, 
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False 

KeyRelease event, serial 36, synthetic NO, window 0x1c00001, 
root 0x1ae, subw 0x0, time 2180341, (170,-2), root:(198,345), 
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES, 
XLookupString gives 0 bytes: 
XFilterEvent returns: False 

पर दबाव उत्पादन होता है वहाँ वैसे भी है मैं इस के आधार पर मेरे माउस पर कुंजी मैप कर सकते?

उत्तर

1

ठीक हल हो गया। इस विकि

+0

मुझे अपने सिस्टम के लिए लिनक्स कोड मिला, और अब अटक गया। मैं/etc/hid/usbhid में कहीं भी init_module() फ़ंक्शन नहीं देखता :( –

+0

मुझे/dev/input/by-id/usb-razer_Razer_Naga-event-kbd मिला और इस पर एक हेक्सडम्प करना ऐसा लगता है जैसे मैं सही कर सकता हूं पार्स करने के लिए कार्यक्रम। इस मार्ग पर जाकर रेज़र नागा के लिए एक्स द्वारा व्याख्या को अक्षम करने की आवश्यकता होगी। –

+0

मुझे नहीं पता था कि सवाल लगभग एक वर्ष पुराना है ... उम्मीद है कि मेरा जवाब आपकी मदद कर सकता है, हालांकि :) –

2

xmodmap के बजाय https://github.com/graph/Razer-Naga-HotKey/wiki/How-to-get-Razer-Naga-HotKeying-Working-on-Debian पर निर्देशों का पालन करें, setxkbmap और xkbcomp उपयोग करके देखें। xkbcomp कमांड आपको इनपुट डिवाइस आईडी निर्दिष्ट करने देता है (-i विकल्प का उपयोग करके)।

डिवाइस आईडी की एक सूची प्राप्त करने के लिए xinput --list चलाएं। (Fwiw, मेरी Razer Salmosa स्पष्ट रूप से "के रूप में Razer Razer Salmosa" चिह्नित किया गया।)

यहाँ कैसे मैं अपने यूएसबी कीबोर्ड (आईडी 16), जबकि एक अमेरिकी मानचित्रण पर अपने लैपटॉप कुंजीपटल रखते हुए, जर्मन कुंजी मानचित्रण का उपयोग करने के लिए परिवर्तित है:

setxkbmap de -print | xkbcomp - -i 16 $DISPLAY 

मुझे नहीं पता कि xkb मैपिंग्स को कैसे सेट अप करें, लेकिन मुझे tutorial that looks pretty good मिला।

संबंधित मुद्दे