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();
+                       }
                }
                
        }

Reply via email to