From 0bfe6371fdbfad84c36b3c0d2a9e70ae8f03a5c6 Mon Sep 17 00:00:00 2001 From: E44 <129310925+programmer-44@users.noreply.github.com> Date: Fri, 7 Nov 2025 12:15:58 +0100 Subject: [PATCH] add Keyboard Input, improve PopUp, improve general code --- .../src/components/ControlView.svelte | 64 ++++++++-- .../src/components/DisplayObject.svelte | 2 + .../src/components/DisplayView.svelte | 2 +- .../src/components/FolderElementObject.svelte | 15 ++- .../frontend/src/components/KeyInput.svelte | 70 +++++++++++ control/frontend/src/components/PopUp.svelte | 14 ++- control/frontend/src/routes/+page.svelte | 7 +- control/frontend/src/ts/api_handler.ts | 17 ++- control/frontend/src/ts/stores/displays.ts | 12 ++ .../frontend/src/ts/stores/notification.ts | 2 +- shared/keys.json | 114 ++++++++++++++++++ 11 files changed, 286 insertions(+), 33 deletions(-) create mode 100644 control/frontend/src/components/KeyInput.svelte create mode 100644 shared/keys.json diff --git a/control/frontend/src/components/ControlView.svelte b/control/frontend/src/components/ControlView.svelte index 3805bc3..e718e63 100644 --- a/control/frontend/src/components/ControlView.svelte +++ b/control/frontend/src/components/ControlView.svelte @@ -12,50 +12,90 @@ TrafficCone } from 'lucide-svelte'; import Button from './Button.svelte'; + import PopUp from './PopUp.svelte'; + import type { PopupContent } from '../ts/types'; + import KeyInput from './KeyInput.svelte'; + + let popup_content: PopupContent = $state({ + open: false, + snippet: null, + title: '', + closable: true + }); + + function popup_close_function() { + popup_content.open = false; + } + + const show_send_keys_popup = () => { + popup_content = { + open: true, + snippet: send_keys_popup, + title: 'Tastatur-Eingaben durchgeben', + title_icon: Keyboard, + closable: true + }; + }; +{#snippet send_keys_popup()} +