diff --git a/org.eclipse.osbp.vaadin.addons.designer.overlay/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaadin.addons.designer.overlay/.settings/com.vaadin.integration.eclipse.prefs
index 7e9db76..7d2a1a0 100644
--- a/org.eclipse.osbp.vaadin.addons.designer.overlay/.settings/com.vaadin.integration.eclipse.prefs
+++ b/org.eclipse.osbp.vaadin.addons.designer.overlay/.settings/com.vaadin.integration.eclipse.prefs
@@ -1,4 +1,4 @@
-com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.5.10","7.7.13"]
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.5.10","7.7.16"]
 com.vaadin.integration.eclipse.previousCompileAction=widgetset
 com.vaadin.integration.eclipse.useLatestNightly=false
 com.vaadin.integration.eclipse.widgetsetBuildsSuspended=true
diff --git a/org.eclipse.osbp.vaadin.addons.kanban/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaadin.addons.kanban/.settings/com.vaadin.integration.eclipse.prefs
index f11e0e0..079c585 100644
--- a/org.eclipse.osbp.vaadin.addons.kanban/.settings/com.vaadin.integration.eclipse.prefs
+++ b/org.eclipse.osbp.vaadin.addons.kanban/.settings/com.vaadin.integration.eclipse.prefs
@@ -1,11 +1,11 @@
 com.vaadin.integration.eclipse.mavenAutoCompileWidgetset=true
-com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.13"]
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.16"]
 com.vaadin.integration.eclipse.notifyOfVaadinUpdates=true
 com.vaadin.integration.eclipse.previousCompileAction=widgetset
 com.vaadin.integration.eclipse.useLatestNightly=false
 com.vaadin.integration.eclipse.widgetsetBuildsSuspended=true
 com.vaadin.integration.eclipse.widgetsetCompilationEta=50910
-com.vaadin.integration.eclipse.widgetsetDirty=false
+com.vaadin.integration.eclipse.widgetsetDirty=true
 com.vaadin.integration.eclipse.widgetsetStyle=OBF
 com.vaadin.integration.eclipse.widgetsetVerbose=true
 eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java b/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
index a1780a2..974deb2 100644
--- a/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
+++ b/org.eclipse.osbp.vaadin.addons.keyevents/src/org/eclipse/osbp/vaadin/addons/keyevents/client/KeyEventExtensionConnector.java
@@ -1,5 +1,8 @@
 package org.eclipse.osbp.vaadin.addons.keyevents.client;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.eclipse.osbp.vaadin.addons.keyevents.KeyEventExtension;
 
 import com.google.gwt.dom.client.NativeEvent;
@@ -10,6 +13,7 @@
 import com.vaadin.client.VConsole;
 import com.vaadin.client.communication.RpcProxy;
 import com.vaadin.client.extensions.AbstractExtensionConnector;
+import com.vaadin.event.ShortcutAction.KeyCode;
 import com.vaadin.shared.ui.Connect;
 
 @SuppressWarnings("serial")
@@ -18,6 +22,28 @@
 
 	private KeyEventServerRpc serverRPC = RpcProxy.create(KeyEventServerRpc.class, this);
 	private HandlerRegistration handlerRegistration;
+	protected Map<Integer, String> keyMapper = new HashMap<Integer, String>() {
+		private static final long serialVersionUID = 8801421284339992078L;
+		{
+			put(KeyCode.TAB, "TAB");
+			put(KeyCode.ENTER, "ENTER");
+			put(KeyCode.ESCAPE, "ESC");
+			put(KeyCode.PAGE_UP, "PGUP");
+			put(KeyCode.PAGE_DOWN, "PGDOWN");
+			put(KeyCode.F1, "F1");
+			put(KeyCode.F2, "F2");
+			put(KeyCode.F3, "F3");
+			put(KeyCode.F4, "F4");
+			put(KeyCode.F5, "F5");
+			put(KeyCode.F6, "F6");
+			put(KeyCode.F7, "F7");
+			put(KeyCode.F8, "F8");
+			put(KeyCode.F9, "F9");
+			put(KeyCode.F10, "F10");
+			put(KeyCode.F11, "F11");
+			put(KeyCode.F12, "F12");
+		}
+	};
 
 	@Override
 	protected void init() {
@@ -25,21 +51,19 @@
 
 		handlerRegistration = com.google.gwt.user.client.Event.addNativePreviewHandler(new NativePreviewHandler() {
 			@Override
-			public void onPreviewNativeEvent(NativePreviewEvent event) {
-				switch (event.getTypeInt()) {
+			public void onPreviewNativeEvent(NativePreviewEvent nativePreviewEvent) {
+				switch (nativePreviewEvent.getTypeInt()) {
 				case com.google.gwt.user.client.Event.ONKEYUP:
-					final NativeEvent nativeEvent = event.getNativeEvent();
-
-					serverRPC.onKeyPress(createEvent(nativeEvent));
-
-					event.cancel();
-
+					final Event event = createEvent(nativePreviewEvent.getNativeEvent());
+					if (Character.isAlphabetic(event.charCode) || Character.isDigit(event.charCode) || keyMapper.containsKey(event.charCode)) {
+						serverRPC.onKeyPress(event);
+						nativePreviewEvent.cancel();
+					}
 					break;
 				}
 
 			}
 		});
-
 	}
 
 	public void onUnregister() {
diff --git a/org.eclipse.osbp.vaadin.addons.suggesttext/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaadin.addons.suggesttext/.settings/com.vaadin.integration.eclipse.prefs
index e68619d..2b85cce 100644
--- a/org.eclipse.osbp.vaadin.addons.suggesttext/.settings/com.vaadin.integration.eclipse.prefs
+++ b/org.eclipse.osbp.vaadin.addons.suggesttext/.settings/com.vaadin.integration.eclipse.prefs
@@ -1,10 +1,10 @@
 com.vaadin.integration.eclipse.mavenAutoCompileWidgetset=true
-com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.13"]
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.16"]
 com.vaadin.integration.eclipse.notifyOfVaadinUpdates=true
 com.vaadin.integration.eclipse.previousCompileAction=widgetset
 com.vaadin.integration.eclipse.useLatestNightly=false
 com.vaadin.integration.eclipse.widgetsetBuildsSuspended=true
-com.vaadin.integration.eclipse.widgetsetCompilationEta=32252
+com.vaadin.integration.eclipse.widgetsetCompilationEta=40010
 com.vaadin.integration.eclipse.widgetsetDirty=true
 com.vaadin.integration.eclipse.widgetsetStyle=OBF
 com.vaadin.integration.eclipse.widgetsetVerbose=true
