automatically hide the mouse pointer after 5s of inactivity (#1837)
parent
5890f602b3
commit
7b707696b4
|
@ -326,6 +326,12 @@ Reveal.initialize({
|
||||||
// Enable slide navigation via mouse wheel
|
// Enable slide navigation via mouse wheel
|
||||||
mouseWheel: false,
|
mouseWheel: false,
|
||||||
|
|
||||||
|
// Hide cursor if inactive
|
||||||
|
hideInactiveCursor: true,
|
||||||
|
|
||||||
|
// Time before the cursor is hidden (in ms)
|
||||||
|
hideCursorTime: 5000,
|
||||||
|
|
||||||
// Hides the address bar on mobile devices
|
// Hides the address bar on mobile devices
|
||||||
hideAddressBar: true,
|
hideAddressBar: true,
|
||||||
|
|
||||||
|
|
66
js/reveal.js
66
js/reveal.js
|
@ -220,6 +220,12 @@
|
||||||
// The display mode that will be used to show slides
|
// The display mode that will be used to show slides
|
||||||
display: 'block',
|
display: 'block',
|
||||||
|
|
||||||
|
// Hide cursor if inactive
|
||||||
|
hideInactiveCursor: true,
|
||||||
|
|
||||||
|
// Time before the cursor is hidden (in ms)
|
||||||
|
hideCursorTime: 5000,
|
||||||
|
|
||||||
// Script dependencies to load
|
// Script dependencies to load
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
|
||||||
|
@ -282,6 +288,12 @@
|
||||||
// Delays updates to the URL due to a Chrome thumbnailer bug
|
// Delays updates to the URL due to a Chrome thumbnailer bug
|
||||||
writeURLTimeout = 0,
|
writeURLTimeout = 0,
|
||||||
|
|
||||||
|
// Is the mouse pointer currently hidden from view
|
||||||
|
cursorHidden = false,
|
||||||
|
|
||||||
|
// Timeout used to determine when the cursor is inactive
|
||||||
|
cursorInactiveTimeout = 0,
|
||||||
|
|
||||||
// Flags if the interaction event listeners are bound
|
// Flags if the interaction event listeners are bound
|
||||||
eventsAreBound = false,
|
eventsAreBound = false,
|
||||||
|
|
||||||
|
@ -1253,6 +1265,18 @@
|
||||||
disableRollingLinks();
|
disableRollingLinks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Auto-hide the mouse pointer when its inactive
|
||||||
|
if( config.hideInactiveCursor ) {
|
||||||
|
document.addEventListener( 'mousemove', onDocumentCursorActive, false );
|
||||||
|
document.addEventListener( 'mousedown', onDocumentCursorActive, false );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
showCursor();
|
||||||
|
|
||||||
|
document.removeEventListener( 'mousemove', onDocumentCursorActive, false );
|
||||||
|
document.removeEventListener( 'mousedown', onDocumentCursorActive, false );
|
||||||
|
}
|
||||||
|
|
||||||
// Iframe link previews
|
// Iframe link previews
|
||||||
if( config.previewLinks ) {
|
if( config.previewLinks ) {
|
||||||
enablePreviewLinks();
|
enablePreviewLinks();
|
||||||
|
@ -2479,6 +2503,32 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows the mouse pointer after it has been hidden with
|
||||||
|
* #hideCursor.
|
||||||
|
*/
|
||||||
|
function showCursor() {
|
||||||
|
|
||||||
|
if( cursorHidden ) {
|
||||||
|
cursorHidden = false;
|
||||||
|
dom.wrapper.style.cursor = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hides the mouse pointer when it's on top of the .reveal
|
||||||
|
* container.
|
||||||
|
*/
|
||||||
|
function hideCursor() {
|
||||||
|
|
||||||
|
if( cursorHidden === false ) {
|
||||||
|
cursorHidden = true;
|
||||||
|
dom.wrapper.style.cursor = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enters the paused mode which fades everything on screen to
|
* Enters the paused mode which fades everything on screen to
|
||||||
* black.
|
* black.
|
||||||
|
@ -4731,6 +4781,22 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called whenever there is mouse input at the document level
|
||||||
|
* to determine if the cursor is active or not.
|
||||||
|
*
|
||||||
|
* @param {object} event
|
||||||
|
*/
|
||||||
|
function onDocumentCursorActive( event ) {
|
||||||
|
|
||||||
|
showCursor();
|
||||||
|
|
||||||
|
clearTimeout( cursorInactiveTimeout );
|
||||||
|
|
||||||
|
cursorInactiveTimeout = setTimeout( hideCursor, config.hideCursorTime );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler for the document level 'keypress' event.
|
* Handler for the document level 'keypress' event.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue