xmodmap समाधान
मुझे लगता है कि आप xmodmap , keymaps को संशोधित करने के लिए एक उपकरण का उपयोग करके ऐसा कर सकते हैं । चूंकि मेरे कीबोर्ड में सही Superकुंजी नहीं है, इसलिए मैं इस समाधान की पुष्टि नहीं कर सकता, इसलिए कृपया टिप्पणी छोड़ दें यदि यह काम नहीं करता है।
सभी चरण एक टर्मिनल में किए जाते हैं
वर्तमान संशोधक मानचित्र
चलाएँ
xmodmap
यह वर्तमान संशोधक मानचित्र को प्रिंट करना चाहिए जो कुछ इस तरह का होना चाहिए
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), 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)
महत्वपूर्ण रेखा रेखा है mod4
, यह रेखा दर्शाती है कि कौन से कोड सुपर_ और सुपर_आर कुंजी प्रतीकों में मैप किए गए हैं।
मुख्य मानचित्र का बैकअप लें
इससे पहले कि हम कुछ भी बदलें यह वर्तमान कुंजी मानचित्र का बैकअप लेने के लिए एक अच्छा विचार है, हम इसके साथ कर सकते हैं
xmodmap -pke > ~/.xmodmap.orig
अब कुछ भी गलत होने पर आप बस टाइप कर सकते हैं
xmodmap ~/.xmodmap.orig
अपने मूल कुंजी मानचित्र को पुनर्स्थापित करने के लिए। (यदि आपने कुछ गंभीर गलतियाँ की हैं और आप अब ठीक से टाइप नहीं कर सकते हैं, तो रिबूट भी काम करता है)
Super कुंजियों के लिए वर्तमान मुख्य मानचित्र की जाँच करें
मान लें कि Superकुंजियों में लगातार कुंजी कोड हैं (0x85 और 0x86 इस मामले में) हम चालू मैपिंग की जांच कर सकते हैं
xmodmap -pke | grep -wA1 $((0x85))
निश्चित रूप से आपको अपने मॉडिफ़ायर मैप से आपके पास मौजूद कुंजी कोड द्वारा 0x85 को बदलना चाहिए। यह आपको देना चाहिए
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
( $((0x85))
हेक्साडेसिमल संख्या को दशमलव में परिवर्तित करता है)
बाएं Super से दाएं व्यवहार को कॉपी करेंSuper
जैसा कि आप पिछले चरण से देख सकते हैं कि सही Superकुंजी में कुंजी कोड 134 है, लेकिन हम चाहते हैं कि यह बाईं Superकुंजी का व्यवहार है जिसमें कीकोड 133 है। हम कुंजी का उपयोग करके रीमैप करके ऐसा कर सकते हैं
xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"
यदि आप अब काम करते हैं तो जाँच करना
xmodmap -pke | grep -wA1 $((0x85))
तुम्हे देखना चाहिए
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L
इसका अर्थ है कि अब दोनों चाबियों का व्यवहार समान है। साथ ही संशोधक मानचित्र को रेखा के साथ बदलना चाहिए था mod4
, हम इसे चलाकर जाँच सकते हैं
xmodmap | grep 'mod4'
जो देना चाहिए
mod4 Super_L (0x85), Super_L (0x86), Super_L (0xce), Hyper_L (0xcf)
और निश्चित रूप से आपके द्वारा बताए गए शॉर्टकट भी काम करने चाहिए!
मैपिंग को लगातार करें
यदि यह काम करता है, तो आप यह सुनिश्चित कर सकते हैं कि बूट करते समय ये सेटिंग्स अपने आप लागू हो जाएं। Daud
echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc
फ़ाइल में अपनी कस्टम कुंजी मैपिंग संग्रहीत करने के लिए ~/.xmodmaprc
। Daud
echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc
यह सुनिश्चित करने के लिए कि आपके विंडो प्रबंधक लोड होने पर कस्टम कुंजी मानचित्र निष्पादित हो।
Settings Manager -> Keyboard
, वहाँ एक विकल्प की तरह हैexo-open --launch TerminalEmulator
? यदि हां, तो यह दूसरे कॉलम में क्या कहता है, शॉर्टकट?