File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -138,6 +138,24 @@ export const handleMousePresses = function handleMousePresses(event: MouseEvent)
138138 if ( event . button === rightClick ) goToPreviousSlide ( ) ;
139139} ;
140140
141+ /** Toggles between full screen and normal web page mode. */
142+ export const toggleFullScreen = function toggleFullScreen ( ) : void {
143+ if ( document . fullscreenElement ) {
144+ document . exitFullscreen ( ) . catch ( ( error : unknown ) => {
145+ Logger . error ( error ) ;
146+ } ) ;
147+ } else {
148+ document . documentElement
149+ . requestFullscreen ( )
150+ . then ( ( ) => {
151+ Logger . info ( 'Received full screen permissions, press ESC to exit.' ) ;
152+ } )
153+ . catch ( ( error : unknown ) => {
154+ Logger . error ( error ) ;
155+ } ) ;
156+ }
157+ } ;
158+
141159/** Handles key presses on the document, and moves slides accordingly. */
142160// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
143161export const handleKeyPresses = function handleKeyPresses ( event : KeyboardEvent ) : void {
@@ -156,6 +174,10 @@ export const handleKeyPresses = function handleKeyPresses(event: KeyboardEvent):
156174 case 'ArrowLeft' :
157175 goToPreviousSlide ( ) ;
158176 break ;
177+ case 'f' :
178+ case 'F11' :
179+ toggleFullScreen ( ) ;
180+ break ;
159181 default :
160182 }
161183} ;
@@ -245,6 +267,7 @@ export const setupScriptCode = /*JavaScript*/ `
245267 ${ setupUrlHashCallBack . toString ( ) }
246268 ${ handleUrlHashChange . toString ( ) }
247269 ${ handleMousePresses . toString ( ) }
270+ ${ toggleFullScreen . toString ( ) }
248271 ${ handleKeyPresses . toString ( ) }
249272 ${ handleScrollEvents . toString ( ) }
250273 ${ handleTouchEvents . toString ( ) }
You can’t perform that action at this time.
0 commit comments