diff options
author | Eddy Pedroni <epedroni@pm.me> | 2025-09-27 13:30:59 +0200 |
---|---|---|
committer | Eddy Pedroni <epedroni@pm.me> | 2025-09-27 13:30:59 +0200 |
commit | 5dd5fd3543508d325435b2e8a88eea4a7289803b (patch) | |
tree | d81ba821c1979a4b740b7aa3018c84cbee398167 /web-project/src/solo_tool_web.py | |
parent | a5a5265473c8280f34f69854fd32291d5efd9c9b (diff) |
Diffstat (limited to 'web-project/src/solo_tool_web.py')
-rw-r--r-- | web-project/src/solo_tool_web.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py index b014061..3c68585 100644 --- a/web-project/src/solo_tool_web.py +++ b/web-project/src/solo_tool_web.py @@ -31,6 +31,18 @@ sessions = {} sessionManager = None midiPedal = ActitionController() +def makeKeyboardHandler(st: SoloTool): + def handleKey(e: events.KeyEventArguments): + if e.action.keyup and not e.action.repeat: + if e.key.enter: + if st.playing: st.pause() + else: st.play() + elif e.key.shift: + st.jump() + elif e.key.arrow_left: + st.position = 0.0 + return handleKey + @ui.page('/{sessionId}') def sessionPage(sessionId: str): if sessionId not in sessions: @@ -43,6 +55,7 @@ def sessionPage(sessionId: str): st = sessions[sessionId] midiPedal.setSoloTool(st) + ui.keyboard(on_key=makeKeyboardHandler(st)) # Manage songs dialog with ui.dialog() as manageSongsDialog: |