コマンドキーやシフトキーなど修飾キーも同時に入力する

説明

YosemiteのJXAではキー入力をシミュレートすることができ、コマンドキーやシフトキーなど修飾キーも扱えます。まず、sys = Application("System Events")としてシステムイベントを扱えるオブジェクトを取得します。キー入力はkeystroke()メソッドを使います。入力したい文字を最初のパラメーターに指定します。コマンドキーを組み合わせる場合は2番目のパラメーターに{ using : "command down" }のように指定します。1つの修飾キーの場合は、この方法で構いませんが、他のキーも組み合わせる場合は{ using : ["command down", "shift down"] }のように配列形式で指定します。オプションキーの場合は"option down"、コントロールキーの場合は"control down"の文字になります。なお、キーボードショートカットをシミュレートする場合、keystroke()の最初のパラメーターに指定する英文字は小文字にしてください。プルダウンメニューに表示されるような英大文字を指定すると動作しません。

サンプル [サンプルをダウンロード]

var TextEdit = Application("TextEdit");
TextEdit.activate(); // アクティブにする
delay(1); // アクティブになり切り替わるのを少し待つ
sys = Application("System Events");
sys.keystroke("a", { using: "command down"}); // Command+Aを入力
sys.keystroke("p", { using: ["command down", "shift down"]}); // Command+Shift+Pを入力
<< 目次に戻る