From ae9934776f383547ef136c13ed0b289a0d2abbb4 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Fri, 24 Jan 2014 12:04:33 +0000 Subject: [PATCH] Controls: Adding keydown/keyup events listener to window. Fixes #4311 and #4327. --- examples/js/controls/FirstPersonControls.js | 5 +++-- examples/js/controls/FlyControls.js | 4 ++-- examples/js/controls/OrbitControls.js | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/js/controls/FirstPersonControls.js b/examples/js/controls/FirstPersonControls.js index c0a632bb7a..2cceb2de2d 100644 --- a/examples/js/controls/FirstPersonControls.js +++ b/examples/js/controls/FirstPersonControls.js @@ -265,8 +265,9 @@ THREE.FirstPersonControls = function ( object, domElement ) { this.domElement.addEventListener( 'mousemove', bind( this, this.onMouseMove ), false ); this.domElement.addEventListener( 'mousedown', bind( this, this.onMouseDown ), false ); this.domElement.addEventListener( 'mouseup', bind( this, this.onMouseUp ), false ); - this.domElement.addEventListener( 'keydown', bind( this, this.onKeyDown ), false ); - this.domElement.addEventListener( 'keyup', bind( this, this.onKeyUp ), false ); + + window.addEventListener( 'keydown', bind( this, this.onKeyDown ), false ); + window.addEventListener( 'keyup', bind( this, this.onKeyUp ), false ); function bind( scope, fn ) { diff --git a/examples/js/controls/FlyControls.js b/examples/js/controls/FlyControls.js index 4536bdf870..2a033ad18b 100644 --- a/examples/js/controls/FlyControls.js +++ b/examples/js/controls/FlyControls.js @@ -260,8 +260,8 @@ THREE.FlyControls = function ( object, domElement ) { this.domElement.addEventListener( 'mousedown', bind( this, this.mousedown ), false ); this.domElement.addEventListener( 'mouseup', bind( this, this.mouseup ), false ); - this.domElement.addEventListener( 'keydown', bind( this, this.keydown ), false ); - this.domElement.addEventListener( 'keyup', bind( this, this.keyup ), false ); + window.addEventListener( 'keydown', bind( this, this.keydown ), false ); + window.addEventListener( 'keyup', bind( this, this.keyup ), false ); this.updateMovementVector(); this.updateRotationVector(); diff --git a/examples/js/controls/OrbitControls.js b/examples/js/controls/OrbitControls.js index e9aa770e8e..c0251fc8ce 100644 --- a/examples/js/controls/OrbitControls.js +++ b/examples/js/controls/OrbitControls.js @@ -570,12 +570,12 @@ THREE.OrbitControls = function ( object, domElement ) { this.domElement.addEventListener( 'mousewheel', onMouseWheel, false ); this.domElement.addEventListener( 'DOMMouseScroll', onMouseWheel, false ); // firefox - this.domElement.addEventListener( 'keydown', onKeyDown, false ); - this.domElement.addEventListener( 'touchstart', touchstart, false ); this.domElement.addEventListener( 'touchend', touchend, false ); this.domElement.addEventListener( 'touchmove', touchmove, false ); + window.addEventListener( 'keydown', onKeyDown, false ); + }; THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); -- GitLab