[Bf-committers] Trackpad multi-touch gestures (scroll/pinch/rotate) handling patch

William Reynish billrey at me.com
Mon Jan 4 16:56:35 CET 2010


Hi Damien,

I've tested your patch today - works really nicely. I was even surprised to see how the zooming is butter smooth - either it's implemented in a different way, or it moves in very tiny, unnoticable increments. Regular panning and orbiting is more jerky though. I agree with others that the zooming is a bit too sensitive, and there seems to be a tiny amount of lag before the pinch gesture starts to react, after which it's perfectly smooth and responsive.

The controls are quite nice, though you seldom want to rotate around the view plane. I'd prefer if it rotated around the y axis when using the rotate gesture. Either that or the two finger scrolling should default to orbiting, which is after all the most common movement you'll want to do in 3d. 

Yes, I think it should be kept as auto, detecting whether the user is using a mouse, or trackpad. Laptop users attach or detach mice frequently and it would be a hassle to manually set it up each time.

Thanks a bunch for this work. I'll definitely propose that we include this.

William

On 3 Jan, 2010, at 6:59 PM, Damien Plisson wrote:

> Hi all,
> 
> During the vacation time, I was stuck in an Internet-free place (an issue), but without a mouse (more serious issue), so to keep my Blender experience as good as possible, I needed to get these shiny trackpad multitouch features operational !
> So, based on trackpad pan work initiated by James Deery [his mail of Nov 5th 2009], I've implemented the handling of the trackpad 2-fingers gestures :
> 
> - 2 fingers scroll (MOUSEPAN / GHOST_kTrackpadEventScroll event) pans the view
> - 2 fingers pinch (MOUSEZOOM / GHOST_kTrackpadEventMagnify event) zooms the view
> And in 3D view:
> - alt + 2 fingers scroll rotates the view
> - 2 fingers rotation (MOUSEROTATE / GHOST_kTrackpadEventRotate) rotates the view around the axis orthogonal to the screen (the 3rd axis !)
> 
> This is currently fully implemented for OSX (GHOST Cocoa fires the new events), but there must be some PC laptops with similar features that'll take advantage of this... PC users, can you confirm ? (I remember using a laptop with the 2D scroll features on its trackpad).
> FYI, OSX implementation compiles from 10.4, though the 
> 
> In Ghost, I've currently implemented an auto-detection of the source peripheral, so that a regular mouse still sends MOUSEWHEEL events.
> Apple special mice behave like trackpad (not configurable from documented API), so the mighty mouse trackball sends 2D scroll events. And the magic mouse touch gestures must be like trackpad's.
> 
> Do you think it should be kept in "auto" mode (wheel events for regular mouse, scroll/zoom/rotate events for trackpad/special mouse), or be an option user configurable ?
> 
> I've posted this as patch #20555 in the patch tracker : https://projects.blender.org/tracker/index.php?func=detail&aid=20555&group_id=9&atid=127
> for your reviews, comments & suggestions.
> 
> Damien
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list