diff --git a/src/behaviours/joystick-dpad4.js b/src/behaviours/joystick-dpad4.js index d0cc1e2a87d1882346deb724d5ba14570d46b02c..0eae7e1d194dfb6f207da53a7499caaf8e483c02 100644 --- a/src/behaviours/joystick-dpad4.js +++ b/src/behaviours/joystick-dpad4.js @@ -8,10 +8,16 @@ function joystick_dpad4(el, outputPrefix) { this.previous = "none"; this.hapticIntensity = "low"; this.emitDPad4 = this.emitDPad4.bind(this); - el.addEventListener("axismove", this.emitDPad4); + this.el = el; } joystick_dpad4.prototype = { + addEventListeners: function() { + this.el.addEventListener("axismove", this.emitDPad4); + }, + removeEventListeners: function() { + this.el.removeEventListener("axismove", this.emitDPad4); + }, emitDPad4: function(event) { const x = event.detail.axis[0]; const y = event.detail.axis[1]; diff --git a/src/behaviours/trackpad-dpad4.js b/src/behaviours/trackpad-dpad4.js index b23ca1dbdb1f61ec6d99e9d2fab17ab4c96b0248..f15908d34d5854d60ae158af7026007745293dfb 100644 --- a/src/behaviours/trackpad-dpad4.js +++ b/src/behaviours/trackpad-dpad4.js @@ -10,12 +10,20 @@ function trackpad_dpad4(el, outputPrefix) { this.unpress = this.unpress.bind(this); this.hapticIntensity = "low"; this.centerRadius = 0.6; - el.addEventListener("axismove", this.emitDPad4); - el.addEventListener("trackpaddown", this.press); - el.addEventListener("trackpadup", this.unpress); + this.el = el; } trackpad_dpad4.prototype = { + addEventListeners: function() { + this.el.addEventListener("axismove", this.emitDPad4); + this.el.addEventListener("trackpaddown", this.press); + this.el.addEventListener("trackpadup", this.unpress); + }, + removeEventListeners: function() { + this.el.removeEventListener("axismove", this.emitDPad4); + this.el.removeEventListener("trackpaddown", this.press); + this.el.removeEventListener("trackpadup", this.unpress); + }, press: function() { this.pressed = true; },