कुंजी संयोजनों का उपयोग करके टाइप करना?


12

मैं एक Ubuntu 10.04 उपयोगकर्ता हूं, जो उदाहरण के लिए, अपने कंप्यूटर के प्रकार को "+" वर्ण बनाता है जब मैं Windowsकुंजी दबाए रखता हूं (मुझे लगता है कि इसे Superलिनक्स की दुनिया में कहा जाता है) और Kकुंजी दबाएं। मुझे सभी अनुप्रयोगों में काम करने के लिए इसकी आवश्यकता है। (मैं एक टाइपिंग विकलांगता के साथ एक व्यक्ति हूं, और मुझे अपनी आवश्यकताओं के लिए उबंटू को अनुकूलित करने की आवश्यकता है।) धन्यवाद!

जवाबों:


15

चूंकि आप सभी अनुप्रयोगों के लिए कुंजियों को फिर से तैयार करना चाहते हैं, इसलिए सबसे अच्छा विकल्प xmodmap का उपयोग करना है। यह लचीला और बहुत शक्तिशाली है, लेकिन टर्मिनल में कुछ कमांड में टाइप करना शामिल है।

चरण ० - दृष्टिकोण

X- सर्वर कीबोर्ड और सभी प्रमुख घटनाओं का प्रबंधन करता है और अनुवाद करता है कि सभी अनुप्रयोगों के लिए कीकोड में।

दृष्टिकोण एक मोडिफायर कुंजी (जैसे सुपर या राइट Alt कुंजी) को "मोड स्विच" कुंजी के रूप में मैप करने के लिए होगा और एक्स-सर्वर को अलग-अलग कोड उत्पन्न करने के लिए कहेंगे, यह निर्भर करता है कि कुंजी को मोड कुंजी के साथ दबाया जाता है या नहीं।

डिफ़ॉल्ट रूप से कोई मोड स्विच कुंजी परिभाषित नहीं है और साथ ही सभी कुंजियों को समान कोड उत्पन्न करने के लिए कॉन्फ़िगर किया गया है जब उन्हें मोड स्विच के साथ या बिना दबाया जाता है। यह अच्छा है क्योंकि इसका मतलब यह है कि उन चाबियों को छोड़कर, जिन्हें आप स्पष्ट रूप से ओवरराइड करते हैं कोई भी अन्य कुंजी अलग-अलग व्यवहार नहीं करेगी या अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होगी।

हालाँकि, मैं आपको मोड स्विच के रूप में राइट Alt कुंजी का उपयोग करने पर विचार करना चाहूंगा, खासकर यदि आप कंपीज़ का उपयोग कर रहे हैं क्योंकि कुछ कॉम्पिज़ प्लगइन्स सुपर कुंजी शॉर्टकट्स (जैसे, विंडो पिकर, शिफ्ट स्विचर आदि) का मानचित्र बनाते हैं। यदि आप कीबोर्ड के माध्यम से कॉम्पिज़ को नियंत्रित करने के लिए उत्सुक नहीं हैं, तो सुपर बस ठीक है।

Xmodmap के लिए, सुपर कुंजियों की पहचान Super_L या Super_R के रूप में की जाती है। मोड स्विच कुंजी के रूप में उपयोग करने के लिए आपको एक को चुनना होगा। वैकल्पिक रूप से, सही Alt कुंजी Alt_R है। आप xev चलाकर और अपने कीबोर्ड पर आवश्यक कुंजी दबाकर इनकी पुष्टि कर सकते हैं। इस पोस्ट को चरणों के लिए देखें ।

