middle drag for mouse
This commit is contained in:
parent
896a3f07f4
commit
c1bea959f3
1 changed files with 10 additions and 0 deletions
|
|
@ -390,6 +390,15 @@ class Orbit extends EventDispatcher {
|
||||||
if (scope.enabled === false) return;
|
if (scope.enabled === false) return;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
// keep wheel as dolly, but treat middle-button drag like right-button drag
|
||||||
|
// in default orbit bindings.
|
||||||
|
const touchSynthesized = Boolean(event?.sourceCapabilities?.firesTouchEvents);
|
||||||
|
if (!touchSynthesized
|
||||||
|
&& event.button === MOUSE.MIDDLE
|
||||||
|
&& scope.mouseButtons.ZOOM === MOUSE.MIDDLE
|
||||||
|
&& scope.mouseButtons.PAN === MOUSE.RIGHT) {
|
||||||
|
state = STATE.PAN;
|
||||||
|
} else {
|
||||||
switch (event.button) {
|
switch (event.button) {
|
||||||
case scope.mouseButtons.ORBIT:
|
case scope.mouseButtons.ORBIT:
|
||||||
state = event.metaKey ? STATE.PAN : STATE.ROTATE;
|
state = event.metaKey ? STATE.PAN : STATE.ROTATE;
|
||||||
|
|
@ -401,6 +410,7 @@ class Orbit extends EventDispatcher {
|
||||||
state = STATE.PAN;
|
state = STATE.PAN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case STATE.ROTATE:
|
case STATE.ROTATE:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue