[Bf-committers] Trackpad multi-touch gestures (scroll/pinch/rotate) handling patch
William Reynish
billrey at me.com
Tue Jan 5 20:19:39 CET 2010
Hi Damien,
I'll test the patch soon. Thanks for the awesome work.
What I meant about the controls was this: I love that you've included
support for the rotate gesture, but rotating around the view plane
isn't very useful. Alt+scrolling works for orbiting, but is a bit
cumbersome compared to simpler gestures sans modifier. Since orbiting
is a very common action I'd advise that it be mapped to the rotate
gesture, replacing the view plane rotation.
Though I wonder if all of this is customisable through the input
editor? Or is it hard coded?
Cheers
William Reynish
On 05/01/2010, at 18.33, Damien Plisson <damien.plisson at yahoo.fr> wrote:
> Hi William,
>
> All two fingers API return float incremental values that can be
> quite precise.
> That's why you can zoom in tiny increments.
> Following Shaul feedback, I've decrease by a factor of 4 the zoom
> speed.
>
> The issue is with panning which has an idle threshold that may be
> too high, and that explains the jerkiness you observed. To try to
> lessen this effect, I've implemented (in the updated patch) a
> quadratic acceleration. Tell me what you think of it !
>
> I don't get exactly suggestion for rotation, as orbital rotation is
> available through Alt+panning when in "turntable" mode.
>
> BTW, a funny thing is that thx to obj-C runtime binding, even if
> Blender is compiled for ppc 10.4 (systems way before multitouch
> trackpads), multitouch works fine on a recent mbp !
>
> I've updated the patch, but if it seems ok, I'll commit it soon...
>
> Cheers,
> Damien
>
> Le 4 janv. 2010 à 16:56, William Reynish a écrit :
>
>> 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
>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>
> _______________________________________________
> 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