विशिष्ट इनपुट स्रोत पर स्विच करें


23

मैक ओएस एक्स में, सक्रिय इनपुट स्रोतों के बीच स्विच करने के लिए एक कीबोर्ड शॉर्टकट है ।

वैकल्पिक शब्द

क्या किसी विशिष्ट भाषा पर स्विच करना संभव है ? इसलिए यदि आपके पास 3 इनपुट विधियां हैं, तो आपके पास 3 शॉर्टकट हो सकते हैं: Ctrl-1अंग्रेजी के लिए, Ctrl-2स्पेनिश के लिए और Ctrl-3रूसी के लिए।


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

मुझे इंटरफ़ेस भाषाओं को बदलने में कोई दिलचस्पी नहीं है। केवल इनपुट भाषाओं में रुचि है।
निकम

मैंने आपके प्रश्न को सुव्यवस्थित और स्पष्ट किया। कृपया उल्टा करें अगर आपको लगता है कि मैंने कुछ गलत किया है (मैं ऐसा करने के लिए नया हूं)।
डैनियल बेक

जवाबों:


7

मैं आपके सामने पेश करता हूं, सबसे पुराना संभव "समाधान":

  • सिस्टम वरीयताएँ »यूनिवर्सल एक्सेस , में सहायक उपकरणों के लिए समर्थन सक्षम करें
  • और सिस्टम वरीयताएँ »भाषा और पाठ में मेनूबार में इनपुट स्रोत मेनू प्रदर्शित करना ।
  • सुनिश्चित करें कि शॉर्टकट सिस्टम प्राथमिकता »कीबोर्ड» कीबोर्ड शॉर्टकट »कीबोर्ड और पाठ इनपुट में स्थिति मेनू पर ध्यान केंद्रित करने केCtrl-F8 लिए परिभाषित किया गया है ।
  • सुनिश्चित करें कि इनपुट स्रोत मेनू सबसे बाईं मेनू आइटम है जिसे Cmdनीचे दबाए रखते हुए ले जाया जा सकता है ।

AppleScript Editorतीन स्क्रिप्ट्स का उपयोग करें और लिखें, उनमें से प्रत्येक निम्नलिखित कोड के साथ:

tell application "System Events"
    key code 100 using control down # press Ctrl-F8
    delay 0.5 # wait a bit, UI might be slow
    key code 125 # press down to open the menu
    keystroke "german" # name of your desired language, in my case tested using German
    key code 36 # press enter
end tell

प्रत्येक भाषा के लिए एक बार सहेजें, भाषा का नाम बदलकर। यदि आप अलग-अलग कुंजियाँ दबाना चाहते हैं, या यहाँ से कुछ अलग असाइन करना चाहते हैं, तो यहाँCtrl-F8 कुंजी कोड के साथ स्थानापन्न करें । आप कुछ दाईं ओर तीर कुंजी दबाकर इनपुट स्रोत मेनू को उसकी बाईं ओर से स्थानांतरित कर सकते हैं ।

हालाँकि, आप जो स्क्रिप्ट चाहते हैं, उन्हें अपने एप्लिकेशन लॉन्चर (क्विकसिल्वर, लॉन्चरबार आदि) का उपयोग करें या उन्हें ऑटोमोटिव का उपयोग करने वाली सेवाओं में लपेटें, और सिस्टम वरीयताएँ »कीबोर्ड» कीबोर्ड शॉर्टकट »सेवाओं में कीबोर्ड शॉर्टकट असाइन करें ।


1
@ निकम ने काम किया?
डैनियल बेक

1
हाँ, यह काम किया।
निकम

1
एंडा, डैनियल, हालांकि मैंने एक और समाधान चुना है, फिर भी मुझे एक्शन स्क्रिप्ट और सेवाओं से
परिचित

@ निक्केम आपका स्वागत है। यदि आपको यह उत्तर उपयोगी लगता है, तो कृपया इसके आगे "अप ऐरो ट्रायंगल" पर क्लिक करके मेरे उत्तर को वोट करें। आप एक उत्तर भी स्वीकार कर सकते हैं (यह दर्शाता है कि यह एक ऐसा उत्तर है जो आपको सबसे अच्छा लगता है, और अपनी समस्या को हल करने पर विचार करें) इसके बगल में टिक मार्क पर क्लिक करके। वैसे, ActionScript Adobe है, यह AppleScript है।
डैनियल बेक

