एक सामान्य कुंजी को एक संशोधक कुंजी में बदलें


11

मेरे पास एक कीबोर्ड है, जो कुछ अकथनीय कारण के लिए, एक कुंजी देता है जो डेनिश डॉलर प्रतीक को ओएस एक्स को भेजता है - §। शिफ्ट के साथ यह प्लस / माइनस सिंबल भेजता है - ±

क्या Emacs के भीतर यह संभव है कि वह §कुंजी को देखे और उसे Hyper या Super में रूपांतरित करे? इसलिए यदि मैं उस §कुंजी को दबाए रखता हूं और दबाता हूं f, तो यह H-fEmacs में सक्रिय हो जाएगा ।

मैंने निम्नलिखित कोशिश की है, जो काम नहीं करता है:

(define-key key-translation-map (kbd "§") (kbd "<Hyper>"))

यह सिर्फ <Hyper> is undefinedकुंजी दबाने पर कहता है, और एक संशोधक के रूप में कार्य नहीं करता है।

यह भी काम नहीं करता है:

(define-key key-translation-map (kbd "§") "<Hyper>")

कि बस §एक <कुंजी में कुंजी बदल जाता है ।



2
आपको यह ओएस स्तर पर करने में सक्षम होना चाहिए, लेकिन ईमैक्स में नहीं।
मलाबारबा

जवाबों:


4

लघु संस्करण : Emacs के संदर्भ में, मुझे वास्तव में जिस चीज की आवश्यकता थी, वह थी- chords


@ मलबारबा और @XinUmbralis सही प्रतीत होते हैं - Emacs आपको सामान्य कुंजी को सामान्य रूप से कुंजी में बदलने की अनुमति नहीं देता है। मुझे वास्तव में कीबोर्ड पर प्रत्येक संशोधक कुंजी के संयोजन और "हाइपर" कॉल करने का विचार पसंद नहीं है, क्योंकि यह भविष्य में अन्य चीजों के साथ संघर्ष कर सकता है।

मैं पहले से ही Karabiner का उपयोग करता हूं, और जाहिर है आप इसके साथ कस्टम संशोधक बना सकते हैं । लेकिन इसके लिए OS स्तर पर हर संयोजन की मैपिंग की आवश्यकता होती है, ताकि कहें, §-aकुछ ऐसा भेजता है जो Emacs संभालना जानता है।

तब मुझे की -कॉर्ड लाइब्रेरी की याद आई , और महसूस किया कि जो मैं चाहता था, उसके लिए असली Emacs शब्दावली थी। उदाहरण विन्यास:

(require 'key-chord)
(key-chord-mode 1)
(key-chord-define-global "§a" 'other-frame)

की-कॉर्ड के साथ एक मुद्दा यह है कि की-कॉर्ड का शब्दार्थ एक संशोधक + कुंजी से थोड़ा अलग है - कोई पुनरावृत्ति की अनुमति नहीं है, और पूरे कॉर्ड को वास्तव में जल्दी से दर्ज किया जाना है।

यदि मैं उन समस्याओं का समाधान लेकर आता हूं, तो मैं इसके बारे में कहीं लिखूंगा और इस उत्तर को संपादित करने में एक लिंक प्रदान करूंगा।


3

आप हाइपर कमांड भेजने के लिए सेक्शन साइन की (to कुंजी) को रिवाइंड करने में सक्षम नहीं हो सकते हैं, हालाँकि आप Seil PCKeyboardHack का उपयोग करके हाइपर भेजने के लिए कैप्स-लॉक कुंजी को रिवाइंड कर सकते हैं

सेइल में कैप्स-लॉक कुंजी को रिबंड करने के लिए, बस निम्नलिखित करें:

  1. Seil को खोलें और 'कैप्स लॉक कुंजी बदलें' पर क्लिक करें।
  2. 'कैप्स लॉक कुंजी बदलें' के बगल में स्थित चेकबॉक्स चुनें।
  3. कीकोड पर डबल क्लिक करें, और कीकोड 80 दर्ज करें।

1
यह उत्तर शायद टिप्पणी के रूप में बेहतर होगा। सामान्य तौर पर, उत्तर भाग में लिंक प्रदान करने से अधिक करना चाहिए, क्योंकि लिंक किसी भी समय गायब हो सकते हैं। क्या आप इसे अधिक स्व-निहित बनाने के लिए अपना उत्तर संपादित कर सकते हैं?
दान

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