Synaptics patch review request - add option for invert circular scrolling direction

Chase Douglas chase.douglas at canonical.com
Sun Feb 5 19:56:42 PST 2012


On 02/06/2012 12:23 AM, Lukáš Karas wrote:
> 
> Dne Ne 5. února 2012 23:29:01 Chase Douglas napsal(a):
>> On 02/05/2012 09:35 PM, Lukáš Karas wrote:
>>> Synaptics driver generates negative (up) scrolling event with clockwise
>>> circular scrolling gesture. This make sense, when you start this gesture
>>> on left corner of touchpad.
>>>
>>> But when you start on right corner and move your finger from top to
>>> bottom,
>>> continue to left clockwise, then page scrolls top. This should be
>>> intuitive inverted in this case.
>>>
>>> My patch add simple option (bool) that invert circular scrolling
>>> direction.
>>> User can setup his gesture preferences with that option.
>>>
>>> Please, review this patch, I am not sure in start_coasting function.
>>
>> Hi Lukáš,
>>
>> I have a feeling we may want inverted scrolling as a higher level
>> option. It would affect all scrolling, include two touch drag, circular,
>> and edge scrolling. I make this claim based on the inversion of
>> scrolling in OS X. We've already had a bug on launchpad.net requesting
>> this feature.
>>
>> Instead of adding property for inverting just circular scrolling,
>> perhaps we should add a generic scrolling inversion property that takes
>> two boolean arguments: invert vertical scrolling and invert horizontal
>> scrolling. It would affect all the scrolling behaviors.
>>
>> What do you think?
>>
>> (Btw, your patch seems to include hunks that are unrelated to the
>> changes. Maybe they have some whitespace munging?)
>>
>> Thanks for the effort so far!
>>
>> -- Chase
> 
> But I don't want invert direction of *all* scrolling events, but just circular 
> gesture, when it starts at right corner. If you use combination of two methods 
> - mouse wheel and touchpad circular gesture for example - It make sence invert 
> only touchpad gesture. 

Yeah, I see what you're saying. Bit of a brain fart on my part :).

> Maybe will be better invert scroll events automaticaly depending on where 
> gesture starts. Because you can start circular scrolling on any corner with 
> CircScrollTrigger = 0. If gesture starts with up to down move and continue to 
> circle, I expect scroll down, it is not significant on what corner starts 
> (left or right).

Maybe, though I worry that the user is conflating edge-scrolling and
circular scrolling in this scenario. This sounds like one of those ideas
that sounds good in theory, but once you test it out for a bit it
doesn't feel quite right. You might find yourself second-guessing what
the driver determined the direction to be. There might be a
psychological factor that sometimes your intentions match your actions,
and sometimes they don't. "Problem exists between fingers and brain" :).

I'm just trying to make some suggestions, and I don't use circular
scrolling myself, so I'm not judging your proposal either way. I have no
issue with having a circular scroll inversion property if others think
it would be good too. I suppose I'll leave it at that.

Thanks!

-- Chase


More information about the xorg-devel mailing list