You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by yi...@apache.org on 2017/03/15 08:49:09 UTC

git commit: [flex-asjs] [refs/heads/develop] - Add preventDefault to keyboard events.

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 <yi...@hotmail.com>
Authored: Wed Mar 15 10:48:59 2017 +0200
Committer: yishayw <yi...@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();
+			}
 		}
 		
 	}