Browse Source

Add new key mappings for navigation.

hjkl for directions.
space to move to next slide.
esc for 3D overview (instead of space)
Mahemoff 13 years ago
parent
commit
1675002c7a
1 changed files with 23 additions and 23 deletions
  1. 23 23
      js/reveal.js

+ 23 - 23
js/reveal.js

@@ -155,33 +155,32 @@ var Reveal = (function(){
 		// FFT: Use document.querySelector( ':focus' ) === null 
 		// instead of checking contentEditable?
 
-		if( event.target.contentEditable === 'inherit' ) {
-			if( event.keyCode >= 33 && event.keyCode <= 40 ) {
+		if ( event.target.contentEditable != 'inherit' ||
+			event.shiftKey || event.altKey || event.ctrlKey ) return;
 				
-				switch( event.keyCode ) {
-					case 33: navigatePrev(); break; // prev for wireless presenter (PgUp)
-					case 34: navigateNext(); break; // next for wireless presenter (PgDn)
-					case 37: navigateLeft(); break; // left
-					case 39: navigateRight(); break; // right
-					case 38: navigateUp(); break; // up
-					case 40: navigateDown(); break; // down
-				}
-				
-				event.preventDefault();
-				
-			}
-			// Space bar
-			else if ( event.keyCode === 32 && supports3DTransforms ) {
-				if( overviewIsActive() ) {
-					deactivateOverview();
-				}
-				else {
-					activateOverview();
-				}
+		var triggered = false;
+		switch( event.keyCode ) {
+			case 33: navigatePrev(); triggered = true; break; // prev for wireless presenter (PgUp)
+			case 32: case 34: navigateNext(); triggered = true; break; // next for wireless presenter (PgDn, Space)
+			case 72: case 37: navigateLeft(); triggered = true; break; // h, left
+			case 76: case 39: navigateRight(); triggered = true; break; // l, right
+			case 75: case 38: navigateUp(); triggered = true; break; // k, up
+			case 74: case 40: navigateDown(); triggered = true; break; // j, down
+		}
+		if (triggered) return event.preventDefault()
 
-				event.preventDefault();
+		if ( event.keyCode === 27 && supports3DTransforms ) {
+
+			if( overviewIsActive() ) {
+				deactivateOverview();
+			}
+			else {
+				activateOverview();
 			}
+	
+			event.preventDefault();
 		}
+
 	}
 	
 	/**
@@ -231,6 +230,7 @@ var Reveal = (function(){
 		}
 	}
 
+
 	/**
 	 * Handles mouse wheel scrolling, throttled to avoid 
 	 * skipping multiple slides.