From 748087483cba9bcd28029e0083147674a9ca85b2 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Fri, 11 Oct 2024 08:05:28 -0500 Subject: [PATCH] Use number keys on keyboard to move ptz camera to presets (#14278) * Use number keys on keyboard to move ptz camera to presets * clean up --- web/src/views/live/LiveCameraView.tsx | 32 +++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/web/src/views/live/LiveCameraView.tsx b/web/src/views/live/LiveCameraView.tsx index 8a8146e14..2af08e497 100644 --- a/web/src/views/live/LiveCameraView.tsx +++ b/web/src/views/live/LiveCameraView.tsx @@ -531,9 +531,37 @@ function PtzControlPanel({ ); useKeyboardListener( - ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "+", "-"], + [ + "ArrowLeft", + "ArrowRight", + "ArrowUp", + "ArrowDown", + "+", + "-", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + ], (key, modifiers) => { - if (modifiers.repeat) { + if (modifiers.repeat || !key) { + return; + } + + if (["1", "2", "3", "4", "5", "6", "7", "8", "9"].includes(key)) { + const presetNumber = parseInt(key); + if ( + ptz && + (ptz.presets?.length ?? 0) > 0 && + presetNumber <= ptz.presets.length + ) { + sendPtz(`preset_${ptz.presets[presetNumber - 1]}`); + } return; }