@ डैनियल वास्तव में, मुझे नहीं पता कि कौन सा सुझाव देना चाहिए। मैंने मुझे चुना है, लेकिन तुम्हारा अधिक व्यापक रूप से उपयोग करने योग्य है ...
निकम

12

मैं AppleScript में कुछ अच्छे समाधान के साथ आया था, आपको उस कीबोर्ड लेआउट का नाम पता है जिसे आप स्विच करना चाहते हैं। इस तरह एक समारोह बनाएँ:

on changeKeyboardLayout(layoutName)
 tell application "System Events" to tell process "SystemUIServer"
   tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
 end tell
end changeKeyboardLayout

और फिर इसे कॉल करें

 changeKeyboardLayout("English")
 changeKeyboardLayout("German")

ध्यान रखें कि कीबोर्ड लेआउट के नाम स्थानीयकृत हैं, अर्थात जर्मन सिस्टम पर उपरोक्त उदाहरण को "एंग्लिश" और "Deutsch" को कॉल करना होगा।


निश्चित रूप से मेरी तुलना में अच्छा है। मुझे वास्तव में अपने AppleScript को ठीक से सीखना चाहिए।
डैनियल बेक

इसने कई वर्षों तक पूरी तरह से काम किया लेकिन कैटालिना के साथ ऐसा लगता है कि "इनपुट टेक्स्ट" अब मेन्यू बार में सुलभ नहीं है
फ्रैंक मितलबेक

6

एक विकल्प changeInput डाउनलोड करना और शेल कमांड जैसे शॉर्टकट असाइन करना होगा changeInput U.S.

आप KeyRemap4MacBook का उपयोग भी कर सकते हैं:

<?xml version="1.0"?>
<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>change_inputsources</name>
    <identifier>change_inputsources</identifier>
    <autogen>__KeyToKey__ KeyCode::E, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH</autogen>
    <autogen>__KeyToKey__ KeyCode::H, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

निजी . xml प्रलेखन देखें ।

VK_CHANGE_INPUTSOURCE_ENGLISH को vkchangeinputsourcedef.xml में परिभाषित किया गया है । आप EventViewer.app से इनपुट स्रोतों की आईडी देख सकते हैं। बिना | ModifierFlag::NONEउदाहरण के लिए पहले सेटिंग भी विकल्प-कमांड ई पर लागू होगा। कुंजी कोड मानों और पूर्वनिर्धारित सेटिंग्स के लिए स्रोत देखें ।


4

मुझे पता है कि यह एक पुराना सवाल है। लेकिन 2016 के अंत में, मुझे अभी भी एक सरल और अच्छा समाधान नहीं मिला। इसलिए, मैंने IMEShortcuts बनाया , सिएरा पर काम करता है। आप किसी भी विशिष्ट इनपुट विधि के लिए एक अनुकूलित शॉर्टकट असाइन कर सकते हैं। कृपया इसे एक शॉट दें। और अगर आप लोगों को कोई कीड़े मिले, तो मुझे मदद करने में खुशी होगी।

इसके अलावा, karabiner (KeyRemap4MacBook के रूप में जाना जाता है) मैक के लिए एक महान कुंजीपटल कस्टमाइज़ किया गया है। लेकिन यह थोड़ा जटिल है और वर्तमान में सिएरा पर टूट गया है। यदि आप Yosemite या El Capitan का उपयोग कर रहे हैं, तो यह एक और अच्छा विकल्प होगा।


IMEShortcuts के लिए धन्यवाद! यह बहुत अच्छा है। मैं ख़ुशी से $ 5 या इसके लिए भुगतान करूँगा यदि आपने सक्रिय भाषा दिखाने के लिए मेनूबार में आइकन जोड़े हैं (इसलिए मुझे अपने मेनू में स्थान लेने के लिए किसी को भी IMEshortcuts और ऐप आइकन की आवश्यकता नहीं होगी)। मैं उपयोग किए गए आइकन को अनुकूलित करने में भी सक्षम होना चाहता हूं - उदाहरण के लिए मैं कनाडाई फ्रांसीसी इनपुट का उपयोग करना चाहता हूं, क्योंकि यह यूएस QWERTY के करीब है, लेकिन मैं एक फ्रांसीसी ध्वज देखना चाहता हूं क्योंकि एक कनाडाई ध्वज "फ्रांसीसी" का प्रतीक नहीं है मुझे। उन चीजों को यह भयानक बना देगा!
iconoclast

