enable reveal.js keyboard shortcuts anywhere in notes window
This commit is contained in:
		
							parent
							
								
									54ca9edeed
								
							
						
					
					
						commit
						1e5ca748a4
					
				
					 2 changed files with 19 additions and 0 deletions
				
			
		|  | @ -3702,6 +3702,11 @@ var Reveal = (function(){ | |||
| 			if( 'addEventListener' in window ) { | ||||
| 				( 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; | ||||
| 
 | ||||
| 						setupIframes( data ); | ||||
| 						setupKeyboard(); | ||||
| 						setupNotes(); | ||||
| 						setupTimer(); | ||||
| 					} | ||||
|  | @ -247,6 +248,19 @@ | |||
| 				// Limit to max one state update per X ms | ||||
| 				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. | ||||
| 				 */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue