-
-
Notifications
You must be signed in to change notification settings - Fork 36.1k
Description
Related problem
We're coming from OrbitControls which work with the mouse and a touch screen (like iPad/iPhone).
OrbitControls (and other controls) don't work with touchpad (mac book). This is quite unintuitive for people who use touchpad a lot. Multiple big applications like Figma support two finger zoom with the touchpad.
Currently two finger pan zooms in the entire browser window as three-js does not recognize the events and the browser takes over.
Solution
Describe the solution you'd like
We would like to add native touchpad support to OrbitControls. In specific
- Two finger pan orbit controls
- Two finger pinch to zoom
- Two finger rotate
- Command ⌘ + two finger pan == zoom
- Option/alt + two finger pan == pan (vs currently ⌘+Prim mouse down, 1 finger pan)
Key bindings
| Mac | Windows |
|---|---|
| Command ⌘ | Control |
| Option⌥ | Alt |
This is behavior similar to Blender, except for added pan functionality with option + two finger
Describe alternatives you've considered
The alternative is to have touchpad users use the application like if they have a mouse and not offer native touchpad support.
Tasks
- Agree with project maintainers on a API
- Evaluate touchpad events for cross browser functionality
- Implement
Implementation plan
We aim to implement this feature ourselves. We're filing a GitHub issue to be able to communicate about the implementation details with the projects core maintainers.