Merge pull request #93 from LoveEevee/gamepad-disable-with-keyboard-input

Gamepad: Disable with keyboard input
This commit is contained in:
Bui 2018-12-15 22:04:02 +00:00 committed by GitHub
commit 790f77bd6d
4 changed files with 9 additions and 0 deletions

View File

@ -32,6 +32,9 @@ class Gamepad{
}
}
play(callback){
if(pageEvents.lastKeyEvent + 5000 > Date.now()){
return
}
if("getGamepads" in navigator){
var gamepads = navigator.getGamepads()
}else{

View File

@ -3,6 +3,7 @@ class PageEvents{
this.allEvents = new Map()
this.keyListeners = new Map()
this.mouseListeners = new Map()
this.lastKeyEvent = -Infinity
this.add(window, "keydown", this.keyEvent.bind(this))
this.add(window, "keyup", this.keyEvent.bind(this))
this.add(window, "mousemove", this.mouseEvent.bind(this))
@ -80,6 +81,7 @@ class PageEvents{
})
}
keyEvent(event){
this.lastKeyEvent = Date.now()
this.keyListeners.forEach(addedKeyCode => {
this.checkListener(addedKeyCode.get("all"), event)
this.checkListener(addedKeyCode.get(event.keyCode), event)

View File

@ -714,6 +714,9 @@ class Scoresheet{
this.redrawRunning = false
pageEvents.keyRemove(this, "all")
pageEvents.remove(this.canvas, ["mousedown", "touchstart"])
if(p2.session){
pageEvents.remove(p2, "message")
}
delete this.ctx
delete this.canvas
}

View File

@ -59,6 +59,7 @@ class Session{
this.gamepad.clean()
pageEvents.remove(window, ["mousedown", "touchstart"])
pageEvents.keyRemove(this, 27)
pageEvents.remove(p2, "message")
delete this.endButton
delete this.sessionInvite
}