वायलैंड के साथ कीबोर्ड मैपिंग को कैसे अनुकूलित करें


20

मैं यूके / जीबी कीबोर्ड के साथ मैकबुक पर लिनक्स का उपयोग करता हूं और मैं एप्पल के अजीब कीबोर्ड लेआउट कारणों से कुछ समस्याओं को हल करने के लिए कीमैप को अनुकूलित करता हूं। मैं xmodmapऐसा करने के लिए उपयोग करता हूं। मैं Wayland की कोशिश करना चाहते हैं, लेकिन xmodmapउस में काम नहीं करता है। मैं वेलैंड में एक समान परिणाम कैसे प्राप्त कर सकता हूं? .Xmodmapमेरे द्वारा उपयोग की जाने वाली फ़ाइल में निम्नलिखित शामिल हैं:

keycode  12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock

पंक्ति 1: यूके कीबोर्ड पर Shift- 3£ है, इसलिए # आमतौर पर पास की अपनी कुंजी है Return। लेकिन मैक पर Altgr- के साथ प्राप्त किया जाता है 3। एक प्रोग्रामर के रूप में मैं £ से अधिक # का उपयोग करता हूं, इसलिए यह लाइन उन्हें स्वैप करती है। यूएस लेआउट का चयन करना भी इसे प्राप्त करता है, लेकिन लिनक्स में ऐसा करने से कुछ अन्य सामान्य रूप से उपयोग की जाने वाली चाबियां भी स्वाइप हो जाती हैं, जबकि OS X में अन्य कुंजी यूएस / यूके द्वारा अप्रभावित रहती हैं।

लाइन्स 2-5: राइट Cmdकी-एक्ट को सही बनाएं- Ctrlक्योंकि इस कीबोर्ड में कोई फिजिकल राइट की नहीं है Ctrl

पंक्ति 6: CapsLockकेवल तभी काम करता है जब आप इसे दबाते हैं Shift। मैक-विशिष्ट नहीं, यह सभी ओएस और कीबोर्ड के लिए एक मानक विकल्प होना चाहिए।


मैं वहां भाग ले रहा हूं: जाहिरा तौर पर वेलैंड xkb का उपयोग करता है, और एक्समॉडमैप को वैसे भी एक्स में पदावनत किया जाता है। दुर्भाग्य से xkb काफी जटिल है, और GNOME ने कभी नहीं माना कि उपयोगकर्ताओं को इसे अनुकूलित करने की आवश्यकता हो सकती है, इसलिए मैंने एक दूसरा प्रश्न उठाया है
असली

जवाबों:


11

दुर्भाग्य से सिस्टम XKB डेटाबेस को संशोधित करना /usr/share/X11/xkbएकमात्र तरीका है; आपके अन्य प्रश्न से ऐसा लगता है कि आपने उस भाग को काम कर लिया है।

सीमा ज्यादातर वायलैंड की अपरिपक्वता और XKB में एक डिज़ाइन ओवरसाइट की वजह से है।

  • जैसे टूल setxkbmapऔर xkbcompएक प्रदान करते हैं -I(उदाहरण के लिए खोज करने के लिए एक उपयोगकर्ता परिभाषित डेटाबेस जोड़ने का विकल्प ~/.xkbया ~/.config/xkbफ़ाइलें और प्रणाली डेटाबेस की तरह बाहर रखी उपनिर्देशिका के साथ,)। ये उपकरण एक्स सर्वर के साथ बातचीत करते हैं, इसलिए वे Xwaylandवेलैंड के तहत एक्स अनुप्रयोगों को चलाने के लिए संगतता परत को कॉन्फ़िगर करने में उपयोगी हो सकते हैं । लेकिन वे वर्तमान में वायलैंड प्रोटोकॉल नहीं बोलते हैं।

  • वायलैंड प्रोटोकॉल अभी भी परिपक्व हो रहे हैं। वर्तमान में ऐसा लगता है कि input-methodऔर text-inputप्रोटोकॉल सबसे अधिक प्रासंगिक हैं, और दोनों अस्थिर हैं। परिभाषित कीमैप को बदलने के बारे में कुछ भी उल्लेख न करें; ये विवरण कंपोजिटर के पास छोड़ दिए जाते हैं।

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

  • यहां तक ​​कि XKB में भी, यह पूरी तरह से समर्थित नहीं है। आपकी कस्टम प्रतीकों फ़ाइल includeअन्य सिस्टम प्रतीकों फ़ाइलों को कर सकती है । लेकिन वर्तमान में includeXKB नियमों की फ़ाइलों के लिए कोई कार्यक्षमता नहीं है , इसलिए यहां तक ​​कि अगर आपके पास एक उपकरण है जो कि वायलैंड कंपोज़िटर से बात करेगा और आपके व्यक्तिगत अनुकूलन को देखेगा, तो आपको उन सभी नियमों को मैन्युअल रूप से शामिल करना होगा जिन्हें आप उपयोग करना चाहते हैं (यानी कॉपी करें rules/evdev*सिस्टम XKB से और इसे संशोधित करें)। libxkbcommonहै एक खुला मुद्दा इस विषय है और एक पर संबंधित बग


1
मुझे यह स्पष्ट करना चाहिए था कि मैंने अब इसे बहुत हल कर लिया है। मैंने दूसरे प्रश्न में ऐसा कहा है, लेकिन जानकारी थोड़ी निराश है। मैं इसे और अधिक स्पष्ट रूप से प्रलेखित करने का इरादा कर रहा हूं, जब मैं अपनी वेबसाइट पर एक ब्लॉग जोड़ने के लिए चारों ओर हो जाता हूं, तो मुझे इसे यहां लिंक करने के लिए याद रखना होगा।
असली

