के लिए Mode_switch संशोधक क्या है?


29

xmodmapमैं एक संशोधक कुंजी का सामना करने के साथ खेल रहा था, जिसके बारे में मैंने नहीं सुना था Mode_switch। ऐसा लगता है कि विशेष पात्रों को सम्मिलित करने के साथ कुछ करना है।

मैंने इसे एक कुंजी को सौंपा, लेकिन इसका कोई प्रभाव नहीं है। ये किसके लिये है? क्या यह ISO_Level3_Shift(Alt Gr) से अलग है ?


इन्हें भी देखें: unix.stackexchange.com/questions/249122/…
Pavel erimerda

: एक संबंधित सवाल में लिंक करने unix.stackexchange.com/questions/461972/...
जेफ स्कालर

जवाबों:


29

Mode_switchपुराने की-स्टाइल (प्री-एक्सकेबी) कुंजी का नाम है जिसे AltGrकई कीबोर्ड लेआउट पर कहा जाता है । यह उसी के समान है Shift, जब आप एक कुंजी दबाते हैं जो एक चरित्र से मेल खाती है, तो आपको एक अलग चरित्र मिलता है अगर Shiftया AltGrभी दबाया जाता है। इसके विपरीत Shift, Mod_switchX11 अर्थों में एक संशोधक नहीं है क्योंकि यह आम तौर पर वर्णों पर लागू होता है, फ़ंक्शन कुंजियों के लिए नहीं, इसलिए अनुप्रयोगों को वांछित प्रभाव प्राप्त करने के लिए केवल वर्ण लुकअप करने की आवश्यकता होती है।

ISO_Level3_Shiftइस कुंजी का XKB संस्करण है। सामान्यतया, XKB एक बहुत अधिक जटिल है और कुछ अतिरिक्त फैंसी सामान कर सकता है। XKB का तंत्र अधिक सामान्य है क्योंकि यह कीबोर्ड लेआउट को अलग-अलग करने की अनुमति देता है जिसमें कुंजियाँ किस संशोधक से प्रभावित होती हैं, यह चिपचिपा ( CapsLock-स्टाइल) और साथ-साथ-प्रेस ( Shift-स्टाइल) संशोधक और इसी तरह सामान्यीकृत करता है।


यह जानने के लिए कि ISO_Level3_Shift'स्टिकीली' अभिनय कर सकते हैं, मैं लंबे समय से उस कार्यशीलता की तलाश कर रहा था: unix.stackexchange.com/questions/39014/…
vemv

@ गिल्स तो, हैं AltGrऔर Mode_switchएक ही कुंजी? यदि नहीं, तो इस लिंक में , वे ध्वनि करते हैं जैसे कि वे समान चीजें हैं। क्या आप इसे थोड़ा स्पष्ट कर सकते हैं?
उत्कर्ष

@Utku Mode_switchऔर ISO_Level3_Shiftथोड़ा अलग तरीकों से एक ही काम करते हैं। मैं मतभेदों को समझने का दावा नहीं करता; ज्यादातर समय वे मायने नहीं रखते हैं, लेकिन मुझे याद है कि XKB नामों के साथ xmodmap को मिलाने से कभी-कभी संशोधक सही काम नहीं कर पाते हैं।
गिल्स एसओ- बुराई को रोकना '

@Gilles मैं भी मतभेद समझ में नहीं आता, लेकिन मैं के साथ या तो समाप्त कर रहा हूँ us(cz_sk_de)सुविधाओं या कुछ चाबी के लिए कस्टम xmodmap मैपिंग (उदाहरण के लिए अल्पविराम) के आधार पर के साथ AltGrहै Mode_switchया ISO_Level3_Shiftलेकिन एक ही समय में दोनों सुविधाओं नहीं मिल सकता है।
पावेल Paमरदा

4
स्टिकी कीज CapsLock-स्टाइल नहीं हैं । स्टिकी कीज को "लैच" कहा जाता है और लॉक-की को लॉक कहा जाता है। अगले गैर-संशोधक को दबाए जाने के बाद स्टिकी कुंजी जारी की जाती हैं, जब तक कि वे फिर से दबाए नहीं जाते हैं तब तक लॉक कीज़ प्रभावी रहती हैं।
गिल्डनस्टर्न

12

इस उत्तर खंडन @Gilles 'जवाब के लिए नहीं है, लेकिन का एक और पहलू का वर्णन करने के लिए है "अंडर प्रबुद्ध" अपने जवाब में इनपुट से निपटने जो मुझे लगता है है।

आप ISO_Level3_Shift(Alt-Gr) और अलग-अलग परिणामों के साथMode_switch एक ही समय में दोनों का उपयोग कर सकते हैं । इसके लिए कुछ विन्यास की आवश्यकता होती है, लेकिन आप उन दोनों को प्राप्त कर सकते हैं, और उनका उपयोग प्रति कीबोर्ड कीबोर्ड 6 अलग-अलग कुंजी बनाने के लिए कर सकते हैं !

आप उदाहरण के Tabलिए x और Mode_switch साथ आयोजित होने के लिए कॉन्फ़िगर कर सकते हैं , फिर कीबोर्ड पर "H" लेबल की गई कुंजी निम्न वर्णों / कुंजियों का उत्पादन कर सकती है:

