web-dev-qa-db-ja.com

Macでキーストロークのシーケンスを自動化する

特定のWebサイトを使用するたびに入力する必要がある一連のキーストロークを自動化したい。 Mac OS Xでそれを行う方法を教えてください。Automatorを試しました。シーケンスを記録しましたが、実行すると次のエラーが発生しました。

アクション「ウォッチミードゥ」でエラーが発生しました。

アクションのプロパティを確認して、ワークフローの実行を再試行してください。

10
Daniel Cukier

これを行うために、次の内容のRun AppleScriptオブジェクトを使用してオートマトンワークフローを作成しました。

on run {input, parameters}

tell application "Google Chrome" to activate

tell application "System Events"
    keystroke "A"
    keystroke "B"
    keystroke "C"
end tell

return input
 end run

これは私にとってはうまくいきました

14
Daniel Cukier

独自のスクリプトを作成するだけでなく、 Keyboard Maestro を使用して、このようなキーシーケンスを作成できます。

3
Matthew Shanley

Keyboard MaestroiKey または QuicKeys のようなアプリケーションでマクロを作成できます。それらの多くは、Keyboard Maestroのクイックマクロのようなものもサポートしています。 ⌃F1を押してマクロの記録を開始または停止し、⌥F1でマクロを再生できます。

AppleScriptを使用してキー入力をエミュレートすることもできます。 FastScripts を指定してスクリプトを実行する場合、開始時の遅延は必要ありません。

delay 0.5 -- if the script is run with a shortcut that has modifier keys
activate application "TextEdit"
tell application "System Events"
    keystroke "aa"
    key code 123 using {shift down, command down}
end tell

keystrokeコマンドは、現在のキーボードレイアウトに含まれている文字を挿入するためにのみ使用できます。テキストが十分に長い場合、挿入時に目に見える遅延もあります。

テキストを挿入するもう1つの方法は、クリップボードを使用することです。

set the clipboard to "aa"
delay 0.05
tell application "System Events" to keystroke "v" using command down
2
Lri

iKey および QuicKeys も確認する必要があります。この場合、どちらもAutomator/AppleScriptよりも多くのことをすることはないと思いますが、それ以外の場合は便利です。

0
wfaulk

残念ながら、これらまたはワークフローのいずれにもマウスクリック関数を追加することはできません。 Applescriptでさえ、アプリでのマウスクリックの実装は困難です。

0
S Louie