[Bf-committers] Horizontal scrolling support (mainly on Mac)

Damien Plisson damien.plisson at yahoo.fr
Thu Nov 5 17:35:59 CET 2009


Unfortunately, only the two-fingers gestures (pan, rotate, magnify)  
return continuous values, the three-fingers ones (swipe) give only  
discrete (-1/0/+1) values per gesture, and thus can't be used for a  
zoom operation.

Damien

Le 5 nov. 2009 à 12:22, William Reynish a écrit :

> Hi James and Damien,
>
> The smooth scrolling patch sounds great. As you point out, OS X has
> very slick scrolling because it doesn't treat scrolling like lots of
> fast clicks, but more like a single smooth movement. Scrolling slowly
> in Blender exposes how choppy the experience currently is, and so
> having smooth scrolling in Blender would be really nice.
>
> As for trackpads, this is something we can really look into exploiting
> better. In the short term, omnidirectional scrolling would be very
> nice, and in the longer term, multi-touch gestures too. It the Blender
> Conference it struck me just how many people were carrying not only
> laptops, but shiny new Macbook Pro's, all of which support multitouch
> gestures in the trackpad.
>
> At the moment it's really inefficient moving around in 3D using a
> laptop, and tapping into multitouch can really help make pans, orbits
> and zooms fast and natural for laptop users. We can explore different
> ways of using multiple fingers and scrolling to make these things much
> easier for laptop users, like:
>
> Two-finger scrolling: pan around in any direction
> Alt + two-finger scrolling: Orbit around
> Three-finger scrolling: zoom
>
> This way the two-finger scrolling becomes nice and consistent, but we
> can just as easily explore other mappings.
>
> Cheers,
>
> -William
>
>
>
> On 5 Nov, 2009, at 10:52 AM, Damien Plisson wrote:
>
>> Hi James,
>>
>> I agree with you that the handling of the trackpad features of the
>> macbooks would be very useful, especially since they don't provide a
>> MMB, and that LMB and RMB can't be pressed at the same time.
>>
>> I'll more in favor of a smooth option (your second one, the first one
>> is too jerky especially for rotate), with the handling of the two
>> other gestures (pinch & rotate for zoom & rotation).
>> These two are documented in the 10.6 SDK, but are functional, though
>> undocumented from 10.5. And it should even be possible to have them
>> included in a 10.4 built (even if functional only 10.5+).
>>
>> Anyway, these need more important changes in non OSX (thus
>> multiplatform) parts of Blender code.
>> One idea for such "additional per OS" features would be to provide an
>> "operator call" event to ghost, to provide OS specific options while
>> maintaining a cross-platform common base in WM/event.
>> But this is more a long term objective at a very early brainstorming
>> status.
>>
>> We need the UI experts advice too for this...
>>
>> Damien
>>
>>
>> Le 5 nov. 2009 à 00:46, James Deery a écrit :
>>
>>> Hi,
>>>
>>> I've been playing with Blender recently and couldn't help feeling it
>>> could benefit from supporting horizontal scrolling. Particularly the
>>> full two dimensional scrolling provided by OS X, and especially the
>>> two finger scrolling on the trackpads. I've had a look at the event
>>> system and have come up with two ways of doing this.
>>>
>>> The first is simply to add extra parameters and constants to the
>>> various mouse wheel events to allow for left and right wheel events.
>>> This seems to easily apply to Windows and X11 too.
>>>
>>> But OS X handles scroll events differently, more like pixel based
>>> mouse movement than the click-based events on Windows and X11, so I
>>> though about creating a new event type, distinct from "wheel"  
>>> events.
>>> I called this a "mouse pan". I ended up changing a lot more with  
>>> this
>>> approach, including additions to the view operators. This gives much
>>> smoother scrolling and almost works for non-constrained zooming, but
>>> needs a fair bit more work.
>>>
>>> So I have two patches, both only apply to OS X at the moment:
>>>
>>> http://demo.jadex.org/scroll-simple.patch
>>> http://demo.jadex.org/scroll-pan.patch
>>>
>>> I don't think either are ready to apply as they are and I'm sure
>>> there
>>> will be differing opinions on my key mapping. The first patch would
>>> obviously work better cross-platform, but I think something is
>>> potentially being missed. So is it worth me continuing down the
>>> second
>>> root? Ie, is there any chance of it being accepted?
>>>
>>> Any comments and suggestions?
>>>
>>> James
>>> _______________________________________________
>>> 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