AppleScript でユーザーがキーを押したことを検出することはできません。ただし、プログラムでキーを押すことはできます。キーを押し続ける問題を解決するには、「key down」コマンドを使用し、離す必要があるときに「key up」コマンドを発行します。これは、どのアプリケーションでも機能します。これが例です。
tell application "KeyboardViewer" to activate
tell application "System Events"
try --don't even consider not using a try block because down keys can get stuck!
key down control
delay 1
key down shift
delay 1
key down option
delay 1
key down command
delay 1
key up control
delay 1
key up shift
delay 1
key up option
delay 1
key up command
delay 1
key down {control, shift, option, command}
delay 1
key up {control, shift, option, command}
on error --logging out is the only other way to unstick these
key up {control, shift, option, command}
end try
end tell
tell application "KeyboardViewer" to quit
注: いくつかのキーを順番に押して離したい場合は、「キーストローク」コマンドを使用することもできます。たとえば、command-s を押すには、次のようにします。
tell application "System Events"
keystroke "s" using command down
end tell