फ़ंक्शन कुंजियों को "स्टिकी" संशोधक कुंजियों के रूप में उपयोग करना


10

क्या <f8>सुपर-की-डाउन घटना के एक प्रकार के रूप में एक फ़ंक्शन कुंजी (जैसे ) का उपयोग करने का एक तरीका है और फिर अगले कीस्ट्रोक (f.ex. s) है, तो के रूप में interpeted हो सकता है s-s? दूसरे शब्दों में, यह चिपचिपा संशोधक कुंजियों के समान होगा, लेकिन सिर्फ एमएसीएस के लिए, ओएस ही नहीं।

मुझे की-कॉर्ड मोड और इस तथ्य के बारे में पता है कि आप (global-set-key (kbd "<f8> b t") 'undo)कीबोर्ड शॉर्टकट को बचाने के लिए इस तरह के कुंजी संयोजनों का उपयोग कर सकते हैं । लेकिन मुझे कुछ ऐसा चाहिए जो मेरे मौजूदा बाइंडिंग के साथ सुपर की के लिए काम करता है और मुझे भविष्य में दो बार सब कुछ बांधने की आवश्यकता नहीं है (यानी सुपर कुंजी के लिए एक बंधन और फ़ंक्शन कुंजी के लिए एक)।

जवाबों:


14

यदि आपका वर्कफ़्लो है:

  1. दबा कर छोड्रें F8
  2. प्रेस और रिलीज s, यह बाध्यकारी के लिए ट्रिगर करने की उम्मीद हैs-s
  3. जब भी आप कुंजी को दबाते हैं, sतब तक संशोधक नहीं होता है जब तक कि आप F8फिर से नहीं दबाते हैं

तब यह सुविधा Emacs में ही मौजूद है । यह C-x @ sडिफ़ॉल्ट रूप से बाध्य है (स्पष्ट रूप से केवल बहुत सामयिक उपयोग के लिए इरादा है)। आदेश है event-apply-super-modifier(समान कार्य के लिए मौजूद हैं control, shift, meta, altऔर hyper)। डिफ़ॉल्ट बाइंडिंग में हैं function-key-map, जो वैश्विक या स्थानीय कीमैप में बाइंडिंग द्वारा ओवरराइड किया जाता है। आप key-translation-mapइसके बजाय उपयोग कर सकते हैं यदि आप पूर्वनिर्धारण के लिए लागू-संशोधक अर्थ चाहते हैं।

(define-key function-key-map [f8] 'event-apply-super-modifier)

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