मैं कैप्स को एस्केप और कंट्रोल दोनों के लिए कैसे लॉक कर सकता हूं?


22

मैं आम तौर पर लिनक्स चलाता हूं। मैं विम का बहुत उपयोग करता हूं, इसलिए एस्केप कुंजी अत्यंत महत्वपूर्ण है। मैं अन्य कीबोर्ड शॉर्टकट का भी बहुत उपयोग करता हूं, इसलिए नियंत्रण "कुंजी" भी है। लिनक्स पर, मैंने इसे Xcape का उपयोग करके कैप लॉक लॉक को मैप करने के लिए एस्केप किया है यदि स्वयं द्वारा दबाया जाता है, या किसी अन्य कुंजी के साथ संयोजन में दबाया जाता है। यह मेरी पिंकी उंगली की त्वरित पहुंच के भीतर दोनों दुनिया के सर्वश्रेष्ठ डालता है। वहाँ किसी भी तरह से मैं यह कर सकता हूँ MAC?

जवाबों:


19

हां , Karabiner (पूर्व में KeyRemap4Macbook) का उपयोग कर रहा था ।

सबसे पहले, कीबोर्ड वरीयता फलक में जाएं, "संशोधक कुंजी ..." पर क्लिक करें और कैप्स लॉक को नियंत्रण में बदलें। फिर, कारबिनियर में जाएं और इस विकल्प को खोजें:

Control_L से Control_L
      (+ जब आप Control_L टाइप करते हैं, तो केवल एस्केप करें)

वह जांचें, और आप कर रहे हैं। करबिनर के साथ आप बहुत अधिक दिलचस्प चीजें कर सकते हैं, जैसे कि आपकी (अब बेकार की) मैपिंग हाइपर कुंजी से और भी अधिक कीबाइंडिंग के साथ एस्केप कुंजी।


क्या यह नियंत्रण और भागने के लिए कैप्स लॉक और मैप कैप लॉक के लिए संभव है? क्योंकि कुछ समय बाद, मैं अभी भी लंबे ऊपरी केस स्ट्रिंग टाइप करने के लिए कैप्स लॉक का उपयोग करने की आवश्यकता महसूस करता हूं।
आरोन शेन

करिबिनर अब आपको ओएसएक्स कीबोर्ड वरीयताओं में "नो एक्शन" के लिए कैप्स लॉक को बदलने के लिए कहता है (इसके बजाय इसे नियंत्रण में स्थापित करने के लिए) और रीलों को करने के लिए करबिनर की बहन कार्यक्रम का उपयोग करें। उपरोक्त उत्तर का अंतिम भाग (+ जब आप Control_L केवल ... टाइप करते हैं) अभी भी Karabiner में किया जाता है।
ScoBe

@AaronShen सिर्फ कैप लॉक से बचकर रिमैप करें ;-)।
शुक्र

@ScoBe मैं ऐसा करने के खिलाफ सिफारिश करूंगा, आपको वास्तव में Seil की जरूरत नहीं है,
Ven

मैं Karabiner की कुंजी ओवरलाइड संशोधक> टाइमआउट पैरामीटर को 1000ms से 200ms तक कम करने की सलाह देता हूं । अगर मैं चाबी पकड़ता हूं, लेकिन फिर अपना दिमाग बदल देता हूं और उसे छोड़ देता हूं, तो मैं एक एस्केप फायर नहीं करना चाहता।
joeytwield

16

कारबिनियर वर्तमान में मैकओएस सिएरा के साथ असंगत है। एक अन्य, सिएरा-अनुकूल समाधान, कीबोर्ड मेस्ट्रो के साथ है (यह मुफ़्त नहीं है)। कैप्स-लॉक कुंजी के व्यवहार को नियंत्रण के माध्यम से बदलें System Preferences-> Keyboard- -> Modifier Keysजैसा कि दूसरों ने सुझाव दिया है।

फिर कीबोर्ड मेस्ट्रो के भीतर, मैक्रो को निम्नानुसार सेटअप करें:

  • इसकी बदौलत हुआ USB Device Key Trigger
  • अपने कीबोर्ड पर कैप्स-लॉक की दबाएं
  • एक बार टैप किया जाता है
  • इन संशोधक के साथ: ^
  • (आपको आपके द्वारा उपयोग किए जाने वाले प्रत्येक USB कीबोर्ड के लिए पिछले ट्रिगर को दोहराने की आवश्यकता होगी)
  • फिर एक क्रिया जोड़ें Text->Type a keystroke
  • Esc दबाएँ

1
बस स्पष्ट होने के लिए, करबिनर एलिमेंट्स नामक एक परियोजना है जो सिएरा पर चलती है (जो काराबिनर के एक संस्करण का अग्रदूत है जो सिएरा पर चलेगा)। मैंने इसकी कोशिश नहीं की है, इसलिए मुझे नहीं पता कि यह कार्यक्षमता उपलब्ध है या नहीं।
ट्यूबडॉग

5
कारबिनियर-एलीमेंट्स अभी तक एक संशोधक कुंजी टैप पर अभिनय का समर्थन नहीं करते हैं, जो इसके लिए आवश्यक होगा।
grokfully

यह विकल्प 'इन संशोधकों के साथ: ^' को केवल ^एक कार्रवाई को ट्रिगर करने के लिए कैप्सलॉक के साथ एक साथ दबाया जाना चाहिए । यह बिल्कुल नहीं है कि प्रश्न में क्या आवश्यक है।
विगत

चूंकि हम पहले सिस्टम-प्रेफरेंस के माध्यम से कंट्रोल की तरह व्यवहार करने के लिए कैप्स-लॉक को बदलते हैं, इसलिए KM नियंत्रण नियंत्रण के साथ USB इवेंट को देखता है। यदि आप ^संशोधक को छोड़ देते हैं , तो कार्रवाई कभी भी ट्रिगर नहीं होगी।
grokfully

यदि आप कीबोर्ड मेस्ट्रो मार्ग पर जाते हैं, तो क्या कैप लॉक की कार्यक्षमता को पुनः प्राप्त करने के लिए कैप्स लॉक से बचने की कुंजी को मैप करने का कोई तरीका है? मैं दोनों ctrl और हालांकि भागने के रूप में कैप्स लॉक होने से प्यार करता हूँ।
क्वास

1

इसे Karabiner Elements के साथ करने के लिए , जो macOS 10.12 का समर्थन करता है और बाद में, ओपन करता है ~/.config/karabiner/karabiner.json, और rulesसरणी में निम्न नियम जोड़ता है ।

{
  manipulators: [
    {
      description:
        "Change caps_lock to control when used as modifier, escape when used alone",
      from: {
        key_code: "caps_lock",
        modifiers: {
          optional: ["any"]
        }
      },
      to: [
        {
          key_code: "left_control"
        }
      ],
      to_if_alone: [
        {
          key_code: "escape",
          modifiers: {
            optional: ["any"]
          }
        }
      ],
      type: "basic"
    }
  ]
}

तुम भी उपयोग करने के लिए कोशिश कर सकते हैं ControlEscape.spoon साथ Hammerspoon


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