forward_window_keydown
forward_window_keydown sends page-level keys to the viewer under the pointer while focus is on the page or the viewer root, but leaves keys with focused descendant controls.
Hover here, focus this box and press an arrow key. Last key: none
svelte<script lang="ts">
import { forward_window_keydown } from '$lib/attachments'
let last_key = $state(`none`)
</script>
<div
tabindex="0"
style="padding: 1rem; border: 1px solid currentColor"
{@attach forward_window_keydown({
handle: (event) => {
if (!event.key.startsWith(`Arrow`)) return false
last_key = event.key
return true
},
})}
>
Hover here, focus this box and press an arrow key. Last key: {last_key}
</div>