User Guide
329
on keyDown
Syntax
on keyDown
statement(s)
end
Description
System message and event handler; contains statements that run when a key is pressed.
When a key is pressed, Director searches these locations, in order, for an
on keyDown handler:
primary event handler, editable field sprite script, field cast member script, frame script, and movie
script. For sprites and cast members,
on keyDown handlers work only for editable text and field
members. A
keyDown event on a different type of cast member, such as a bitmap, has no effect. (If
pressing a key should have the same response throughout the movie, set
keyDownScript.)
Director stops searching when it reaches the first location that has an
on keyDown handler, unless the
handler includes the
pass command to explicitly pass the keyDown message on to the next location.
The
on keyDown event handler is a good place to put Lingo that implements keyboard shortcuts
or other interface features that you want to occur when the user presses keys.
The Director player for Java responds to
keyDown messages only if the movie has focus in the
browser. The user must click in the applet before the applet can receive any keys that the user types.
When the movie plays back as an applet, an
on keyDown handler always traps key presses, even if
the handler is empty. If the user is typing in an editable field, an
on keyDown handler attached to
the field must include the pass command for the key to appear in the field.
Where you place an
on keyDown handler can affect when it runs.
• To apply the handler to a specific editable field sprite, put the handler in a sprite script.
• To apply the handler to an editable field cast member in general, put the handler in a cast
member script.
• To apply the handler to an entire frame, put the handler in a frame script.
• To apply the handler throughout the entire movie, put the handler in a movie script.
You can override an
on keyDown handler by placing an alternative on keyDown handler in a
location that Lingo checks before it gets to the handler you want to override. For example, you
can override an
on keyDown handler assigned to a cast member by placing an on keyDown
handler in a sprite script.
Example
This handler checks whether the Return key was pressed and if it was, sends the playhead to
another frame:
on keyDown
if the key = RETURN then go to frame "AddSum"
end keyDown
See also
charToNum(), keyDownScript, keyUpScript, key(), keyCode(), keyPressed()