Skip to content

Add multitouch support - #1510

Open
mlyle wants to merge 4 commits into
OpenBoard-org:devfrom
mlyle:pr/multitouch
Open

Add multitouch support#1510
mlyle wants to merge 4 commits into
OpenBoard-org:devfrom
mlyle:pr/multitouch

Conversation

@mlyle

@mlyle mlyle commented Jul 13, 2026

Copy link
Copy Markdown

Add support for multitouch

  • Track state "per touch" rather than globally
  • Add config item to disable/enable multitouch, defaulting off
  • Add multitouch modes: gesture only, multidraw only, or intelligent auto-selection
  • Add strokes to undo when completed

This fixes item #250 and allows multiple people side by side to draw simultaneously. Tested on Windows 10 on an old DTEN touchboard.

@letsfindaway

Copy link
Copy Markdown
Collaborator

See also #963 for a previous attempt to add this feature. I did not do any comparison. So this is just to make you aware of this earlier PR.

mlyle added 4 commits July 16, 2026 11:06
Move in-flight stroke, interpolation, eraser, and undo state into pointer-specific contexts while keeping pointer zero for existing mouse, tablet, and geometry-tool callers. Protect transient work across concurrent pointers and support canceling an unfinished stroke without an undo entry.
Define default-off board multitouch and gesture tuning settings, expose the feature in Display preferences on Qt 6, and keep the control hidden on older Qt builds.
Intercept Qt 6 touchscreen sequences in the board and desktop annotation view. Route pen, marker, and eraser contacts through independent scene pointers; defer legacy tools through application-generated mouse events; and add sticky two-finger pan and pinch promotion on the board. Finalize touch state across tool, scene, tablet, focus, and window transitions.
Add explicit gesture, drawing, and automatic modes with board-toolbar and preference controls. Keep simultaneous contacts independent, classify pinch gestures conservatively, make native touch own the canvas over compatibility mouse input, and recover cleanly from coalesced or irregular contact state transitions.
@mlyle
mlyle changed the base branch from master to dev July 17, 2026 01:03
@mlyle

mlyle commented Jul 17, 2026

Copy link
Copy Markdown
Author

Rebased and targeted to dev branch.

This differs from the previous pull request:

  • Adds a config option to enable
  • Adds a toolbar button to set mode
  • Allows multitouch to do gestures (zoom/pan), multiple people drawing, or either depending upon context. I worked a fair bit on the heuristic and it mostly does the right thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants