Mac OS Xで、切り替えるためのキーボードショートカットが存在する間に活性化された入力ソース。
それは切り替えることが可能であるに特定の言語?したがって、3つの入力メソッドがある場合Ctrl-1
、英語、Ctrl-2
スペイン語、Ctrl-3
ロシア語の3つのショートカットを使用できます。
Mac OS Xで、切り替えるためのキーボードショートカットが存在する間に活性化された入力ソース。
それは切り替えることが可能であるに特定の言語?したがって、3つの入力メソッドがある場合Ctrl-1
、英語、Ctrl-2
スペイン語、Ctrl-3
ロシア語の3つのショートカットを使用できます。
回答:
私はあなたに、最もuい可能な「解決策」を提示します:
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")
キーボードレイアウトの名前はローカライズされていることに注意してください。つまり、ドイツのシステムでは、上記の例では「Englisch」と「Deutsch」を呼び出す必要があります。
1つのオプションは、ダウンロードすることです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>
private.xmlのドキュメントを参照してください。
VK_CHANGE_INPUTSOURCE_ENGLISHはvkchangeinputsourcedef.xmlで定義されています。EventViewer.appから入力ソースのIDを確認できます。なければ| ModifierFlag::NONE
、例えば、第1設定は、オプションのコマンド-Eに適用されます。キーコードの値と定義済みの設定については、ソースを参照してください。
私はそれが古い質問であることを知っています。しかし、2016年の終わりでも、私はまだシンプルで良い解決策を見つけられませんでした。したがって、私はIMEShortcutsを作成し、Sierraで動作します。特定の入力方法にカスタマイズされたショートカットを割り当てることができます。試してみてください。そして、もし皆さんがバグを見つけたら、喜んでお手伝いします。
また、Karabiner(KeyRemap4MacBookとして知られています)は、Mac用の優れたキーボードカスタマイザーです。しかし、それは少し複雑で、現在Sierraでは壊れています。YosemiteまたはEl Capitanを使用している場合は、別の良い選択です。
私が最も満足している別の解決策があります。KeyRemap4MacBookは、キーボードボタンを再マップできるアプリケーションです。特に、言語の変更を完全にではなく一部でサポートできます。だから私たちはいくつかのカスタム構成が私が望むことをします。
短所:-サードパーティのアプリケーション-現時点では限定的な言語サポートのみ
長所:-概念的には、UIでスクリプトを実行するよりも少し良い
AppleScriptでは、cmd + "space"(または他の何か、キーボードのソースを変更するもの)のみを使用する必要があります。
そして、必要なものすべて:
key code 49 using command down
49-AppleScript用のASCIIの「スペース」ボタンのコード。
PS:システム環境設定でAppleScriptユーティリティにアクセスできることを忘れないでください。
Found kawa-まさにあなたのニーズを満たす非常にシンプルなアプリ。ショートカットを設定して、必要な入力ソースに直接切り替えます。
このリンクには、その方法に関するビデオがあります。「コマンド+スペース」というホットケーキが既にありますが、スポットライトホットキーは「コマンド+スペース」でもあります。Spotlightはホットキーを上書きするため、言語の切り替えは発生しません。リンク内のビデオでは、ホットキーを切り替えてホットキーを切り替える方法を説明します。
がんばろう、