Donc, je suis en train de coder un jeu qui utilisera une entrée au clavier. Je suivre les événements KeyDown et KeyUp similaires ici:L'entrée du jeu Javascript perd son focus
http://nokarma.org/2011/02/27/javascript-game-development-keyboard-input/index.html
Cependant, il y a des cas où l'utilisation des événements keyUp/KEYDOWN peuvent manquer. J'ai essayé d'ajouter un flou à mon corps, mais il y a des cas d'utilisation où ça ne brouille pas. L'exemple le plus simple que je peux donner est que si un utilisateur clique sur une zone en dehors du document, par exemple sur un marque-page, le navigateur ne donne aucun événement au DOM et le menu contextuel commence à recevoir des entrées clavier. SO, si l'utilisateur maintenait la flèche HAUT et maintenait la flèche haut, clique avec le bouton droit sur un signet, puis relâche la touche fléchée, l'événement KeyUp correspondant ne sera jamais donné au navigateur. Si l'utilisateur appuie à nouveau sur la touche, la clé se réinitialisera, mais cela reste un bug. Pour Chrome et Firefox, je pouvais utiliser l'API PointerLock, mais je voulais savoir s'il y avait autre chose que je pouvais faire. J'ai pensé à flouter automatiquement si la souris quitte la zone client, mais quand je joue à des jeux, je déplace généralement la souris dans un coin inférieur. AFAIK on ne peut pas interroger manuellement le clavier. Y a-t-il des solutions de rechange que j'ai ratées?
Le temps entre les pressions sur les touches semble varier considérablement, donc je vais les faire expirer après un nombre de millisecondes "sûr". Chaque événement de clavier réinitialisera la minuterie. Pourtant, c'est exactement le genre de travail que je cherchais. Merci beaucoup. –