diff options
-rw-r--r-- | index.html | 6 | ||||
-rw-r--r-- | plugin/leap/leap.js | 58 |
2 files changed, 45 insertions, 19 deletions
@@ -359,6 +359,9 @@ function linkify( selector ) { progress: true, history: true, center: true, + leap: { + invert : true + }, theme: Reveal.getQueryHash().theme, // available themes are in /css/theme transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none @@ -370,7 +373,8 @@ function linkify( selector ) { { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } }, - { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } } + { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }, + { src: 'plugin/leap/leap.js', async: true, } // { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } } // { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } } ] diff --git a/plugin/leap/leap.js b/plugin/leap/leap.js index 3af73ce..27dc517 100644 --- a/plugin/leap/leap.js +++ b/plugin/leap/leap.js @@ -21,34 +21,56 @@ var b=right.criteria;if(a!==b){if(a>b||a===void 0)return 1;if(a<b||b===void 0)re */ (function () { - var controller = new Leap.Controller({enableGestures: true}), - config = Reveal.getConfig().leap || + var controller = new Leap.Controller({enableGestures: true}), + lastGesture = 0, + config = Reveal.getConfig().leap || { invert: false - }; + }, + now; controller.on('frame', function (frame) { - if (frame.gestures.length > 0) { - var gesture = frame.gestures[0]; - //console.log(gesture); - var x = gesture.direction[0]; - var y = gesture.direction[1]; - if (gesture.state === 'start' && gesture.type === 'swipe') { - if (Math.abs(x) > Math.abs(y)) { - if (x > 0) { - config.invert ? Reveal.left() : Reveal.right(); + now = new Date().getTime(); + + if( lastGesture === 0 ) { + lastGesture = now; + } + + if ( (now - lastGesture) > 500 && frame.gestures.length > 0 ) { + var gesture = frame.gestures[0], + x = gesture.direction[0], + y = gesture.direction[1]; + + + if ( gesture.speed > 1000 && gesture.state === 'start' && gesture.type === 'swipe' ) { + if( frame.fingers.length > 1 ) { + if ( Math.abs(x) > Math.abs(y) ) { + if ( x > 0 ) { + config.invert ? Reveal.left() : Reveal.right(); + } else { + config.invert ? Reveal.right() : Reveal.left(); + } + + lastGesture = now; } else { - config.invert ? Reveal.right() : Reveal.left(); + if ( y > 0 ) { + config.invert ? Reveal.down() : Reveal.up(); + } else { + config.invert ? Reveal.up() : Reveal.down(); + } } - } else { - if (y > 0) { - config.invert ? Reveal.down() : Reveal.up(); - } else { - config.invert ? Reveal.up() : Reveal.down(); + + lastGesture = now; + } else if( frame.hands.length == 2 ) { + if ( y > 0 ) { + Reveal.toggleOverview(); } + + lastGesture = now; } } } }); + controller.connect(); })(); |