Keyboard Events (triggered when a key from the keyboard is pressed) are detected with the KeyboardEvent object.
The KeyboardEvent comes in two types:

KeyboardEvent has 6 properties:
- The code values for "charCode" and "keyCode" are dependent on the operating system and keyboard being used. The examples here are for Windows.
- To detect in a Flash presentation which key is pressed, apply the addEventListener() method (with KeyboardEvent) to Stage (to the stage object).

Here's an example with "KeyboardEvent" and KEY_DOWN, in which the "keyCode" property is used.
We create a Flash presentation with a rectangle (or what shape you want) that can be moved with the arrow keys. Also, it uses the "shiftKey" property to modify the motion speed when the Shift key is pressed.
- Follow this steps:
  1. Open a new Flash document, ActionScript 3.0, and draw a rectangle (or what shape you want) on the Stage.
  2. Select the shape on the Stage and convert it into MovieClip (from Modify -> Convert to Symbol, and for Type choose Movie Clip, and press OK).
    Then, open the Properties panel, and add the instance name rectangle for this MovieClip object (in the box with "<Instance Name>").
  3. Right-click on Frame 1 in the Timeline, choose Actions, then in the "Actions panel" add the following code:
    // Register a KeyboardEvent, applied to the "stage" object, to detect when a key is pressed
    // addEventListener is applied to the 'stage' object, to be active in all the presentation
    stage.addEventListener(KeyboardEvent.KEY_DOWN, moveF);
    // Function called by the registered event
    function moveF(key_evt:KeyboardEvent):void
      // define a variable with a value that depends on "shiftKey" (used to set the motion speed)
      var vi:int = key_evt.shiftKey ? 12 : 2;
      // define a "switch" instruction with values and instructions for arrow keys
      // uses the code valuess for the arrow keys: Left, Right, Down, Up
      switch (key_evt.keyCode)
      case 37:
        rectangle.x -= vi;
      case 39:
        rectangle.x += vi;
      case 38:
        rectangle.y -= vi;
      case 40:
        rectangle.y += vi;
  4. Press Ctrl+Enter to test the result. The following Flash presentation will appear:
    - When you press the arrows keys, the rectangle will move in the direction indicated by each arrow (first click on the presentation).
    - If you hold the Shift key pressed, the motion speed will increase.
- The expression "var vi:int = key_evt.shiftKey ? 12 : 2;" defines the value of 12 if "key_evt.shiftKey" is TRUE (when Shift is pressed) or 2 if it's FALSE (Shift is not pressed).
- The "switch" instruction modifies the 'x' and 'y' values for the "rectangle" instance (X and Y distance), with the value of the "vi" variable, depending on the arrow key you press (a "case" for each arrow key).

• To find out the code for each key, you can use the following ActionScript code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyC);
function keyC(key:KeyboardEvent):void { trace(key.keyCode); }
// Displays in the Output panel the code value of the key pressed

To download the FLA file with this example, click: Keyboard events.

Daily Test with Code Example

Which tag adds a new line into a paragraph?
<b> <br> <p>
First line ...<br>
Other line...
Which CSS property can be used to add space between letters?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
What JavaScript function can be used to get access to HTML element with a specified ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
Click on the "echo" correct instruction.
echo "" echo ""; echo """;
echo "Address URL:";
KeyboardEvent - Events for Keyboard

Last accessed pages

  1. Qwop (20171)
  2. PHP MySQL - WHERE and LIKE (13598)
  3. PHP PDO - prepare and execute (4457)
  4. Zuma Deluxe (26721)
  5. Insert, Select and Update NULL value in MySQL (14341)

Popular pages this month

  1. Qwop (4177)
  2. Bubbles3 (3586)
  3. Butterfly Kyodai (2552)
  4. Zuma Deluxe (2352)
  5. Backgammon (1216)