mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
use MouseEvent in keyboard hooks
This commit is contained in:
parent
da94d5264a
commit
e58c2fd371
@ -182,25 +182,28 @@ export class InputDistributor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {KeyboardEvent} event
|
* @param {KeyboardEvent | MouseEvent} event
|
||||||
*/
|
*/
|
||||||
handleKeydown(event) {
|
handleKeydown(event) {
|
||||||
|
const keyCode = event instanceof MouseEvent ? event.button : event.keyCode;
|
||||||
if (
|
if (
|
||||||
event.keyCode === 9 || // TAB
|
keyCode === 3 ||
|
||||||
event.keyCode === 16 || // SHIFT
|
keyCode === 4 || // MB3 / MB4
|
||||||
event.keyCode === 17 || // CTRL
|
keyCode === 9 || // TAB
|
||||||
event.keyCode === 18 || // ALT
|
keyCode === 16 || // SHIFT
|
||||||
(event.keyCode >= 112 && event.keyCode < 122) // F1 - F10
|
keyCode === 17 || // CTRL
|
||||||
|
keyCode === 18 || // ALT
|
||||||
|
(keyCode >= 112 && keyCode < 122) // F1 - F10
|
||||||
) {
|
) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
const isInitial = !this.keysDown.has(event.keyCode);
|
const isInitial = !this.keysDown.has(keyCode);
|
||||||
this.keysDown.add(event.keyCode);
|
this.keysDown.add(keyCode);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.forwardToReceiver("keydown", {
|
this.forwardToReceiver("keydown", {
|
||||||
keyCode: event.keyCode,
|
keyCode: keyCode,
|
||||||
shift: event.shiftKey,
|
shift: event.shiftKey,
|
||||||
alt: event.altKey,
|
alt: event.altKey,
|
||||||
initial: isInitial,
|
initial: isInitial,
|
||||||
@ -210,8 +213,7 @@ export class InputDistributor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = event.keyCode;
|
if (keyCode === 27) {
|
||||||
if (code === 27) {
|
|
||||||
// Escape key
|
// Escape key
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@ -220,13 +222,14 @@ export class InputDistributor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {KeyboardEvent} event
|
* @param {KeyboardEvent | MouseEvent} event
|
||||||
*/
|
*/
|
||||||
handleKeyup(event) {
|
handleKeyup(event) {
|
||||||
this.keysDown.delete(event.keyCode);
|
const keyCode = event instanceof MouseEvent ? event.button : event.keyCode;
|
||||||
|
this.keysDown.delete(keyCode);
|
||||||
|
|
||||||
this.forwardToReceiver("keyup", {
|
this.forwardToReceiver("keyup", {
|
||||||
keyCode: event.keyCode,
|
keyCode: keyCode,
|
||||||
shift: event.shiftKey,
|
shift: event.shiftKey,
|
||||||
alt: event.altKey,
|
alt: event.altKey,
|
||||||
});
|
});
|
||||||
|
@ -442,6 +442,8 @@ export class Camera extends BasicSerializableObject {
|
|||||||
this.downPreHandler.dispatch(new Vector(event.clientX, event.clientY), enumMouseButton.middle);
|
this.downPreHandler.dispatch(new Vector(event.clientX, event.clientY), enumMouseButton.middle);
|
||||||
} else if (event.button === 2) {
|
} else if (event.button === 2) {
|
||||||
this.downPreHandler.dispatch(new Vector(event.clientX, event.clientY), enumMouseButton.right);
|
this.downPreHandler.dispatch(new Vector(event.clientX, event.clientY), enumMouseButton.right);
|
||||||
|
} else {
|
||||||
|
this.root.app.inputMgr.handleKeydown(event);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -484,6 +486,9 @@ export class Camera extends BasicSerializableObject {
|
|||||||
if (!this.checkPreventDoubleMouse()) {
|
if (!this.checkPreventDoubleMouse()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (event.button >= 3) {
|
||||||
|
this.root.app.inputMgr.handleKeyup(event);
|
||||||
|
}
|
||||||
|
|
||||||
this.combinedSingleTouchStopHandler(event.clientX, event.clientY);
|
this.combinedSingleTouchStopHandler(event.clientX, event.clientY);
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user