diff --git a/examples/js/controls/TrackballControls.js b/examples/js/controls/TrackballControls.js index 78734eb348333b979f8732fcac42317db72797b5..d25416d4f78b9c85b27404797fec5934f87b1543 100644 --- a/examples/js/controls/TrackballControls.js +++ b/examples/js/controls/TrackballControls.js @@ -35,6 +35,8 @@ THREE.TrackballControls = function ( object, domElement ) { this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ]; + this.mouseButtons = { LEFT: THREE.MOUSE.LEFT, MIDDLE: THREE.MOUSE.MIDDLE, RIGHT: THREE.MOUSE.RIGHT }; + // internals this.target = new THREE.Vector3(); @@ -387,7 +389,24 @@ THREE.TrackballControls = function ( object, domElement ) { if ( _state === STATE.NONE ) { - _state = event.button; + switch ( event.button ) { + + case _this.mouseButtons.LEFT: + _state = STATE.ROTATE; + break; + + case _this.mouseButtons.MIDDLE: + _state = STATE.ZOOM; + break; + + case _this.mouseButtons.RIGHT: + _state = STATE.PAN; + break; + + default: + _state = STATE.NONE; + + } } diff --git a/examples/jsm/controls/TrackballControls.js b/examples/jsm/controls/TrackballControls.js index a729c885344d4b3f2cedfba37bfdf88b2977f193..aaa41474ce5cc284bc018156fd1780b085db13c5 100644 --- a/examples/jsm/controls/TrackballControls.js +++ b/examples/jsm/controls/TrackballControls.js @@ -7,6 +7,7 @@ import { EventDispatcher, + MOUSE, Quaternion, Vector2, Vector3 @@ -42,6 +43,8 @@ var TrackballControls = function ( object, domElement ) { this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ]; + this.mouseButtons = { LEFT: MOUSE.LEFT, MIDDLE: MOUSE.MIDDLE, RIGHT: MOUSE.RIGHT }; + // internals this.target = new Vector3(); @@ -394,7 +397,24 @@ var TrackballControls = function ( object, domElement ) { if ( _state === STATE.NONE ) { - _state = event.button; + switch ( event.button ) { + + case _this.mouseButtons.LEFT: + _state = STATE.ROTATE; + break; + + case _this.mouseButtons.MIDDLE: + _state = STATE.ZOOM; + break; + + case _this.mouseButtons.RIGHT: + _state = STATE.PAN; + break; + + default: + _state = STATE.NONE; + + } }