キーストロークを発生させる

今日の他人クエストは、キーストロークを発生させる(コンピュータのキーボードを押すことを再現する)にはどうするか?でございました。しかも、MaxからAbleton Liveをコントロールしたいらしくって、セッションビューでのクリップの選択を左右上下キーで移動して、returnキーで再生・停止したいってわけです。外部コントロールが充実しているLiveですが、これはMIDIコントロールできないようです(Mackie Controlプロトコルならできるみたいだけど、面倒そう…)。

解決策:AppleScriptでSystem Eventsを使う。

LiveはAppleScript対応じゃないんですけど、これくらいならSystem Eventsでできちゃいます。例えば、Liveで右キーを押すのは次のようなスクリプトね。

tell application "Live"
activate
end tell

tell application "System Events"
key code 124
end tell

124ってのが右キーのキーコードで、keyオブジェクトなら2番目のアウトレットから出力される数値です。汎用的に使うには、アプリケーション名やキーコードを引数にして渡せるようにすればイイですね。

後は、このスクリプトをファイル保存しておいて、tap.applescriptオブジェクトかosascriptコマンド入りのaka.shellオブジェクトでMaxから呼び出せばオッケイでございます。

ちなみに、System Eventsを使うには、ユニバーサルアクセス環境設定の「補助装置を使用可能にする」をオンにしておく必要があります。また、key codeコマンドではcommandキーなどの併用も指定できるし、文字列を入力するにはkeystrokeコマンドも使えますね。このあたりは、他のアプリを操作するのに役立ちそう。

キーストロークを発生させる” に1件のフィードバックがあります

  1. ピンバック: 2061:Maxオデッセイ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です