[Bf-committers] Trackpad multi-touch gestures (scroll/pinch/rotate) handling patch
Damien Plisson
damien.plisson at yahoo.fr
Tue Jan 5 21:10:50 CET 2010
It uses the keymap, but MOUSEROTATE is hard coded to the third axis.
So I've made a quick update to the patch : trackpad_multitouch_orbit.patch
Cheers,
Damien
Le 5 janv. 2010 à 20:19, William Reynish a écrit :
> 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
> _______________________________________________
> 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