चूंकि आप सभी अनुप्रयोगों के लिए कुंजियों को फिर से तैयार करना चाहते हैं, इसलिए सबसे अच्छा विकल्प xmodmap का उपयोग करना है। यह लचीला और बहुत शक्तिशाली है, लेकिन टर्मिनल में कुछ कमांड में टाइप करना शामिल है।
चरण ० - दृष्टिकोण
X- सर्वर कीबोर्ड और सभी प्रमुख घटनाओं का प्रबंधन करता है और अनुवाद करता है कि सभी अनुप्रयोगों के लिए कीकोड में।
दृष्टिकोण एक मोडिफायर कुंजी (जैसे सुपर या राइट Alt कुंजी) को "मोड स्विच" कुंजी के रूप में मैप करने के लिए होगा और एक्स-सर्वर को अलग-अलग कोड उत्पन्न करने के लिए कहेंगे, यह निर्भर करता है कि कुंजी को मोड कुंजी के साथ दबाया जाता है या नहीं।
डिफ़ॉल्ट रूप से कोई मोड स्विच कुंजी परिभाषित नहीं है और साथ ही सभी कुंजियों को समान कोड उत्पन्न करने के लिए कॉन्फ़िगर किया गया है जब उन्हें मोड स्विच के साथ या बिना दबाया जाता है। यह अच्छा है क्योंकि इसका मतलब यह है कि उन चाबियों को छोड़कर, जिन्हें आप स्पष्ट रूप से ओवरराइड करते हैं कोई भी अन्य कुंजी अलग-अलग व्यवहार नहीं करेगी या अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होगी।
हालाँकि, मैं आपको मोड स्विच के रूप में राइट Alt कुंजी का उपयोग करने पर विचार करना चाहूंगा, खासकर यदि आप कंपीज़ का उपयोग कर रहे हैं क्योंकि कुछ कॉम्पिज़ प्लगइन्स सुपर कुंजी शॉर्टकट्स (जैसे, विंडो पिकर, शिफ्ट स्विचर आदि) का मानचित्र बनाते हैं। यदि आप कीबोर्ड के माध्यम से कॉम्पिज़ को नियंत्रित करने के लिए उत्सुक नहीं हैं, तो सुपर बस ठीक है।
Xmodmap के लिए, सुपर कुंजियों की पहचान Super_L या Super_R के रूप में की जाती है। मोड स्विच कुंजी के रूप में उपयोग करने के लिए आपको एक को चुनना होगा। वैकल्पिक रूप से, सही Alt कुंजी Alt_R है। आप xev चलाकर और अपने कीबोर्ड पर आवश्यक कुंजी दबाकर इनकी पुष्टि कर सकते हैं। इस पोस्ट को चरणों के लिए देखें ।
चरण 1 - संशोधक मानचित्र की स्थापना
एक टर्मिनल खोलें ( Applications -> Accesories -> Terminal
) और वर्तमान कमांडबाइंडिंग के साथ एक फ़ाइल बनाने के लिए निम्न कमांड चलाएँ । हम इसका उपयोग शुरुआती बिंदु के रूप में करेंगे।
xmodmap -pke > curkeys.map
xmodmap -pm >> curkeys.map
इसे अपने पसंदीदा टेक्स्ट एडिटर में खोलें। gedit curkeys.map &
इसे gedit में खोलता है। फ़ाइल के अंत में, आपको कुछ लाइनें दिखाई देंगी:
keycode 253 =
keycode 254 =
keycode 255 =
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
लाइन को "xmodmap: 4 तक ..." से शुरू करें
संशोधक मानचित्र को संपादित करें ताकि यह इस तरह दिखे। प्रत्येक पंक्ति की शुरुआत में शब्द "जोड़ें" डालें और संशोधक नाम के बाद "=" डालें। फिर कोष्ठक और अल्पविराम में कोड निकालें। यह भी ध्यान दें कि मैं लाइन से लाइन में चला Mode_switch
गया हूं क्योंकि यह खाली था। संशोधित तालिका इस तरह दिखनी चाहिए - वास्तविक सामग्री आपके मामले में उन लोगों से थोड़ा भिन्न होगी (जो आपके कीबोर्ड लेआउट पर निर्भर करता है)।mod5
mod3
add shift = Shift_L Shift_R
add lock = Caps_Lock
add control = Control_L Control_R
add mod1 = Alt_L Meta_L Alt_R
add mod2 = Num_Lock
add mod3 = Mode_switch
add mod4 = Super_L Super_R Super_L Hyper_L
add mod5 = ISO_Level3_Shift
रीमैप भौतिक मोड-स्विच कुंजी। अंत में इस तरह से एक पंक्ति जोड़ें (यदि आवश्यक हो तो Super_R या Alt_R के साथ Super_L बदलें)।
keysym Super_L = Mode_switch
किसी भी संशोधक परिभाषा से keyname (Super_L) निकालें। Super_L के लिए इसका मतलब है कि इसे mod4 लाइन से हटा दें।
add mod4 = Super_R Hyper_L
अब दाईं "सुपर" कुंजी अभी भी सामान्य सुपर कुंजी के रूप में कार्य करेगी जबकि बाईं कुंजी में विशेष गुण होंगे।
अब हमें अलग-अलग कोड बनाने के लिए चाबियों को फिर से तैयार करना होगा, चाहे वे Super_L को दबाए रखें या नहीं। हमारे फ़ाइल की प्रत्येक पंक्ति के साथ शुरुआत keycode
निर्दिष्ट प्रत्येक कुंजी के लिए 4 keysyms कि क्या Mod1 (पाली कुंजी) और मोड स्विच कुंजी दबाया जाता है के आधार पर उत्पन्न किया जा करने के लिए। ( लिंक )
!...........................................................................
! Key Base Shift Mode Mode+Shift
!---------------------------------------------------------------------------
keycode 13 = 4 dollar 4 quotedbl
keycode 14 = 5 percent 5 colon
keycode 15 = 6 asciicircum 6 comma
keycode 16 = 7 ampersand 7 period
...
keycode 45 = k K k K
यदि हम एक "+" कुंजी उत्पन्न करने के लिए Super_L + k keypress चाहते हैं तो हमें इसे पढ़ने के लिए संशोधित करना होगा
keycode 45 = k K plus plus
अंतिम प्लस भी Shift + Super_L + k से प्लस मैप करता है, लेकिन इसे किसी और चीज़ में मैप किया जा सकता है। प्रत्येक कुंजी के लिए संशोधित करने के लिए ठीक 1 पंक्ति है। अधिक कुंजियों को हटाने के लिए अधिक पंक्तियों को संपादित करें - सामान्य कीपर व्यवहार को बनाए रखने के लिए पहले 2 प्रविष्टियों को छोड़ दें।
फ़ाइल को सहेजें और संपादक से बाहर निकलें।
टर्मिनल में निम्नलिखित कमांड चलाकर कीमैप स्थापित करें। पहला सत्र इस सत्र के लिए इसे सेट करता है, दूसरा इसे भविष्य के सत्रों के लिए स्थायी बनाता है।
xmodmap curkeys.map
cp curkeys.map ~/.Xmodmap
आप संशोधित कुंजी (उदाहरण के लिए Super_L + k) दबाकर तुरंत इसका परीक्षण कर सकते हैं।
चरण 3 - मानचित्र को जोड़ना / संशोधित करना
एक बार संशोधित नक्शा स्थापित हो जाने के बाद नई कुंजी जोड़ना आसान होता है।
का प्रयोग करें xev keycodes और keysyms को खोजने के लिए
कुंजी को मैप करने के लिए इस कमांड को चलाकर इसका परीक्षण करें:
xmodmap -e "keycode <code> = <base> <shift> <new-mapping> <new-shift-mapping>"
<code>
<base>
उचित मानों के साथ कोण कोष्ठक (जैसे आदि) में आइटम बदलें ।
curkeys.map
फ़ाइल का बैकअप लें ।
curkeys.map
संबंधित कीकोड के लिए लाइन खोलें और संपादित करें।
नीचे दिए गए आदेशों के साथ पुन: लागू करें (यदि आपने चरण 2 किया है तो पहला आवश्यक नहीं है)
xmodmap curkeys.map
cp curkeys.map ~/.Xmodmap
नोट: 1 : कीबोर्ड शॉर्टकट (उदाहरण के माध्यम से System -> Preferences -> Keyboard Shortcuts
) में किए गए संशोधन संशोधक मानचित्र को प्रभावित करते हैं और आमतौर पर अगले लॉगिन पर खो जाएंगे। तो कृपया इससे बचें।
नोट: 2 : मुझे इस पद्धति का उपयोग करते समय कभी-कभी त्रुटि संदेश मिलते हैं। मुझे नहीं पता कि इसका क्या मतलब है, हालांकि, ये आम तौर पर हानिरहित हैं।
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 263
Current serial number in output stream: 263
एक्समॉडमैप के लिए विस्तृत मदद यहाँ उपलब्ध है ।