बिना kbd के कंट्रोल + शिफ्ट कीज़ को परिभाषित करें


11

मैं किसी और के पैकेज में कुछ कार्यक्षमता जोड़ने की कोशिश कर रहा हूं, और इसलिए मैं उनके पैटर्न का सम्मान करना चाहता हूं। दुर्भाग्य से, इन पैटर्नों में से एक का उपयोग नहीं करना है kbd

मुझे एक फ़ंक्शन को बांधने की आवश्यकता है C-S-b, लेकिन मैं यह पता नहीं लगा सकता कि कैसे। मुझे पता है कि एक एकल संशोधक (जैसे "\S-b") के साथ यह कैसे करना है , लेकिन मैं इसे कई संशोधकों के साथ काम करने के लिए नहीं कर सकता। मुझे पता है कि मैं सिर्फ (kbd "C-S-b")इसके आउटपुट का मूल्यांकन और उपयोग कर सकता हूं ( [33554434]), लेकिन मैं कुछ आसान पढ़ना चाहता हूं।

यहाँ कुछ चीजें मैंने कोशिश की हैं:

(define-key emacs-lisp-mode-map
  "\C-\S-b" 'test-command)
;;; Invalid modifier

(define-key emacs-lisp-mode-map
  [C-S-b] 'test-command)
;;; Does nothing

(define-key emacs-lisp-mode-map
  "\C-B" 'test-command)
;;; Binds C-b

जवाबों:


15

आपको ?वेक्टर प्रतिनिधित्व में एक और दो बैकस्लैश याद आ रहे हैं :

(global-set-key [?\C-\S-b] 'test-command)

एलिफ़स मैनुअल में कुंजी अनुक्रम पर अनुभाग कहता है:

कुंजी दृश्यों समारोह चाबियाँ, माउस बटन घटनाओं, प्रणाली की घटनाओं, या इस तरह के रूप में गैर- ASCII वर्ण युक्त C-=या H-aतार के रूप में प्रतिनिधित्व नहीं किया जा सकता; उन्हें वैक्टर के रूप में दर्शाया जाना है।

वेक्टर प्रतिनिधित्व में, वेक्टर का प्रत्येक तत्व एक इनपुट घटना का प्रतिनिधित्व करता है, अपने लिस्प रूप में । उदाहरण के लिए, वेक्टर [?\C-x ?l]प्रमुख अनुक्रम का प्रतिनिधित्व करता है C-x l

और अन्य चरित्र संशोधक बिट्स के तहत यह कहता है:

शिफ्ट बिट के लिए लिस्प सिंटैक्स है \S-; इस प्रकार, ?\C-\S-oया ?\C-\S-Oस्थानांतरित-नियंत्रण-ओ चरित्र का प्रतिनिधित्व करता है।


1
मैं यह समझने की कोशिश कर रहा था कि प्रश्न चिह्न का क्या मतलब है। आपके उत्तर के लिए धन्यवाद, मुझे ये मिले: Ctl-Char Syntax? \ C- और मेटा-चार सिंटैक्स? \ M-
कौशल मोदी

और हाँ, अन्य संशोधक बिट्स पर इस पृष्ठ में मालाबार के प्रश्न का उत्तर दिया गया है ।
कौशल मोदी

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