विभिन्न भाषाओं के लिए कीबोर्ड लेआउट कैसे स्विच करें?


11

प्रश्न: मैं गैर-मानक कीबोर्ड लेआउट का उपयोग करते समय विभिन्न भाषाओं के लिए इनपुट विधियों के बीच कैसे बदल सकता हूं?

मुझे पाठ को दो अलग-अलग भाषाओं में संपादित करना है। मैं बफर में पाठ सम्मिलित करते समय, छोड़कर, दो भाषाओं में अपनी कीबाइंडिंग का उपयोग करने में सक्षम होना चाहूंगा। ऐसा लगता है कि मुझे वैकल्पिक भाषा toggle-input-method( C-\और) का चयन करने में सक्षम होना चाहिए ।

अब तक, लगभग इतना अच्छा।

यहाँ रगड़ है: मैं अंग्रेजी ड्वोरक लेआउट का उपयोग करता हूं, जिसे मैंने ओएस स्तर पर सेट किया है (यानी, साथ setxkbmap)। जब मैं toggle-input-method, मेरे द्वारा डाला गया पाठ सही होगा यदि मेरे पास QWERTY लेआउट (अमेरिका में मानक) है, लेकिन यह अस्पष्ट के रूप में सामने आता है क्योंकि मैं Dvorak पर हूं। (एफडब्ल्यूआईडब्ल्यू, जब मैं अपने लेआउट को मानक यूएस में स्विच करता हूं, तो यह ठीक काम करता है।)

तो: मैं Emacs को कैसे सूचित करूं कि मैं Dvorak का उपयोग कर रहा हूं ताकि toggle-input-methodऔर मित्र मेरे कीबोर्ड का अनुवाद दूसरी भाषा में सही वर्णों में करें?


सिन-पोस्टफिक्स और अन्य कंपोजिटल इनपुट मेथड मेरे लिए काम करते हैं, आप किन तरीकों से परेशान हैं?
20

@ शायर: मैं अंग्रेजी और अरबी के बीच स्विच कर रहा हूं। समस्या यह है कि मैं ओएस स्तर पर एक ड्वोरक लेआउट का उपयोग कर रहा हूं, क्योंकि जब मैं ओएस स्तर पर मानक यूएस लेआउट का उपयोग करता हूं तो टॉगल करना ठीक रहता है।
दान

जवाबों:


7

सेटिंग द्वारा इनपुट विधि के लिए भौतिक लेआउट परिभाषा को बदलने की एक विधि है quail-keyboard-layout-type। लेकिन ऐसा लग रहा है कि quail-keyboard-layout-alistमेरी इमैक 24.4 में ड्वोरक संभावित उम्मीदवारों में से नहीं है ।

आप या तो की परिभाषा को देखकर एक नया भौतिक कीबोर्ड लेआउट परिभाषित कर सकते हैं quail-keyboard-layout-alistमें quail.elया ड्वोरक लेआउट के लिए इसी अरबी कुंजी को परिभाषित करते हुए एक नया इनपुट विधि पैदा करते हैं।

मैं पहले में अनुभवी नहीं हूँ, लेकिन मैं गवाही दे सकता हूँ कि दूसरा दृष्टिकोण आपके विचार से आसान है। (मुझे फ़ारसी के शीर्ष पर एक तुर्क तुर्की इनपुट विधि बनानी थी।) कॉपी arabic.el(जो कि मेरे डेबियन सिस्टम में रहती है /usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gz) आपके घर पर site-lispऔर आपकी प्राथमिकताओं के अनुसार चाबियाँ बदल दें। इसके अलावा, इनपुट विधि के नाम आदि को बदलना न भूलें। आपने अभी एक नया Dvorak-Arabic इनपुट पद्धति बनाई है।

अगर कुछ जटिल लगता है तो मैं अधिक विवरण के साथ उत्तर को अपडेट कर सकता हूं।


धन्यवाद! कि मुझे सही रास्ते पर सेट करें। मैं एक अतिरिक्त उत्तर पोस्ट करूंगा, जो मुझे ...-alistसंस्करण पर कैसे प्राप्त हुआ, यह बताता है ।
दान

आपका स्वागत है। आप quail-. *-alistEmacs के विकास के लिए अपना अपडेट सबमिट करने के बारे में सोच सकते हैं । मुझे यकीन है कि अन्य ड्वोरक उपयोगकर्ता हैं जो इससे लाभान्वित होंगे।
एमरे साहिन

7

@EmreSahin ने मुझे इस प्रश्न का उत्तर देने के लिए सही रास्ते पर रखा है, इसलिए मैं इस मामले में थोड़ा और विस्तार कर रहा हूं कि किसी और को इस तरह की समस्या से खुद ही निपटना पड़े।

जैसा कि एमरे बताते हैं, हमें एक ड्वोरक लेआउट को जोड़ना होगा quail-keyboard-layout-alist। यह पता चला है कि quailपुस्तकालय मैनुअल में अच्छी तरह से प्रलेखित नहीं है , जिसमें एक नोड पर पारित होने में दो संबंधित कार्यों का उल्लेख किया गया है।

हालांकि, इस मदद के धागे और विशेष रूप से, रूसी पर EmacsWiki पृष्ठ पर Dvorak (जिसमें से यह उत्तर क्रिब्स है) से परामर्श करने के बाद , मुझे लगता है कि मुझे यह समझ में आ गया है।

चर के लिए docstring quail-keyboard-layoutवर्णन करता है कि हमें किस चीज़ को डालने की आवश्यकता है quail-keyboard-layout-alist। यह 15 कुंजी की 6 पंक्तियों के अनुरूप एक लंबी स्ट्रिंग है। प्रत्येक पंक्ति में कुल 30 वर्णों के लिए प्रत्येक कुंजी के अनशफ्ट और शिफ्ट किए गए मानों से मेल खाती है। मैं निम्नलिखित बिंदु के बारे में कम निश्चित हूं, लेकिन ऐसा प्रतीत होता है कि, मैं "अर्ध-मानक" कीबोर्ड को 4 पंक्तियों की चाबियों के साथ क्या कहूंगा, पहली और छठी पंक्तियां प्रत्येक 30 रिक्त स्थान होनी चाहिए।

बड़ा खुलासा:

(require 'quail)

(add-to-list 'quail-keyboard-layout-alist
             `("dvorak" . ,(concat "                              "
                                   "  1!2@3#4$5%6^7&8*9(0)[{]}`~  "
                                   "  '\",<.>pPyYfFgGcCrRlL/?=+    "
                                   "  aAoOeEuUiIdDhHtTnNsS-_\\|    "
                                   "  ;:qQjJkKxXbBmMwWvVzZ        "
                                   "                              ")))

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