Mac OS Xには、アクティブ化された入力ソースを切り替えるためのキーボードショートカットがあります間。
to特定の言語に切り替えることは可能ですか?したがって、3つの入力メソッドがある場合、3つのショートカットを使用できます。Ctrl-1
英語の場合、Ctrl-2
スペイン語およびCtrl-3
ロシア語の場合。
私はあなたに、可能な限り醜い「解決策」を提示します:
Ctrl-F8
がステータスメニューにフォーカスを移動に定義されていることを確認します。Cmd
を押しながらドラッグして移動できる左端のメニュー項目であることを確認してください。AppleScript Editor
を使用して、次のコードを使用して3つのスクリプトを記述します。
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
言語ごとに1回保存し、言語の名前を切り替えます。別のキーを押す場合、またはCtrl-F8
とは異なるものを割り当てる場合は、キーコード ここ に置き換えてください。 右矢印キーを数回押すことで、[入力ソース]メニューを左端の位置から移動することもできます。
必要に応じてスクリプトを呼び出します。アプリケーションランチャー(Quicksilver、Launchbarなど)を使用するか、Automatorを使用してサービスでラップし、システム環境設定"キーボード"キーボードショートカット"サービスでキーボードショートカットを割り当てます。
切り替えたいキーボードレイアウトの名前がわかっているので、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")
キーボードレイアウトの名前はローカライズされていることに注意してください。つまり、ドイツのシステムでは、上記の例では「英語」と「ドイツ語」を呼び出す必要があります。
1つのオプションは、changeInput U.S.
のように changeInput および シェルコマンドにショートカットを割り当てる をダウンロードすることです。
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>
private.xmlドキュメント を参照してください。
VK_CHANGE_INPUTSOURCE_ENGLISHは vkchangeinputsourcedef.xml で定義されています。 EventViewer.appから入力ソースのIDを確認できます。たとえば、| ModifierFlag::NONE
がないと、最初の設定はoption-command-Eにも適用されます。 キーコード値 および 事前定義された設定 のソースを参照してください。
私はそれが古い質問であることを知っています。しかし、2016年の終わりにさえ、私はまだシンプルで素晴らしい解決策を見つけられませんでした。したがって、私は IMEShortcuts を作成し、Sierraで動作します。特定の入力方法にカスタマイズされたショートカットを割り当てることができます。試してみてください。そして、皆さんがバグを見つけたら、喜んでお手伝いします。
また、 Karabiner (KeyRemap4MacBookとして知られています)は、Mac用の優れたキーボードカスタマイザーです。しかし、それは少し複雑で、現在シエラでは壊れています。 YosemiteまたはElCapitanを使用している場合は、もう1つの優れた選択肢になります。
見つかりました kawa -あなたのニーズを正確に満たす非常にシンプルなアプリ。必要な入力ソースに直接切り替えるためのショートカットを設定します。
私が最も満足している別の解決策があります。 KeyRemap4MacBook は、キーボードボタンを再マップできるアプリケーションです。とりわけ、言語変更のサポートを完全ではありませんが一部可能にします。だから私たちはいくつかのカスタム構成が私が望むことをします。
短所:-サードパーティアプリケーション-現時点では限られた言語サポートのみ
長所:-概念的には、UIでスクリプトを実行するよりも少し優れています
AppleScriptでは、cmd +「スペース」(またはキーボードソースを変更するもの)のみを使用する必要があります。
そして、あなたが必要とするすべてのもの:
key code 49 using command down
49-AppleScriptのASCIIの「スペース」ボタンのコード。
追伸:システム環境設定でAppleScriptユーティリティにアクセスすることを忘れないでください。
これ リンク それを行う方法についてのビデオがあります。すでに「コマンド+スペース」のホットケーキがありますが、スポットライトのホットキーも「コマンド+スペース」です。 Spotlightはホットキーを上書きするため、言語の切り替えは発生しません。リンクのビデオでは、ホットキーを切り替えてホットキーを切り替える方法を紹介しています。
幸運を、