मैं व्यक्तिगत रूप से बाएँ और दाएँ शिफ़्ट कुंजी को कैसे मैप कर सकता हूँ?


10

सबसे पहले, एक्स और एक्सकेबी के मेरे अज्ञान को बहाना; मैं इसके बारे में एक विस्तृत समझ की आवश्यकता के बिना जो मैं चाहता हूं उसे प्राप्त करने में सक्षम होने की उम्मीद में एक समाधान को एक साथ हैक करने की कोशिश कर रहा हूं।

मैं Ubuntu 12.04 पर एक XKB कीबोर्ड मैप बनाने की कोशिश कर रहा हूं जो मुझे दो शिफ्ट कीज में से कौन सी लेवल 2 संशोधक बनाने की अनुमति देता है। विशेष रूप से, 4कुंजी को केवल तभी उत्पादन करना चाहिए $जब सही पारी आयोजित की जाती है, न कि बाईं ओर।

मेरा अब तक पढ़ना:

मैंने एक कस्टम प्रकार को परिभाषित करने का प्रयास किया है, और फिर इसे एक प्रतीक मानचित्र में स्पष्ट रूप से देखें:

/usr/share/X11/xkb/types/mbfisher:

default xkb_types "mbfisher" {
  type "RIGHT_SHIFT" {
    modifiers = None+Shift_R;
    map[None] = Level1;
    map[Shift_R] = Level2;
  };
}

/usr/share/X11/xkb/symbols/mbfisher:

default
partial alphanumeric_keys
xkb_symbols "basic" {

  name[Group1]= "mbfisher";

  key <AE04> {
    type= "RIGHT_SHIFT",
    symbols[Group1]= [ 4,  dollar ]
  };

};

मैं उबंटू कीबोर्ड लेआउट GUI के साथ मानचित्र का चयन कर रहा हूं।

यह स्पष्ट रूप से 4कुंजी के अलावा अल्फ़ान्यूमेरिक कीबोर्ड को अक्षम करता है , लेकिन डॉलर चिह्न अभी भी शिफ्ट कुंजी के साथ टाइप किया जा सकता है।

मैं बहुत सारी बेकार सूचनाओं के साथ एक विशाल प्रश्न लिखने के प्रति सचेत हूं इसलिए मैं यहां रुकूंगा; कृपया मैंने जो कुछ भी याद किया है, उसके लिए पूछें।

कोई विचार?

जवाबों:


2

मुझे नहीं पता कि यह वह समाधान है जो आप चाहते हैं लेकिन बाईं पारी की कुंजी को निष्क्रिय करने की एक संभावना xmodmap का उपयोग करना होगा। ~/.Xmodmapसामग्री के साथ एक फ़ाइल बनाएँ

clear shift
add shift = Shift_R

और भागो xmodmap ~/.Xmodmap


टिप्पणियां / चैट देखें:

यदि आप किसी अन्य प्रोग्राम के द्वारा अपने xkbmap में किए गए कुछ और संशोधन कर सकते हैं, तो डिफ़ॉल्ट xkbmap में रीसेट करना setxkbmap usआवश्यक हो सकता है, जैसे कुछ आवश्यक हो सकते हैं।

यदि आप कुछ कुंजियों को केवल एक शिफ्ट कुंजी का जवाब देना चाहते हैं, तो आप आपको वर्तमान कीबोर्ड लेआउट प्राप्त कर सकते हैं, xmodmap -pke > .Xmodmapइससे आपको .Xmodmapअपने सभी कुंजी के रूप में एक सूची मिलती है keycode XX = functions। इस कार्य में प्रत्येक कीकोड के दाहिने तरफ कई कार्य हो सकते हैं। प्रत्येक एक अलग संशोधक से मेल खाती है + कि कुंजी। आप ऊपर से स्पष्ट + जोड़ और ऐसा कुछ जोड़ सकते हैं add mod5 = Shift_L। दाएँ बदलाव की कुंजी mod2 के अनुरूप होगी जबकि बाईं ओर mod5 होगी। आप उन कुंजियों के mod2 फ़ंक्शंस पर जा सकते हैं, जिन्हें आप बाईं ओर की शिफ़्ट कुंजी के साथ mod5 में बस सम्मिलित करके NoSymbolऔर रिक्त स्थान तक ले जाना चाहते हैं, जब तक कि आप दाएं कॉलम ( keycode 57 = n N-> keycode 57 = n NoSymbol NoSymbol NoSymbol N) तक नहीं पहुँच जाते ।


