Add key modifier support to Flash key events and use KeyCode/KeyModifier instead of Int (can still override using Int)
This commit is contained in:
@@ -14,6 +14,7 @@ import lime.app.Config;
|
||||
import lime.audio.AudioManager;
|
||||
import lime.graphics.Renderer;
|
||||
import lime.ui.KeyCode;
|
||||
import lime.ui.KeyModifier;
|
||||
import lime.ui.Window;
|
||||
|
||||
@:access(lime.app.Application)
|
||||
@@ -154,15 +155,15 @@ class FlashApplication {
|
||||
if (parent.window != null) {
|
||||
|
||||
var keyCode = convertKeyCode (event.keyCode);
|
||||
var modifier = 0;
|
||||
var modifier = (event.shiftKey ? (KeyModifier.SHIFT) : 0) | (event.ctrlKey ? (KeyModifier.CTRL) : 0) | (event.altKey ? (KeyModifier.ALT) : 0);
|
||||
|
||||
if (event.type == KeyboardEvent.KEY_DOWN) {
|
||||
|
||||
parent.window.onKeyDown.dispatch (keyCode, 0);
|
||||
parent.window.onKeyDown.dispatch (keyCode, modifier);
|
||||
|
||||
} else {
|
||||
|
||||
parent.window.onKeyUp.dispatch (keyCode, 0);
|
||||
parent.window.onKeyUp.dispatch (keyCode, modifier);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package lime.app;
|
||||
|
||||
import lime.graphics.RenderContext;
|
||||
import lime.graphics.Renderer;
|
||||
import lime.ui.KeyCode;
|
||||
import lime.ui.KeyModifier;
|
||||
import lime.ui.Window;
|
||||
|
||||
|
||||
@@ -140,7 +142,7 @@ class Application extends Module {
|
||||
* @param keyCode The code of the key that was pressed
|
||||
* @param modifier The modifier of the key that was pressed
|
||||
*/
|
||||
public function onKeyDown (keyCode:Int, modifier:Int):Void { }
|
||||
public function onKeyDown (keyCode:KeyCode, modifier:KeyModifier):Void { }
|
||||
|
||||
|
||||
/**
|
||||
@@ -148,7 +150,7 @@ class Application extends Module {
|
||||
* @param keyCode The code of the key that was released
|
||||
* @param modifier The modifier of the key that was released
|
||||
*/
|
||||
public function onKeyUp (keyCode:Int, modifier:Int):Void { }
|
||||
public function onKeyUp (keyCode:KeyCode, modifier:KeyModifier):Void { }
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,8 +15,8 @@ class Window {
|
||||
public var config:Config;
|
||||
public var fullscreen:Bool;
|
||||
public var height:Int;
|
||||
public var onKeyDown = new Event<Int->Int->Void> ();
|
||||
public var onKeyUp = new Event<Int->Int->Void> ();
|
||||
public var onKeyDown = new Event<KeyCode->KeyModifier->Void> ();
|
||||
public var onKeyUp = new Event<KeyCode->KeyModifier->Void> ();
|
||||
public var onMouseDown = new Event<Float->Float->Int->Void> ();
|
||||
public var onMouseMove = new Event<Float->Float->Int->Void> ();
|
||||
public var onMouseUp = new Event<Float->Float->Int->Void> ();
|
||||
|
||||
Reference in New Issue
Block a user