Skip to content

OrbitControls: Better TouchPad support. #22525

@philippb

Description

@philippb

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions