Wrapper; Input; char value was passed incorrectly to host applications, corrected to handle typing simpler

This commit is contained in:
underscorediscovery
2014-02-27 14:08:41 -03:30
parent cf340c9394
commit c4bc1ff140

View File

@@ -119,20 +119,22 @@ class InputHandler {
lib.host.onchar({
raw : _event,
code : _event.code,
char : _event.char,
char : _event.code,
value : _event.value,
flags : _event.flags,
key : lime.helpers.Keys.toKeyValue(_event)
});
}
_event.char = _event.code;
lime_onkeydown( _event );
} //lime_onchar
@:noCompletion public function lime_onkeydown(_event:Dynamic) {
if(lib.host.onkeydown != null && !keys_down.exists(_event.value)) {
var _keyvalue = lime.helpers.Keys.toKeyValue(_event);
@@ -144,6 +146,13 @@ class InputHandler {
//flag it as down, because keyup removes it
key_value_down.set(_keyvalue, true);
//some characters can come directly, not via the onchar,
//but we want end user to only require one check,
//if(event.char != 0) { //printable key } else { //other keys }
if(_event.char == null) {
_event.char = 0;
}
lib.host.onkeydown({
raw : _event,
code : _event.code,