|
@@ -260,20 +260,26 @@ export const usePointerIntersection = installGlobalVar(() => {
|
|
|
export const useDownKeys = installGlobalVar(() => {
|
|
|
const keyKeys = reactive(new Set<string>());
|
|
|
const mouseKeys = reactive(new Set<string>());
|
|
|
+ const evHandler = (ev: KeyboardEvent | MouseEvent, keys: Set<string>) => {
|
|
|
+ ev.shiftKey ? keys.add("Shift") : keys.delete("Shift");
|
|
|
+ ev.altKey ? keys.add("Alt") : keys.delete("Alt");
|
|
|
+ ev.metaKey ? keys.add("Meta") : keys.delete("Meta");
|
|
|
+ ev.ctrlKey ? keys.add("Ctrl") : keys.delete("Ctrl");
|
|
|
+
|
|
|
+ }
|
|
|
const cleanup = mergeFuns(
|
|
|
listener(window, "keydown", (ev) => {
|
|
|
if (ev.target === document.body) {
|
|
|
keyKeys.add(ev.key);
|
|
|
+ evHandler(ev, keyKeys)
|
|
|
}
|
|
|
}),
|
|
|
listener(window, "keyup", (ev) => {
|
|
|
keyKeys.delete(ev.key);
|
|
|
+ evHandler(ev, keyKeys)
|
|
|
}),
|
|
|
listener(window, "mousemove", (ev) => {
|
|
|
- ev.shiftKey ? mouseKeys.add("Shift") : mouseKeys.delete("Shift");
|
|
|
- ev.altKey ? mouseKeys.add("Alt") : mouseKeys.delete("Alt");
|
|
|
- ev.metaKey ? mouseKeys.add("Meta") : mouseKeys.delete("Meta");
|
|
|
- ev.ctrlKey ? mouseKeys.add("Ctrl") : mouseKeys.delete("Ctrl");
|
|
|
+ evHandler(ev, mouseKeys)
|
|
|
})
|
|
|
);
|
|
|
const keys = reactive(new Set<string>());
|
|
@@ -286,7 +292,6 @@ export const useDownKeys = installGlobalVar(() => {
|
|
|
keys.add(key);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
return {
|
|
|
var: keys,
|
|
|
onDestroy: cleanup,
|