特定の入力ソースに切り替える

特定の入力ソースに切り替える

Mac OS Xでは、キーボードショートカットで切り替えることができます。アクティブ化された入力ソース。

代替テキスト

切り替えることは可能ですかCtrl-1特定の言語ですか? 入力方法が 3 つある場合は、英語、Ctrl-2スペイン語、ロシア語の3 つのショートカットを作成できますCtrl-3

答え1

考えられる最も醜い「解決策」を紹介します。

  • 補助機器のサポートを有効にするシステム環境設定 » ユニバーサルアクセス
  • メニューバーに入力ソースメニューを表示するシステム環境設定 » 言語とテキスト
  • ショートカット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を使用してサービスにラップし、キーボードショートカットを割り当てるなど、好きな方法で呼び出すことができます。システム環境設定 » キーボード » キーボードショートカット » サービス

答え2

切り替えたいキーボード レイアウトの名前がわかっている場合、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」を呼び出す必要があります。

答え3

一つの選択肢はダウンロードすることだ入力の変更そしてシェルコマンドにショートカットを割り当てるのように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入力ソースのIDはEventViewer.appから確認できます。例えば、| ModifierFlag::NONE最初の設定はoption-command-Eにも適用されます。キーコード値そして定義済み設定

答え4

これは古い質問だとわかっています。しかし、2016年の終わりになっても、私はまだシンプルで良い解決策を見つけられませんでした。そこで、IMEショートカットは、Sierra で動作します。特定の入力方法にカスタマイズされたショートカットを割り当てることができます。ぜひお試しください。バグが見つかった場合は、喜んでお手伝いします。

また、カラビナ(KeyRemap4MacBook として知られています) は、Mac 用の優れたキーボード カスタマイザーです。ただし、少し複雑で、現在 Sierra では機能しません。Yosemite または El Capitan を使用している場合は、これも良い選択肢になります。

関連情報