 	// PUBLIC INTERFACE -----------------------------------------------------------------------------------------------
 
 	public function matchesKeyboardKey(__keyCode:uint, __keyLocation:uint):Boolean {
-		return keyCode == __keyCode && (keyLocation == __keyLocation || keyLocation == KEY_LOCATION_ANY);
+		return (keyCode == __keyCode || keyCode == KEY_CODE_ANY) && (keyLocation == __keyLocation || keyLocation == KEY_LOCATION_ANY);
 	}
 
 	// TODO: add modifiers?

		 *
		 * @see flash.ui.Keyboard
		 */
		public function addKeyboardActionBinding(__action:String, __keyCode:uint, __keyLocation:int = -1):void {
			// TODO: use KeyActionBinder.KEY_LOCATION_ANY as default param? The compiler doesn't like constants.

			// Create a binding to be verified later
			bindings.push(new BindingInfo(__action, new KeyboardBinding(__keyCode, __keyLocation >= 0 ? __keyLocation : KeyboardBinding.KEY_LOCATION_ANY)));
			prepareAction(__action);
		}


class KeyboardBinding implements IBinding {

	// Constants
	public static var KEY_CODE_ANY:uint = 81653812;
	public static var KEY_LOCATION_ANY:uint = 8165381;

	// Properties
