From 9ff7226a81ef763f93a83d6b61bd1ee18e7d0668 Mon Sep 17 00:00:00 2001 From: Michael Zhou Date: Sat, 17 Aug 2013 01:02:49 -0700 Subject: [PATCH] Fix KeyCommandSet for special keys on some browsers The Enter key doesn't execute OpenKeyCommand on Firefox (See http://code.google.com/p/google-web-toolkit/issues/detail?id=5003). http://code.google.com/p/google-web-toolkit/source/detail?r=7692 caused event.getCharCode() to return 0 for special keys on some browsers. This prevented the event from being passed on to the KeyCommand. Fixed by adding an additional check in KeyCommandSet that restores the actual key code. Change-Id: Ie48aa5de3d22a3561192ac91f226234adeb7382f --- .../com/google/gwtexpui/globalkey/client/KeyCommandSet.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java index 4f3205abff..ad4c23ee5d 100644 --- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java +++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java @@ -121,7 +121,10 @@ public class KeyCommandSet implements KeyPressHandler { } static int toMask(final KeyPressEvent event) { - int mask = event.getCharCode(); + int mask = event.getUnicodeCharCode(); + if (mask == 0) { + mask = event.getNativeEvent().getKeyCode(); + } if (event.isAltKeyDown()) { mask |= KeyCommand.M_ALT; }