चरण 1 - संशोधक मानचित्र की स्थापना

  1. एक टर्मिनल खोलें ( Applications -> Accesories -> Terminal) और वर्तमान कमांडबाइंडिंग के साथ एक फ़ाइल बनाने के लिए निम्न कमांड चलाएँ । हम इसका उपयोग शुरुआती बिंदु के रूप में करेंगे।

    xmodmap -pke > curkeys.map
    xmodmap -pm >> curkeys.map
    
  2. इसे अपने पसंदीदा टेक्स्ट एडिटर में खोलें। 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)
    
  3. लाइन को "xmodmap: 4 तक ..." से शुरू करें

  4. संशोधक मानचित्र को संपादित करें ताकि यह इस तरह दिखे। प्रत्येक पंक्ति की शुरुआत में शब्द "जोड़ें" डालें और संशोधक नाम के बाद "=" डालें। फिर कोष्ठक और अल्पविराम में कोड निकालें। यह भी ध्यान दें कि मैं लाइन से लाइन में चला Mode_switchगया हूं क्योंकि यह खाली था। संशोधित तालिका इस तरह दिखनी चाहिए - वास्तविक सामग्री आपके मामले में उन लोगों से थोड़ा भिन्न होगी (जो आपके कीबोर्ड लेआउट पर निर्भर करता है)।mod5mod3

    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
    
  5. रीमैप भौतिक मोड-स्विच कुंजी। अंत में इस तरह से एक पंक्ति जोड़ें (यदि आवश्यक हो तो Super_R या Alt_R के साथ Super_L बदलें)।

    keysym Super_L = Mode_switch
    
  6. किसी भी संशोधक परिभाषा से keyname (Super_L) निकालें। Super_L के लिए इसका मतलब है कि इसे mod4 लाइन से हटा दें।

    add mod4    =    Super_R Hyper_L 
    

    अब दाईं "सुपर" कुंजी अभी भी सामान्य सुपर कुंजी के रूप में कार्य करेगी जबकि बाईं कुंजी में विशेष गुण होंगे।

  7. अब हमें अलग-अलग कोड बनाने के लिए चाबियों को फिर से तैयार करना होगा, चाहे वे 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 प्रविष्टियों को छोड़ दें।

  8. फ़ाइल को सहेजें और संपादक से बाहर निकलें।

  9. टर्मिनल में निम्नलिखित कमांड चलाकर कीमैप स्थापित करें। पहला सत्र इस सत्र के लिए इसे सेट करता है, दूसरा इसे भविष्य के सत्रों के लिए स्थायी बनाता है।

    xmodmap curkeys.map
    cp curkeys.map ~/.Xmodmap
    
  10. आप संशोधित कुंजी (उदाहरण के लिए Super_L + k) दबाकर तुरंत इसका परीक्षण कर सकते हैं।

चरण 3 - मानचित्र को जोड़ना / संशोधित करना

एक बार संशोधित नक्शा स्थापित हो जाने के बाद नई कुंजी जोड़ना आसान होता है।

  1. का प्रयोग करें xev keycodes और keysyms को खोजने के लिए

  2. कुंजी को मैप करने के लिए इस कमांड को चलाकर इसका परीक्षण करें:

    xmodmap -e "keycode <code> = <base> <shift> <new-mapping> <new-shift-mapping>"
    

    <code> <base>उचित मानों के साथ कोण कोष्ठक (जैसे आदि) में आइटम बदलें ।

  3. curkeys.mapफ़ाइल का बैकअप लें ।

  4. curkeys.mapसंबंधित कीकोड के लिए लाइन खोलें और संपादित करें।
  5. नीचे दिए गए आदेशों के साथ पुन: लागू करें (यदि आपने चरण 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

एक्समॉडमैप के लिए विस्तृत मदद यहाँ उपलब्ध है


इस एक के साथ किसी भी भाग्य? अगर यह मदद नहीं कर रहा है या किसी भी तरह से अस्पष्ट टिप्पणी नहीं करता है, तो मैं इसे संशोधित कर इसे अधिक उपयोगी बनाऊंगा।
कौशिक

1
कृपया ध्यान दें, कि लिनक्स टकसाल में 17 Xfce (या कम से कम), यह होना चाहिए ~/.Xmodmap, ~/.xmodmapअनदेखा हो जाता है।
zbr

2
clearउन चाबियों को न भूलें जिन्हें unix.stackexchange.com/a/4526/2512 के
एंडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.