Skip to content

Commit 04b15e3

Browse files
authored
Merge pull request #17002 from Mugen87/dev36
TrackballControls: Introduce custom mouse mappings.
2 parents aed5e2e + 4e95271 commit 04b15e3

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

examples/js/controls/TrackballControls.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ THREE.TrackballControls = function ( object, domElement ) {
3535

3636
this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ];
3737

38+
this.mouseButtons = { ROTATE: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
39+
3840
// internals
3941

4042
this.target = new THREE.Vector3();
@@ -387,7 +389,24 @@ THREE.TrackballControls = function ( object, domElement ) {
387389

388390
if ( _state === STATE.NONE ) {
389391

390-
_state = event.button;
392+
switch ( event.button ) {
393+
394+
case _this.mouseButtons.ROTATE:
395+
_state = STATE.ROTATE;
396+
break;
397+
398+
case _this.mouseButtons.ZOOM:
399+
_state = STATE.ZOOM;
400+
break;
401+
402+
case _this.mouseButtons.PAN:
403+
_state = STATE.PAN;
404+
break;
405+
406+
default:
407+
_state = STATE.NONE;
408+
409+
}
391410

392411
}
393412

examples/jsm/controls/TrackballControls.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import {
99
EventDispatcher,
10+
MOUSE,
1011
Quaternion,
1112
Vector2,
1213
Vector3
@@ -42,6 +43,8 @@ var TrackballControls = function ( object, domElement ) {
4243

4344
this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ];
4445

46+
this.mouseButtons = { ROTATE: MOUSE.LEFT, ZOOM: MOUSE.MIDDLE, PAN: MOUSE.RIGHT };
47+
4548
// internals
4649

4750
this.target = new Vector3();
@@ -394,7 +397,24 @@ var TrackballControls = function ( object, domElement ) {
394397

395398
if ( _state === STATE.NONE ) {
396399

397-
_state = event.button;
400+
switch ( event.button ) {
401+
402+
case _this.mouseButtons.ROTATE:
403+
_state = STATE.ROTATE;
404+
break;
405+
406+
case _this.mouseButtons.ZOOM:
407+
_state = STATE.ZOOM;
408+
break;
409+
410+
case _this.mouseButtons.PAN:
411+
_state = STATE.PAN;
412+
break;
413+
414+
default:
415+
_state = STATE.NONE;
416+
417+
}
398418

399419
}
400420

0 commit comments

Comments
 (0)