mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-25 01:48:11 +08:00
Desktop: Implement pointer lock for NumberInput (#3638)
* Desktop: Implement pointer lock for NumberInput * add shift and ctrl modifiers * fixup
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user