From bb4eeb6c3ce10528f22269a022d713ce5f5a1841 Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Tue, 19 Feb 2019 17:29:07 -0500 Subject: [PATCH] * Keyboard Shortcuts table: Dynamically fill object at configuration --- js/reveal.js | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index 237c0c43..6f572b05 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -361,20 +361,8 @@ threshold: 40 }, - // Holds information about the keyboard shortcuts - keyboardShortcuts = { - 'N , SPACE': 'Next slide', - 'P': 'Previous slide', - '← , H': 'Navigate left', - '→ , L': 'Navigate right', - '↑ , K': 'Navigate up', - '↓ , J': 'Navigate down', - 'Home , ⌘/CTRL ←': 'First slide', - 'End , ⌘/CTRL →': 'Last slide', - 'B , .': 'Pause', - 'F': 'Fullscreen', - 'ESC, O': 'Slide overview' - }, + // Holds information about the keyboard shortcuts (filled in on configuration). + keyboardShortcuts = {}, // Holds custom key code mappings registeredKeyBindings = {}; @@ -1386,6 +1374,25 @@ dom.wrapper.removeAttribute( 'data-navigation-mode' ); } + + if( config.navigationMode === 'linear' ) { + keyboardShortcuts['N , SPACE , → , L , ↓ , J'] = 'Next slide'; + keyboardShortcuts['P , ← , H , ↑ , K'] = 'Previous slide'; + } + else { + keyboardShortcuts['N , SPACE'] = 'Next slide'; + keyboardShortcuts['P'] = 'Previous slide'; + keyboardShortcuts['← , H'] = 'Navigate left'; + keyboardShortcuts['→ , L'] = 'Navigate right'; + keyboardShortcuts['↑ , K'] = 'Navigate up'; + keyboardShortcuts['↓ , J'] = 'Navigate down'; + } + keyboardShortcuts['Home , ⌘/CTRL ←'] = 'First slide'; + keyboardShortcuts['End , ⌘/CTRL →'] = 'Last slide'; + keyboardShortcuts['B , .'] = 'Pause'; + keyboardShortcuts['F'] = 'Fullscreen'; + keyboardShortcuts['ESC, O'] = 'Slide overview'; + sync(); }