View comments | RSS feed

Key.getAscii()

Availability

Flash Player 5.

Usage

Key.getAscii() : Number

Parameters

None.

Returns

A number; an integer that represents the ASCII value of the last key pressed.

Description

Method; returns the ASCII code of the last key pressed or released. The ASCII values returned are English keyboard values. For example, if you press Shift+2, Key.getAscii() returns @ on a Japanese keyboard, which is the same as it does on an English keyboard.

Example

The following example calls the getAscii() method any time a key is pressed. The example creates a listener object named keyListener and defines a function that responds to the onKeyDown event by calling Key.getAscii(). For more information, see "Using event listeners" in Using ActionScript in Flash. The keyListener object is then registered to the Key object, which broadcasts the onKeyDown message whenever a key is pressed while the SWF file plays.

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
   trace("The ASCII code for the last key typed is: "+Key.getAscii());
};
Key.addListener(keyListener);

When using this example, make sure that you select Control > Disable Keyboard Shortcuts in the test environment.

The following example adds a call to Key.getAscii() to show how the two methods differ. The main difference is that Key.getAscii() differentiates between uppercase and lowercase letters, and Key.getCode() does not.

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
   trace("For the last key typed:");
   trace("\tThe Key code is: "+Key.getCode());
   trace("\tThe ASCII value is: "+Key.getAscii());
   trace("");
};
Key.addListener(keyListener);

When using this example, make sure that you select Control > Disable Keyboard Shortcuts in the test environment.


Comments


TomLScholes said on Apr 28, 2005 at 3:20 AM :
Key.getAscii() does not work if flash sprite is embedded in a Director shell.
try the following code in an embedded flash sprite:

Key.addListener(this);
this.onKeyUp = function(){
alertstring = "lingo:alert(\"" + Key.getCode() + "\")"
getURL(alertstring);
}
-------
result is invariably '0' whatever key is pressed.
Key.getCode() is also unreliable.
TomLScholes said on Apr 28, 2005 at 3:38 AM :
notes on above:
1) 3rd line of code should have been:
alertstring = "lingo:alert(\"" + Key.get Ascii() + "\")";

2) after further testing, it seems both work fine in the authoring environment, but fail when run through a stub-type projector.
No screen name said on Jul 28, 2005 at 3:20 AM :
"The ASCII values returned are English keyboard values"

sorry this is not true, it should read "USA Keyboard values", shift + 2 on an english keyboard is a double quote not an @ sign
No screen name said on Aug 5, 2005 at 1:17 PM :
Does anyone know of a way to get the ascii character return for the correct languange... rather than just returning the English Ascii Value.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/flash/mx2004/main_7_2/00001386.html