Index: src/wp-includes/js/tinymce/plugins/wpview/plugin.js
===================================================================
--- src/wp-includes/js/tinymce/plugins/wpview/plugin.js	(revision 29534)
+++ src/wp-includes/js/tinymce/plugins/wpview/plugin.js	(working copy)
@@ -353,6 +353,14 @@
 		}
 	});
 
+	// Excludes arrow keys, delete, backspace, enter, space bar.
+	function isSpecialKey( key ) {
+		return ( ( key <= 47 && key !== VK.SPACEBAR && key !== VK.ENTER && key !== VK.DELETE && key !== VK.BACKSPACE && ( key < 37 || key > 40 ) ) ||
+			key === 144 || key === 145 || // Num Lock, Scroll Lock
+			( key >= 91 && key <= 93 ) || // Windows keys
+			( key >= 112 && key <= 123 ) ); // F keys
+	}
+
 	// (De)select views when arrow keys are used to navigate the content of the editor.
 	editor.on( 'keydown', function( event ) {
 		var key = event.keyCode,
@@ -410,9 +418,10 @@
 				} else {
 					setViewCursor( false, view );
 				}
+
 				event.preventDefault();
 			// Ignore keys that don't insert anything.
-			} else if ( ( key > 47 || VK.SPACEBAR || key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE ) && key !== 144 && key !== 145 ) {
+			} else if ( ! isSpecialKey( key ) ) {
 				removeView( selected );
 
 				if ( key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE ) {
@@ -472,6 +481,11 @@
 				return;
 			}
 
+			if ( isSpecialKey( key ) ) {
+				// ignore
+				return;
+			}
+
 			if ( ( cursorAfter && key === VK.UP ) || ( cursorBefore && key === VK.BACKSPACE ) ) {
 				if ( view.previousSibling ) {
 					if ( getView( view.previousSibling ) ) {
