<AWT Dev> [9] Review request for 8166591 [macos 10.12] Trackpad scrolling of text on OS X 10.12 Sierra is very fast (Trackpad, Retina only)

Sergey Malenkov malenkov at gmail.com
Thu Sep 29 17:42:16 UTC 2016


It is OK for me. Thanks!
The fix is tested. The patch for 8u is attached.
It slightly differs because of changed codebase.

Could you please read comments about "deazone" in the following issue:
https://youtrack.jetbrains.com/issue/IDEA-158500
Is DELTA_THRESHOLD introduced to solve such a deadzone?


On Thu, Sep 29, 2016 at 5:58 PM, Alexander Scherbatiy
<alexandr.scherbatiy at oracle.com> wrote:
>
> Hello,
>
> Could you review the updated fix:
>   http://cr.openjdk.java.net/~alexsch/8166591/webrev.03
>
> - NSEvent constructor call is updated in the CTrayIcon.m
> - The SCROLL_MASK_PHASE_CANCELLED  and SCROLL_MASK_PHASE_ENDED scroll masks
> are added.
>
> Thanks,
> Alexandr.
>
>
> On 29/09/16 17:29, Sergey Malenkov wrote:
>>
>> The signature of the NSEvent constructor is changed.
>> It is called from AWTView.m (fixed) and CTrayIcon.m (!not fixed!)
>>
>> Could you please support not only the phase start, but the phase end too?
>> It will be useful, when we decide to support precise scrolling in
>> JScrollPane,
>> because we will be able to align precise wheel rotation to integer part.
>> So when an user stops scrolling we can align lines in a lists or trees.
>>
>>
>>>> Could you review the fix:
>>>>    bug: https://bugs.openjdk.java.net/browse/JDK-8166591
>>>>    webrev: http://cr.openjdk.java.net/~alexsch/8166591/webrev.02
>>>>
>>>>    This issue has been risen and investigated by JetBrains team in the
>>>> email:
>>>>
>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2016-September/011991.html
>>>>
>>>>    MacOS Sierra 10.12 sends many scroll events with values close to zero
>>>> when the trackpad is used. The small scroll values are rounded to +1 or
>>>> -1
>>>> so one line scroll would be possible. It leads that many small scroll
>>>> events
>>>> causes fast scrolling.
>>>>
>>>>    The proposed fix accumulates scroll values from the trackpad until
>>>> they
>>>> exceed some threshold  values. Only after that
>>>> MouseWheelEvent.wheelRotation
>>>> value is set. Mouse wheel scroll events are handled as before, small
>>>> values
>>>> are just rounded to + or -1.
>>
>>
>



-- 
Best regards,
Sergey A. Malenkov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IDEA_158500.patch
Type: application/octet-stream
Size: 12446 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20160929/18ad207f/IDEA_158500.patch>


More information about the awt-dev mailing list