From 3b111a1cd4cd8fe4a7bd27f70ea270e09a0073ce Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Sun, 13 Apr 2014 11:55:06 +0200
Subject: [PATCH] add support for custom keyboard availability condition

---
 js/reveal.js | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/js/reveal.js b/js/reveal.js
index 962a7cd..fe499ea 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -44,6 +44,9 @@ var Reveal = (function(){
 			// Enable keyboard shortcuts for navigation
 			keyboard: true,
 
+			// Optional function that blocks keyboard events when retuning false
+			keyboardCondition: null,
+
 			// Enable the slide overview mode
 			overview: true,
 
@@ -2836,6 +2839,12 @@ var Reveal = (function(){
 	 */
 	function onDocumentKeyDown( event ) {
 
+		// If there's a condition specified and it returns false,
+		// ignore this event
+		if( typeof config.keyboardCondition === 'function' && config.keyboardCondition() === false ) {
+			return true;
+		}
+
 		// Remember if auto-sliding was paused so we can toggle it
 		var autoSlideWasPaused = autoSlidePaused;
 
-- 
GitLab