Desktop: Implement pointer lock for NumberInput (#3638)

* Desktop: Implement pointer lock for NumberInput

* add shift and ctrl modifiers

* fixup
This commit is contained in:
Timon
2026-01-15 11:27:31 +00:00
committed by GitHub
parent 6616d1bfb1
commit 73682b482b
12 changed files with 150 additions and 26 deletions
+7 -1
View File
@@ -1,7 +1,7 @@
import { get } from "svelte/store";
import { type Editor } from "@graphite/editor";
import { TriggerClipboardRead } from "@graphite/messages";
import { TriggerClipboardRead, WindowPointerLockMove } from "@graphite/messages";
import { type DialogState } from "@graphite/state-providers/dialog";
import { type DocumentState } from "@graphite/state-providers/document";
import { type FullscreenState } from "@graphite/state-providers/fullscreen";
@@ -500,6 +500,12 @@ export function createInputManager(editor: Editor, dialog: DialogState, portfoli
}
});
// Pointer lock movement events on desktop
editor.subscriptions.subscribeJsMessage(WindowPointerLockMove, (data) => {
const event = new CustomEvent("pointerlockmove", { detail: data });
window.dispatchEvent(event);
});
// Helper functions
function potentiallyRestoreCanvasFocus(e: Event) {