From c7f49479058301bf64e2f52306a77c7efe8ffbe7 Mon Sep 17 00:00:00 2001 From: Pacien TRAN-GIRARD Date: Sat, 17 May 2014 13:21:01 +0200 Subject: Toggle fullscreen on double tap (on touchscreen) --- js/slide-deck.js | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/js/slide-deck.js b/js/slide-deck.js index b93cea8..5cdb9c4 100644 --- a/js/slide-deck.js +++ b/js/slide-deck.js @@ -223,7 +223,7 @@ SlideDeck.prototype.onBodyKeyDown_ = function(e) { break; case 80: // P - // if (this.controller && this.controller.isPresenter) { + // if (this.controller && this.controller.isPresenter) { document.body.classList.toggle('with-notes'); // } else if (this.controller && !this.controller.popup) { // document.body.classList.toggle('with-notes'); @@ -427,24 +427,31 @@ SlideDeck.prototype.loadConfig_ = function(config) { }, false); require([ 'hammer' ], function(Hammer) { - var hammer = new Hammer(self.container); - hammer.on('swipe', function(e) { + + var pressKey = function(keyCode) { var evt = document.createEvent('Event'); evt.initEvent('keydown', true, true); + evt.keyCode = keyCode; + document.body.dispatchEvent(evt); + }; - switch (e.gesture.direction) { - case 'right': - // previous slide - evt.keyCode = 37; - break; - case 'left': - // next slide - evt.keyCode = 39; - break; - } + var hammer = new Hammer(self.container); - document.dispatchEvent(evt); + // previous slide + hammer.on('swiperight', function() { + pressKey(37); }); + + // next slide + hammer.on('swipeleft', function() { + pressKey(39); + }); + + // fullscreen + hammer.on('doubletap', function() { + pressKey(70); + }); + }); } -- cgit v1.2.3