क्या मैक ओएस एक्स लायन में कमांड-टैब एप्लिकेशन स्विचर को अक्षम करना संभव है?


11

यह शॉर्टकट मुझे पागल कर देता है। मैं कोडिंग करते समय स्निपेट प्रविष्टि के लिए कमांड-टैब को रीमैप करना चाहता हूं, लेकिन स्विचर रास्ते में हो जाता है ...


संभव डुप्लिकेट। superuser.com/questions/548146/…
डैनियल ड्रिक

जवाबों:


6

आप KeyRemap4MacBook के साथ किसी अन्य कुंजी संयोजन में कमांड-टैब मैप कर सकते हैं :

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::F19</autogen>

यह कमांड-टैब और शिफ्ट-कमांड-टैब को अक्षम करेगा:

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>

धन्यवाद, यह एक अच्छा नेतृत्व है। यह जानना भी अच्छा है कि DefaultKeyBinding.dict के माध्यम से रीमैपिंग एक मृत अंत है। मैं KeyRemap4MacBook की कोशिश करूँगा
शॉन मैकेसी 4

1
यह महान काम किया, धन्यवाद। यदि यह दूसरों के लिए स्पष्ट नहीं है, तो आपको इन परिभाषाओं को private.xmlअपने स्वयं के <item>टैग के तहत जोड़ना होगा <root>। फिर, private.xmlनया विकल्प पुनः लोड और टॉगल करें।
jhhorn424

<आइटम> प्रविष्टि में एक नाम और एक पहचानकर्ता जोड़ना सुनिश्चित करें <name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Willem D'Haeseleer

1

आप इसे विधानसभा स्तर के रूप में कर सकते हैं। एमएल 10.8.3 के लिए, यह Cmd+ Tabपंजीकरण पते पर सबक्रूटिन में होता है 0x10000b258। छद्म कोड में, ऐसा दिखता है:

rax = CPSRegisterForKeyOnConnection(*(int32_t *)rbx, 0x1002cd078, 0x1, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-tab key, %d\\n");
}
rax = CPSRegisterForKeyOnConnection(*(int32_t *)0x1002ccda8, 0x1002cd078, 0x2, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-shift-tab key, %d\\n");
}

इसलिए यदि आप निम्नलिखित बाइट कोड बदलते हैं:

488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A488B0D98FC2400488B39488D3541341C0089C230C0E855C51B00

साथ में:

90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090

और अपने Dock.app को इस्तीफा दें, यह काम करेगा। डॉक बाइनरी एन्क्रिप्टेड होने से पहले आपको डॉक बाइनरी को अनप्रोक्ट करना होगा।


5
क्या आप कृपया किसी प्रकार के स्रोत के साथ अपने उत्तर का बैकअप ले सकते हैं? भविष्य के पाठकों द्वारा यह सब कोड भ्रमित और अविश्वास की वस्तु हो सकता है। उम्मीद है आप समझ गए होंगे।
लोरेंजो वॉन मैटरहॉर्न

1
यह भी जोड़ें कि मूल कोड क्या करता है, और प्रतिस्थापन (disassembly ठीक होगा जहां तक ​​मेरा संबंध है)
vonbrand

3
यह एक बहुत अच्छा जवाब है। हालांकि अन्य दो टिप्पणियों में चिंता शायद वैध है, इसकी बोली दुखद है कि सभी टिप्पणियां इस पर सवाल उठा रही हैं, लेकिन कोई भी यह नहीं बताता है कि यह बहुत अच्छा है। आपको कैसे पता चलेगा कि कौन सा सबरूटिन पता है, और 090909 क्या है? (नो-ओप?)
गैल

0

क्या स्वीकार्य उत्तर में इसे रीमैप करना शामिल होगा?

मैक ओएस एक्स लायन (10.7) में कीबोर्ड लेआउट का पता लगाने में कठिनाई होती है जब मैंने पहली बार इसे प्लग इन किया था। लेकिन निर्देशों का पालन करने के बाद (यानी लेफ्ट शिफ्ट के दाईं ओर की कुंजी दबाएं, आदि) यह लेआउट की सही पहचान करता है।

सिस्टम प्राथमिकता में, शेर का एक अद्भुत कीबोर्ड पैनल है:

लायन के कीबोर्ड पैनल का स्क्रीन शॉट

अगला, संशोधक कुंजी पर जाएं ...

यहाँ छवि विवरण दर्ज करें

बिंगो, अब CapsLock नियंत्रण के रूप में व्यवहार करता है।

या, आप कुंजी बाइंडिंग को आज़मा सकते हैं और प्रभावित कर सकते हैं:

डिफ़ॉल्ट कीबाइंडिंग फ़ाइल संपादित करें, ~ / लाइब्रेरी / कीबाइंडिंग / DefaultKeyBinding.dict। निर्देशिका और / या फ़ाइल बनाएँ अगर वे पहले से ही वहाँ नहीं हैं, और इसे इस तरह दिखते हैं:

{
  /* Remap Home / End to be correct */
  "\UF729" = "moveToBeginningOfLine:"; /* Home */
  "\UF72B" = "moveToEndOfLine:"; /* End */
  "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
  "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}

अगर DefaultKeyBinding.dict में पहले से ही प्रविष्टियाँ हैं, तो अपनी फ़ाइल के मुख्य भाग में ऊपर दिए गए 4 नए मैपिंग जोड़ें। इसे प्रभावी होने के लिए रिबूट की आवश्यकता हो सकती है।

आपको ऊपर दिए गए कोड को समायोजित करने की आवश्यकता होगी जो आप करने की कोशिश कर रहे हैं


1
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
कनाडाई ल्यूक

3
उपरोक्त टिप्पणीकार से सहमत-- यह उत्तर अभी तक बहुत गोलमोल है। मैं आपके उत्तर की सराहना करता हूं, लेकिन कृपया अधिक प्रत्यक्ष होने का प्रयास करें। मुझे ऐसा लगता है कि यह प्रविष्टि भविष्य में इस प्रश्न को खोजने वाले अन्य लोगों को भ्रमित करने की संभावना है। इसके अलावा, पूरी कमांड कुंजी को कुछ और के लिए फिर से तैयार करना मेरे लिए स्वीकार्य समाधान नहीं है, क्योंकि मैं कई अन्य चीजों के लिए कमांड कुंजी का उपयोग करता हूं। यदि आप अपने समाधान के दूसरे भाग में दिखाते हैं तो मैं यह नहीं बता सकता कि मुझे सीएमडी + टीएबी को चुनिंदा रूप से अक्षम करने की अनुमति है, लेकिन अगर यह स्पष्ट रूप से समझा सकता है।
सीन मैकेसी जूल

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

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