mirror of
https://framagit.org/JonathanMM/sutom.git
synced 2024-06-19 22:25:05 +02:00
Suppression de doublons d'événements avec le clavier physique
This commit is contained in:
parent
d125212d19
commit
5b1e2a5ea4
44
ts/input.ts
44
ts/input.ts
|
@ -25,6 +25,8 @@ export default class Input {
|
|||
this._estBloque = false;
|
||||
this._resultats = new Array<LettreResultat>();
|
||||
|
||||
this.ajouterEvenementClavierPhysique();
|
||||
|
||||
this.dessinerClavier(configuration.disposition ?? Configuration.Default.disposition);
|
||||
}
|
||||
|
||||
|
@ -64,7 +66,7 @@ export default class Input {
|
|||
|
||||
this._inputArea.appendChild(ligneDiv);
|
||||
}
|
||||
this.ajouterEvenements();
|
||||
this.ajouterEvenementClavierVirtuel();
|
||||
this.updateClavier(this._resultats);
|
||||
}
|
||||
|
||||
|
@ -97,7 +99,27 @@ export default class Input {
|
|||
}
|
||||
}
|
||||
|
||||
private ajouterEvenements(): void {
|
||||
private ajouterEvenementClavierVirtuel(): void {
|
||||
this._inputArea.querySelectorAll(".input-lettre").forEach((lettreDiv) =>
|
||||
lettreDiv.addEventListener("click", (event) => {
|
||||
event.stopPropagation();
|
||||
let div = event.currentTarget;
|
||||
if (!div) return;
|
||||
let lettre = (div as HTMLElement).dataset["lettre"];
|
||||
if (lettre === undefined) {
|
||||
return;
|
||||
} else if (lettre === "_effacer") {
|
||||
this.effacerLettre();
|
||||
} else if (lettre === "_entree") {
|
||||
this.validerMot();
|
||||
} else {
|
||||
this.saisirLettre(lettre);
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
private ajouterEvenementClavierPhysique(): void {
|
||||
document.addEventListener(
|
||||
"keypress",
|
||||
((event: KeyboardEvent) => {
|
||||
|
@ -124,24 +146,6 @@ export default class Input {
|
|||
}
|
||||
}).bind(this)
|
||||
);
|
||||
|
||||
this._inputArea.querySelectorAll(".input-lettre").forEach((lettreDiv) =>
|
||||
lettreDiv.addEventListener("click", (event) => {
|
||||
event.stopPropagation();
|
||||
let div = event.currentTarget;
|
||||
if (!div) return;
|
||||
let lettre = (div as HTMLElement).dataset["lettre"];
|
||||
if (lettre === undefined) {
|
||||
return;
|
||||
} else if (lettre === "_effacer") {
|
||||
this.effacerLettre();
|
||||
} else if (lettre === "_entree") {
|
||||
this.validerMot();
|
||||
} else {
|
||||
this.saisirLettre(lettre);
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
private effacerLettre(): void {
|
||||
|
|
Loading…
Reference in a new issue