h
H
← (Cursor)
← (Symbol)

with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH

इसलिए, अपने प्रश्न के चारों ओर वापस आने के लिए: IL3Sऔर Mode_switchअलग-अलग चीजों का मतलब करने के लिए कॉन्फ़िगर किया जा सकता है, इसलिए आपके पास कर्सर कुंजी और ~ ( उपयोगी ) भाषाओं, बॉक्स-ड्राइंग, और तकनीकी कुंजी में से 35 उपयोगी वर्ण 35 कुंजी पर सेट हो सकते हैं 3 पत्र पंक्तियों।

उपरोक्त पूरा करने के लिए:

# Initial Setup
xmodmap -e 'keycode 23 = Mode_switch ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab'
xmodmap -e 'keycode any = Tab'
xcape -e "Mode_switch=Tab"

उदाहरण के लिए H:

xmodmap -pke | grep 'h H'
# Make note of the keycode, note the 8 columns after the `=`,
# then edit and feed back into xmodmap with:
xmodmap -e 'keycode  43 = h H lowrightcorner uprightcorner Left leftarrow h H'

वाह! मैं देखता हूं कि अब आपके दूसरे अंतिम पैराग्राफ में आपका क्या मतलब है, आपने मेरा दिन बना दिया no मुझे अब चीजों को लिखने के लिए htmlarrows.com से कॉपी और पेस्ट करने की आवश्यकता नहीं है fn: A → B
पैट्रिक मैकलारेन

मुझे लगता है कि ऐसा करने का सामान्य तरीका उपयोग करना है ISO_Level5_Shift। यह 8 स्तर, 7 वीं जा रहा है lvl3+lvl5+Hऔर सी पैदा करता है ।
टोट्रोट जूल

1

Mode_shiftXkb में समूह या लेआउट के लिए एक शिफ्ट कुंजी है। यदि आपके पास कई समूहों के साथ एक लेआउट है, तो आप अगले समूह तक पहुंचने के लिए इस कुंजी को पकड़ सकते हैं। यदि आपके पास कई लेआउट हैं, तो आप लेआउट (। 1) के बीच शिफ्ट करने के लिए इस कुंजी को पकड़ सकते हैं।

तो Mode_shiftसमूहों क्या करने के लिए है Shift(या Shift_Lऔर Shift_R, keysym नाम का उपयोग करने) के स्तर है।

यह अधिक स्पष्ट हो सकता है अगर हम विचार करें कि Mode_shiftएक उपनाम ISO_Group_Shift(† 2) है। वहाँ भी बुलाया चाबियाँ हैं ISO_Group_Latchऔर ISO_Group_Lockजो ISO_Level2_Latch(कुंडी पारी) और Shift_Lockक्रमशः, ( to 3) के अनुरूप हैं ।

विभिन्न लिपियों के लिए कई उपनाम भी हैं:

  • kana_switch
  • Arabic_switch
  • Greek_switch
  • Hebrew_switch
  • Hangul_switch

† 1: यह Xkb के "समूहों" और "लेआउट" की मेरी समझ पर आधारित है। ऐसा लगता है कि उनके साथ वैसा ही व्यवहार किया जाता है जैसा कि उनके बीच इस तरह की चाबियों के साथ चुनने पर।

† 2: मैं फ़ाइल पर यह आधारित कर रहा हूँ keysymdef.hमें इस Git भंडार संशोधन ab8666661fc6 पर ( "XF86XK_AudioPreset जोड़ें", 2017/05/10)। इंस्टॉलेशन पर आपको संभवतः यह फ़ाइल मिल जाएगी /usr/include/X11/keysymdef.h

† 3: एक कुंजी भी है ISO_Lock, एक प्रकार का सामान्य-उद्देश्य लॉक कुंजी।

AltGrकुंजी का अर्थ

गिल्स ने अपने उत्तर में AltGrकुंजी के साथ संबंध का उल्लेख किया :

Mode_switchपुराने की-स्टाइल (प्री-एक्सकेबी) कुंजी का नाम है जिसे AltGrकई कीबोर्ड लेआउट पर कहा जाता है ।

इससे मुझे संदेह हुआ कि "AltGr" "वैकल्पिक / वैकल्पिक समूह" के लिए खड़ा हो सकता है, क्योंकि Mode_switchइसका उपयोग समूहों को स्थानांतरित करने के लिए किया जाता है। हालांकि यह गलत निकला। कुंजी पर विकिपीडिया पृष्ठ केAltGr अनुसार , "AltGr" आईबीएम कीबोर्ड से आता है, और अपने मैनुअल में यह कहता है कि यह "वैकल्पिक ग्राफिक्स" के लिए एक संक्षिप्त नाम है। यह समझ में आता है, क्योंकि ऐसा लगता है कि कीबोर्ड का उपयोग करने के लिए "ग्राफिक्स" (पाठ उपयोगकर्ता इंटरफ़ेस में उपयोग किए जाने वाले बॉक्स-ड्राइंग वर्ण) अच्छी तरह से आने से पहले कई लिपियों के बीच स्विच करने के लिए अच्छा समर्थन था।

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