enable reveal.js keyboard shortcuts anywhere in notes window
This commit is contained in:
parent
54ca9edeed
commit
1e5ca748a4
@ -3702,6 +3702,11 @@ var Reveal = (function(){
|
|||||||
if( 'addEventListener' in window ) {
|
if( 'addEventListener' in window ) {
|
||||||
( dom.wrapper || document.querySelector( '.reveal' ) ).removeEventListener( type, listener, useCapture );
|
( dom.wrapper || document.querySelector( '.reveal' ) ).removeEventListener( type, listener, useCapture );
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Programatically triggers a keyboard event
|
||||||
|
triggerKey: function( keyCode ) {
|
||||||
|
onDocumentKeyDown( { keyCode: keyCode } );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -208,6 +208,7 @@
|
|||||||
connected = true;
|
connected = true;
|
||||||
|
|
||||||
setupIframes( data );
|
setupIframes( data );
|
||||||
|
setupKeyboard();
|
||||||
setupNotes();
|
setupNotes();
|
||||||
setupTimer();
|
setupTimer();
|
||||||
}
|
}
|
||||||
@ -247,6 +248,19 @@
|
|||||||
// Limit to max one state update per X ms
|
// Limit to max one state update per X ms
|
||||||
handleStateMessage = debounce( handleStateMessage, 200 );
|
handleStateMessage = debounce( handleStateMessage, 200 );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forward keyboard events to the current slide window.
|
||||||
|
* This enables keyboard events to work even if focus
|
||||||
|
* isn't set on the current slide iframe.
|
||||||
|
*/
|
||||||
|
function setupKeyboard() {
|
||||||
|
|
||||||
|
document.addEventListener( 'keydown', function( event ) {
|
||||||
|
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );
|
||||||
|
} );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the preview iframes.
|
* Creates the preview iframes.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user