Skip to content

Commit c5514bc

Browse files
squaresundominic
authored andcommitted
Fix KeyboardManager keydown events keeps firing phaserjs#3239
1 parent 7c96e93 commit c5514bc

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

src/input/keyboard/KeyboardManager.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -362,23 +362,26 @@ var KeyboardManager = new Class({
362362
var event = queue[i];
363363
var code = event.keyCode;
364364

365-
// Will emit a keyboard or keyup event
366-
this.emit(event.type, event);
367-
368365
if (event.type === 'keydown')
369366
{
370-
if (KeyMap[code])
367+
if (KeyMap[code] && (keys[code] === undefined || (keys[code] && keys[code].isDown === false)))
371368
{
369+
// Will emit a keyboard or keyup event
370+
this.emit(event.type, event);
371+
372372
this.emit('keydown_' + KeyMap[code], event);
373373
}
374374

375-
if (keys[code])
375+
if (keys[code] && keys[code].isDown === false)
376376
{
377377
ProcessKeyDown(keys[code], event);
378378
}
379379
}
380380
else
381381
{
382+
// Will emit a keyboard or keyup event
383+
this.emit(event.type, event);
384+
382385
this.emit('keyup_' + KeyMap[code], event);
383386

384387
if (keys[code])

0 commit comments

Comments
 (0)