diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-01 15:57:13 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-01 15:57:13 +0300 |
| commit | 65ee2e4d7f2be8036457e3cdca0e26e09eb56e0b (patch) | |
| tree | cbd8143db9e81baed51239a628dfedae2dbf375f /web/js/keyboard.js | |
| parent | 56666ca87f11e72521dcda00de72438e13899b95 (diff) | |
add readme and so on
Diffstat (limited to 'web/js/keyboard.js')
| -rw-r--r-- | web/js/keyboard.js | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/web/js/keyboard.js b/web/js/keyboard.js index 9294623..de67208 100644 --- a/web/js/keyboard.js +++ b/web/js/keyboard.js @@ -9,6 +9,32 @@ export function initKeyboard(handlers) { } return; } + + // Tab / Shift+Tab set navigation when sidebar is open + if (e.key === 'Tab') { + if (handlers.isSidebarOpen?.()) { + e.preventDefault(); + if (e.shiftKey) { + handlers.prevSet?.(e); + } else { + handlers.nextSet?.(e); + } + } + return; + } + + // Space toggles focused set selection when sidebar is focused/open + if (e.key === ' ') { + if (handlers.isSidebarFocused?.()) { + e.preventDefault(); + handlers.toggleSetSelect?.(e); + return; + } + e.preventDefault(); + handlers.playPause?.(e); + return; + } + switch (e.key) { // Navigation case 'ArrowUp': @@ -41,11 +67,8 @@ export function initKeyboard(handlers) { handlers.navRight?.(e); break; case 'Enter': handlers.enter?.(e); break; - case ' ': - e.preventDefault(); - handlers.playPause?.(e); - break; case 'p': handlers.playPause?.(e); break; + case 'c': handlers.toggleStage?.(e); break; case 'f': handlers.fullscreen?.(e); break; case 'Escape': handlers.escape?.(e); break; case 'r': handlers.shuffle?.(e); break; |
