From: PhiTux Date: Wed, 8 Oct 2025 17:20:21 +0000 (+0200) Subject: fixed keyboard shortcuts for mac X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=9b77a46c7fe30e5da9f745ddfb9428eb0f8c61e3;p=DailyTxT.git fixed keyboard shortcuts for mac --- diff --git a/frontend/src/routes/(authed)/write/+page.svelte b/frontend/src/routes/(authed)/write/+page.svelte index 64f213b..3b36624 100644 --- a/frontend/src/routes/(authed)/write/+page.svelte +++ b/frontend/src/routes/(authed)/write/+page.svelte @@ -133,11 +133,22 @@ let altPressed = false; let ctrlPressed = false; + let macAltPressed = $state(false); + let MacCtrlPressed = $state(false); + const isMac = navigator.platform.toUpperCase().includes('MAC'); function on_key_down(event) { - if (event.key === 'Alt') { + if (!isMac && event.key === 'Alt') { event.preventDefault(); altPressed = true; } + if (isMac && event.key === 'Alt') { + event.preventDefault(); + macAltPressed = true; + } + if (isMac && event.key === 'Control') { + event.preventDefault(); + MacCtrlPressed = true; + } if (event.key === 'ArrowRight' && altPressed) { event.preventDefault(); changeDay(+1); @@ -145,22 +156,40 @@ event.preventDefault(); changeDay(-1); } - if (event.key === 'Control') { + if (!isMac && event.key === 'Control') { event.preventDefault(); ctrlPressed = true; } - if (event.key === 'g' && ctrlPressed) { + if (event.key === 'g' && (ctrlPressed || MacCtrlPressed)) { event.preventDefault(); document.getElementById('tag-input').focus(); } } + $effect(() => { + if (isMac) { + if (macAltPressed && MacCtrlPressed) { + altPressed = true; + } else { + altPressed = false; + } + } + }); + function on_key_up(event) { - if (event.key === 'Alt') { + if (!isMac && event.key === 'Alt') { event.preventDefault(); altPressed = false; } - if (event.key === 'Control') { + if (isMac && event.key === 'Alt') { + event.preventDefault(); + macAltPressed = false; + } + if (isMac && event.key === 'Control') { + event.preventDefault(); + MacCtrlPressed = false; + } + if (!isMac && event.key === 'Control') { event.preventDefault(); ctrlPressed = false; }