mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-06-13 13:04:03 +00:00
Filter out shifted key presses.
Only accept key presses that do not have Shift, Ctrl or Alt pressed.
This commit is contained in:
parent
5f0a95ba11
commit
7dfe867de5
@ -210,6 +210,7 @@ export class InputDistributor {
|
||||
this.forwardToReceiver("keydown", {
|
||||
keyCode: keyCode,
|
||||
shift: event.shiftKey,
|
||||
ctrl: event.ctrlKey,
|
||||
alt: event.altKey,
|
||||
initial: isInitial,
|
||||
event,
|
||||
@ -236,6 +237,7 @@ export class InputDistributor {
|
||||
this.forwardToReceiver("keyup", {
|
||||
keyCode: keyCode,
|
||||
shift: event.shiftKey,
|
||||
ctrl: event.ctrlKey,
|
||||
alt: event.altKey,
|
||||
});
|
||||
}
|
||||
|
@ -89,9 +89,10 @@ export class Dialog {
|
||||
* @param {object} param0
|
||||
* @param {number} param0.keyCode
|
||||
* @param {boolean} param0.shift
|
||||
* @param {boolean} param0.ctrl
|
||||
* @param {boolean} param0.alt
|
||||
*/
|
||||
handleKeydown({ keyCode, shift, alt }) {
|
||||
handleKeydown({ keyCode, shift, ctrl, alt }) {
|
||||
if (keyCode === kbEnter && this.enterHandler) {
|
||||
this.internalButtonHandler(this.enterHandler);
|
||||
return STOP_PROPAGATION;
|
||||
|
@ -439,17 +439,18 @@ export class KeyActionMapper {
|
||||
* @param {object} param0
|
||||
* @param {number} param0.keyCode
|
||||
* @param {boolean} param0.shift
|
||||
* @param {boolean} param0.ctrl
|
||||
* @param {boolean} param0.alt
|
||||
* @param {boolean=} param0.initial
|
||||
*/
|
||||
handleKeydown({ keyCode, shift, alt, initial }) {
|
||||
handleKeydown({ keyCode, shift, ctrl, alt, initial }) {
|
||||
let stop = false;
|
||||
|
||||
// Find mapping
|
||||
for (const key in this.keybindings) {
|
||||
/** @type {Keybinding} */
|
||||
const binding = this.keybindings[key];
|
||||
if (binding.keyCode === keyCode && (initial || binding.repeated)) {
|
||||
if (binding.keyCode === keyCode && !shift && !ctrl && !alt && (initial || binding.repeated)) {
|
||||
/** @type {Signal} */
|
||||
const signal = this.keybindings[key].signal;
|
||||
if (signal.dispatch() === STOP_PROPAGATION) {
|
||||
@ -468,9 +469,10 @@ export class KeyActionMapper {
|
||||
* @param {object} param0
|
||||
* @param {number} param0.keyCode
|
||||
* @param {boolean} param0.shift
|
||||
* @param {boolean} param0.ctrl
|
||||
* @param {boolean} param0.alt
|
||||
*/
|
||||
handleKeyup({ keyCode, shift, alt }) {
|
||||
handleKeyup({ keyCode, shift, ctrl, alt }) {
|
||||
// Empty
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ export class KeybindingsState extends TextualGameState {
|
||||
type: "info",
|
||||
});
|
||||
|
||||
dialog.inputReciever.keydown.add(({ keyCode, shift, alt, event }) => {
|
||||
dialog.inputReciever.keydown.add(({ keyCode, shift, ctrl, alt, event }) => {
|
||||
if (keyCode === 27) {
|
||||
this.dialogs.closeDialog(dialog);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user