'keyboard' config option for disabling keyboard navigation (closes #84)
authorHakim El Hattab <hakim.elhattab@gmail.com>
Sat, 21 Jul 2012 02:20:07 +0000 (22:20 -0400)
committerHakim El Hattab <hakim.elhattab@gmail.com>
Sat, 21 Jul 2012 02:20:33 +0000 (22:20 -0400)
README.md
js/reveal.js

index 298c1cfd78d484a5fdaa8aae4d01fc816c3fd8cc..05999e4477b7ea44c7d214ce04db8adf5d15cc5a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -39,6 +39,9 @@ Reveal.initialize({
        // Push each slide change to the browser history
        history: false,
 
+       // Enable keyboard shortcuts for navigation
+       keyboard: true,
+
        // Loop the presentation
        loop: false,
 
@@ -168,7 +171,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 #### 1.4 (master/beta)
 - Main #reveal container is now selected via a class instead of ID
 - API methods for adding or removing all event listeners
-- The 'slidechange' event now includes currentSlide and previousSlide
+- The ```slidechange``` event now includes currentSlide and previousSlide
 - Fixed bug where 'slidechange' was firing twice when history was enabled
 - Folder structure updates for scalability (see /lib & /plugin)
 - Slide notes by [rmurphey](https://github.com/rmurphey)
@@ -177,6 +180,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 - Added 'autoSlide' config
 - Bug fix: The 'slidechanged' event is now firing upon 'hashchange'. Thanks [basecode](https://github.com/basecode)
 - Bug fix: JS error when the 'progress' option was true but there was no progress DOM element
+- ```keyboard``` config flag for disabling all keyboard navigation
 
 #### 1.3
 - Revised keyboard shortcuts, including ESC for overview, N for next, P for previous. Thanks [mahemoff](https://github.com/mahemoff)
index e0be83907017a34107c6d9e93456f0c9c33a74f9..7811218f76db272e38abffb9ef9dd2de750afd5e 100644 (file)
@@ -27,6 +27,9 @@ var Reveal = (function(){
                        // Push each slide change to the browser history
                        history: false,
 
+                       // Enable keyboard shortcuts for navigation
+                       keyboard: true,
+
                        // Loop the presentation
                        loop: false,
 
@@ -179,12 +182,15 @@ var Reveal = (function(){
        }
 
        function addEventListeners() {
-               document.addEventListener( 'keydown', onDocumentKeyDown, false );
                document.addEventListener( 'touchstart', onDocumentTouchStart, false );
                document.addEventListener( 'touchmove', onDocumentTouchMove, false );
                document.addEventListener( 'touchend', onDocumentTouchEnd, false );
                window.addEventListener( 'hashchange', onWindowHashChange, false );
 
+               if( config.keyboard ) {
+                       document.addEventListener( 'keydown', onDocumentKeyDown, false );
+               }
+
                if ( config.controls && dom.controls ) {
                        dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
                        dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );