Repository: flex-asjs Updated Branches: refs/heads/develop 7400f1888 -> efb35eb20
Add preventDefault to keyboard events. Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/efb35eb2 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/efb35eb2 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/efb35eb2 Branch: refs/heads/develop Commit: efb35eb207c7d9b30edb7b11a279bbce6bc88310 Parents: 7400f18 Author: yishayw <yishayj...@hotmail.com> Authored: Wed Mar 15 10:48:59 2017 +0200 Committer: yishayw <yishayj...@hotmail.com> Committed: Wed Mar 15 10:48:59 2017 +0200 ---------------------------------------------------------------------- .../org/apache/flex/events/utils/KeyboardEventConverter.as | 8 +++++--- .../org/apache/flex/html/beads/DispatchKeyboardEventBead.as | 9 +++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/efb35eb2/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as index 24aa879..337539d 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as @@ -19,6 +19,7 @@ package org.apache.flex.events.utils { import org.apache.flex.events.KeyboardEvent; + import org.apache.flex.utils.OSUtils; COMPILE::SWF { @@ -53,7 +54,7 @@ package org.apache.flex.events.utils org.apache.flex.events.KeyboardEvent.KEY_UP; var newEvent:org.apache.flex.events.KeyboardEvent = new org.apache.flex.events.KeyboardEvent(type, key, code); newEvent.altKey = oldEvent.altKey; - // newEvent.ctrlKey = oldEvent.controlKey; // TODO +// newEvent.ctrlKey = oldEvent.controlKey; // TODO newEvent.specialKey = oldEvent.ctrlKey; return newEvent; } @@ -72,8 +73,9 @@ package org.apache.flex.events.utils var type:String = oldEvent.type == "keydown" ? "key_down" : "key_up"; var newEvent:org.apache.flex.events.KeyboardEvent = new org.apache.flex.events.KeyboardEvent(type, oldEvent.key, oldEvent.code); newEvent.altKey = oldEvent.altKey; - // newEvent.ctrlKey = oldEvent.controlKey; // TODO - newEvent.specialKey = oldEvent.ctrlKey; + newEvent.ctrlKey = oldEvent.ctrlKey; + newEvent.mataKey = oldEvent.metaKey; + newEvent.specialKey = OSUtils.getOS() == OSUtils.MAC_OS ? oldEvent.metaKey : oldEvent.ctrlKey; return newEvent; } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/efb35eb2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as index da69b05..fe09148 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as @@ -123,6 +123,10 @@ package org.apache.flex.html.beads event.stopImmediatePropagation(); var newEvent:org.apache.flex.events.KeyboardEvent = KeyboardEventConverter.convert(event); (_strand as IEventDispatcher).dispatchEvent(newEvent); + if(newEvent.defaultPrevented) + { + event.preventDefault(); + } } /** @@ -131,8 +135,13 @@ package org.apache.flex.html.beads COMPILE::JS protected function keyEventHandler(event:KeyboardEvent):void { + event.stopImmediatePropagation(); var newEvent:org.apache.flex.events.KeyboardEvent = KeyboardEventConverter.convert(event); (_strand as IEventDispatcher).dispatchEvent(newEvent); + if(newEvent.defaultPrevented) + { + event.preventDefault(); + } } }