यकीन है, लेकिन यह अभी भी एक अनुत्तरित प्रश्न था, इसलिए मैंने वायलैंड-समतुल्य .Xmodmapपहलू को संबोधित करने की कोशिश की ।
क्विक्सोटिक

3
मैंने अब इसे एक ब्लॉग पोस्ट में विस्तार से प्रलेखित किया है ।
realh

5

मैं इसके लिए सफलता के साथ लिनक्स के लिए इंटरसेप्शन टूल्स का उपयोग कर रहा हूं , और अपने कस्टम मैपिंग के लिए अन्य प्लगइन्स का उत्पादन करने वाले लोगों को भी जानता हूं । caps2esc एक पहला प्रूफ-ऑफ-कॉन्सेप्ट प्लगइन है, जिसे मैं हर रोज इस्तेमाल करता हूं, और X और Wayland दोनों पर काम करता हूं। टूल सामान्य मैपिंग सॉफ़्टवेयर की तुलना में थोड़ा कम स्तर है, लेकिन काफी लचीला है, और अगले प्लगइन के लिए मेरी योजना एक सामान्यीकृत रिकॉर्डिंग टैपिंग टूल है।

डिस्क्लेमर: मैं लेखक हूं।


अवरोधन उपकरण वास्तव में दिलचस्प लगते हैं! आपके काम के लिए धन्यवाद!
बालू

1
निश्चित नहीं है कि मैं अपने सभी कीबोर्ड इनपुट को अजगर स्क्रिप्ट के माध्यम से चलाने के बारे में कैसा महसूस करता हूं
ऐस। सी।

4

2018 (उबंटू 17.10) में आने वाले लोगों के लिए, इसका सबसे महत्वपूर्ण हिस्सा गनोम टीक टूल का उपयोग करके पूरा किया जा सकता है।

Gnome Tweak Tool> कीबोर्ड और माउस> अतिरिक्त लेआउट विकल्प> Ctrl को Win कुंजियों (और सामान्य Ctrl कुंजियों) पर मैप किया जाता है।


2
क्या "गनोम टीक टूल" (जो कुछ भी है) का उपयोग करके अन्य विंडोज़ मैनेजर / वातावरण / ग्राफिकल गोले के लिए भी नया मैपिंग सेट करता है?
माली रिमार्कर

Gnome Tweak टूल कैप्स लॉक को रीमैप नहीं कर सकता है।
एंडिन

@andyn my, gnome-tweaks-3.34.0-1.fc31.noarchकैप्स लॉक को रीमैप कर सकता है - जैसे 'कैप्स लॉक भी एक Ctrl है', 'कैप्स लॉक को एक अतिरिक्त Esc', 'कैप्स लॉक को Ctrl के रूप में' और कई और।
मैक्सशेल्पीजिग

2

इस उत्तर में क्विकोटिक के उत्तर के समान विचार है लेकिन अधिक विस्तृत उदाहरण के साथ:

Gnome Tweaks के पास 20 या 30 कीबोर्ड की एक सूची है, जिसे आप xkb के माध्यम से कर सकते हैं। कुछ समय के लिए आप डिफ़ॉल्ट रूप से ढूंढ रहे हैं। मेरे मामले में, मैं मेनू के साथ प्रिंटस्क्रीन की को स्वैप करना चाहता था।

Xkb के माध्यम से उपलब्ध प्रिंटर्स कुंजी को संशोधित करने का एकमात्र विकल्प इसे Win_R के साथ बदलना था। इस धागे पर गुन्नार हेजलारमसन ने मुझे सुझाव दिया कि मैं xkb के संशोधनों को संशोधित कर दूं ताकि प्रिंटर्स / win_r इसके बजाय प्रिंट / मेनू करें। हमने साथ मिलकर एक समाधान निकाला और मैं इसे यहाँ पुनःप्राप्त करने जा रहा हूँ:

टर्मिनल में, दर्ज करें:

sudo su
nano /usr/share/X11/xkb/symbols/altwin

फ़ाइल के नीचे आपको मिलेगा:

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

इस अनुभाग को हटाएँ और इसे इसके साथ बदलें:

// Menu is mapped to the PrtSc key (and the usual Win key).
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

नैनो में हटाने के लिए, बैकस्पेस कुंजी (हाइलाइटिंग और हटाने का काम नहीं करता है) का उपयोग करें। पेस्ट करने के लिए, शिफ्ट-सीटीएल-वी का उपयोग करें। बाहर निकलने और बचाने के लिए, ctrl-x दबाएं, ओवरराइट करने के लिए हां चुनें और एंटर दबाएं।

रीबूट। Gnome / Ubuntu में, gnome-tweak-tools पर जाएं tweak टूल में कीबोर्ड और माउस सेक्शन में जाएं, अतिरिक्त लेआउट विकल्प बटन दबाएं और Alt / Win कुंजी व्यवहार का विस्तार करें। बहुत नीचे के विकल्प का चयन करना: विन को प्रिंटर्सक्रैप में रखा गया है (याद रखें कि हमने इस व्यवहार को प्रिंट और मेनू के बजाय प्रिंट और मेनू स्वैप करने के लिए संशोधित किया है)। (मुझे यकीन है कि केडीई में modded xkb विकल्प को चालू करने का एक तरीका है लेकिन मैं इसका उपयोग नहीं करता, इसलिए मैं आपको सटीक प्रक्रिया नहीं दे सकता)।

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