चेतावनी का शब्द: यदि आपने पहले से ही IMEShortcuts को पहले से डाउनलोड नहीं किया है (डोमेन पंजीकरण समाप्त होने से पहले और क्रोम एक्सटेंशन मैलवेयर के साथ एक स्क्वैटर पेज द्वारा बदल दिया गया है), तो जब तक कि संबोधित नहीं किया गया है, तब तक कुछ भी हड़प नहीं सकता।
इकोमानोट

1

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

विपक्ष: - तीसरे पक्ष के आवेदन - अब के लिए केवल सीमित भाषा समर्थन

पेशेवरों: - वैचारिक रूप से थोड़ा सा अच्छा है कि UI पर स्क्रिप्ट चल रहा है


मुझे वेब साइट पर इनपुट स्रोतों के लचीले उपयोग से संबंधित कुछ भी नहीं मिला, केवल रूसी / अंग्रेजी से संबंधित कुछ कठिन-कोडित क्रियाएं। क्या आप विस्तार से समझा सकते हैं?
डैनियल बेक

यह लचीला नहीं है। यह सिर्फ ऐसा होता है कि यह अंग्रेजी और रूसी (और अब Ma) पर स्विच करने का समर्थन करता है, जो कि मेरी जरूरत की भाषाएं हैं। और यह आपको उन कार्यों के लिए मनमाने ढंग से कुंजी संयोजनों को मैप करने की अनुमति देता है। मेरे मामले में भाषा पर स्विच करना।
निकम

मुझे यह पता लगाने में मुश्किल समय हो रहा है कि इसे कारबिनियर के साथ कैसे सेट किया जाए।
इवान बलाशोव

1

AppleScript पर आपको केवल cmd + "space" (या कुछ और, जिसे आप कीबोर्ड स्रोत बदलते हैं) लेना होगा।

और आपको क्या चाहिए:

    key code 49 using command down

49 - AppleScript के लिए ASCII में 'स्पेस' बटन का कोड।

पुनश्च: आप सिस्टम वरीयताएँ में AppleScript उपयोगिता के लिए उपयोग करना मत भूलना।


1

मिला कावा - बिल्कुल आपकी जरूरतों को पूरा करने के लिए काफी सरल ऐप। आवश्यक इनपुट स्रोत पर सीधे स्विच करने के लिए शॉर्टकट सेट करें।


1
सुपर उपयोगकर्ता में आपका स्वागत है। कृपया अनुशंसा करें कि सॉफ़्टवेयर की अनुशंसा कैसे करें फिर कम से कम आवश्यक जानकारी ( बोल्ड में आइटम ) को शामिल करने के लिए अपने उत्तर को संपादित करें । इस जानकारी के बिना पद विलोपन के अधीन हो सकते हैं। योगदान के लिए धन्यवाद।
मैं कहता हूं कि मोनिका

0

इस लिंक पर एक वीडियो है कि इसे कैसे करना है। इसमें पहले से ही "कमांड + स्पेस" वाला एक हॉटकेक है, लेकिन स्पॉटलाइट हॉट-की "कमांड + स्पेस" भी है। स्पॉटलाइट हॉट-की पर सवार होता है, इसलिए भाषा स्विच नहीं होता है। लिंक में मौजूद वीडियो आपको दिखाएगा कि हॉट-की को कैसे बदला जाए ताकि आप हॉट-की को टॉगल कर सकें।

शुभ लाभ,


1
वह पहले से ही जानता है कि भाषाओं के बीच कैसे स्विच करना है, वह एक विशिष्ट पर स्विच करना चाहता है , क्योंकि वह संभवतः 2 से अधिक सक्रिय है।
डैनियल बेक

हाँ, बिल्कुल जैसा कि डैनियल ने कहा। मेरे पास 3 इनपुट भाषाएं हैं और एक विशिष्ट का चयन करने की आवश्यकता है।
निकम

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