मदद करने में खुशी। काम किया?
8

क्षमा करें, व्यस्त दिन। मेरे पास अभी भी दोनों शिफ्ट कुंजियाँ उपलब्ध हैं xmodmap चलाने के बाद, क्या मुझे बदलाव लाने के लिए कुछ और करने की आवश्यकता है?
mbfisher

कोशिश करें कि xmodmap -e "क्लियर शिफ्ट" करें उसके बाद आपके पास कोई शिफ्ट कीज़ उपलब्ध नहीं होनी चाहिए अगर वह काम करता है तो बाकी को भी काम करना चाहिए
Trudbert

नहीं, अभी भी शिफ्ट कीज़ मिलीं। # xmodmap -verbose -e "clear shift" ! 1: clear shift clear shift ! ! executing work queue ! clear shift
mbfisher

अजीब। कोई त्रुटि संदेश नहीं? स्पष्ट संशोधक से जुड़ी हर चीज को हटा देना चाहिए ताकि कुछ भी शेष न रहे। मैं एक-एक घंटे में अपने हाथों को linux सिस्टम पर लाऊंगा और इस पर फिर से गौर करूंगा।
ट्रुडबर्ट

2

यहाँ क्या अंत में काम किया है! मैंने xkb कॉन्फ़िगरेशन के बजाय उपयोग किया xmodmapऔर एक ~/.Xmodmapफ़ाइल।

~/.Xmodmap:

clear Shift

! Key Shift+Key mode_switch+Key mode_switch+Shift+Key AltGr+Key AltGr+Shift+Key
! Key Shift_L+Key Shift_R+Key Shift_R+Shift_L+Key AltGr+Key AltGr+Shift_L+Key

keycode 10 = 1 1 exclam 1
keycode 11 = 2 2 at 2
keycode 12 = 3 3 numbersign 3
keycode 13 = 4 4 dollar 4
keycode 14 = 5 5 percent 5

keysym Shift_R = Mode_switch
add Shift = Shift_L

2 टिप्पणी की गई पंक्तियों (मेरे साथ घूर !) मेरे बदलावों से पहले और बाद में कॉलम शीर्षक दिखाती हैं। इसने मुझे Shift_ के रूप में कॉल 2 और Shift_R के रूप में कोल 3 को निर्दिष्ट करने की अनुमति दी है, क्योंकि मैंने शिफ्ट_ आर को मोड_स्विच के रूप में मैप किया है।

परिवर्तन चलाकर किए जाते हैं:

 # setxkbmap us
 # xmodmap ~/.Xmodmap

setxkbmap usडिफ़ॉल्ट यूएस मैप सेट करता है इसलिए आप एक साफ स्लेट से काम कर रहे हैं, और इसके xmodmapलिए कस्टम परिवर्तनों को जोड़ता है।

जब लागू किया !, @, #, $और %पात्रों केवल सही बदलाव कुंजी के साथ टाइप किया जा सकता है, और ^, &, *, (और )केवल बाईं shift कुंजी के साथ टाइप किया जा सकता है।

मैं अब कीबोर्ड की बायीं तरफ सभी कुंजियों को मैप करके जारी रख सकता हूं, केवल दाएं शिफ्ट की (यानी एप्लायट्रिकल कैरेक्टर और उनके अपरकेस संशोधनों) द्वारा संशोधित किया जा सकता है और इसके विपरीत; इस समाधान का मतलब है कि मुझे केवल बायीं ओर की मरम्मत करने की आवश्यकता है।

रास्ते में मिलने वाले अन्य उपयोगी लिंक:

मुझे उत्तर के लिए सबसे अधिक रास्ता पाने के लिए @ ट्रूडबर्ट को बहुत-बहुत धन्यवाद!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.