Support Windows Precision Touchpad |
||||||
Issue descriptionThis is the main issue for tracking Windows Precision Touchpad.
,
Oct 31 2017
crbug.com/762386 Not related. crbug.com/765311 Should be not related since that is not an issue only for touchpad. crbug.com/713907 Maybe related. crbug.com/517187 this issue continue the patch introduce in 517187
,
Oct 31 2017
Yeah I also think https://bugs.chromium.org/p/chromium/issues/detail?id=713907 is related because when I tested this issue in VS Code the behaviour in Chrome seemed exactly the same.
,
Oct 31 2017
Thank you. I will for sure try 713907 when I have progress for this issue.
,
Nov 6 2017
,
Nov 9 2017
Do you have an ETA on this issue? I'm looking forward to this fix :)
,
Nov 15 2017
There's no ETA as development can be hard to predict. But progress has been made and we're hoping it'll be launched in Q1 2018.
,
Nov 28 2017
Any chance this fix will add Pinch To Zoom support for devices with Windows Precision Touchpad as well? See: https://bugs.chromium.org/p/chromium/issues/detail?id=575670 and https://bugs.chromium.org/p/chromium/issues/detail?id=681390#c1
,
Dec 14 2017
chaopeng@ will know for sure but I believe that is the intention, yes.
,
Jan 9 2018
,
Jan 14 2018
Might be a bit off-topic, but has anyone checked how can Win32 applications make use of the precision touchpad with Windows APIs/COM? I was interested in implementing it in an application and have done a bit of searching, but I couldn't find any related MSDN docs on this topic. Makes me wonder if this is even doable at all.
,
Jan 15 2018
chaopeng@ would have more details but I believe you need to use the DirectManipulation API to get the precise scroll deltas. Our approach is to create a "fake" window in the DirectManipulation compositor to capture the deltas, translate them to a Chrome event, and dispatch them to the Chrome input pipeline.
,
Mar 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9 commit 04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9 Author: chaopeng <chaopeng@chromium.org> Date: Fri Mar 02 21:43:06 2018 Initial code for Direct Manipulation For support Windows Precision Touchpad, we need to use Direct Manipulation. In this patch, we read the scale factor and translate offset from Direct Manipulation and convert them to ui::MouseWheelEvent. This patch not change touchpad scroll behaviour. But the scale will be too fast since we receive too much scale event and convert them to ctrl+wheel. I will fix the scale issue in following patch. Bug: 779372 Change-Id: I8fa9db0643390660e08afc1398828eb051177fe2 Reviewed-on: https://chromium-review.googlesource.com/653581 Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Cr-Commit-Position: refs/heads/master@{#540640} [add] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/browser/renderer_host/direct_manipulation_browsertest.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/browser/renderer_host/legacy_render_widget_host_win.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/browser/renderer_host/legacy_render_widget_host_win.h [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/browser/renderer_host/render_widget_host_view_aura.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/browser/renderer_host/render_widget_host_view_aura.h [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/content/test/BUILD.gn [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/BUILD.gn [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/ui_base_features.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/ui_base_features.h [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/win/direct_manipulation.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/win/direct_manipulation.h [add] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/win/direct_manipulation_unittest.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/base/win/window_event_target.h [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/events/blink/web_input_event.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/events/event_constants.h [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/views/win/hwnd_message_handler.cc [modify] https://crrev.com/04fd930126b0e3cfd6a200b9d9c1b6fa682f12a9/ui/views/win/hwnd_message_handler.h
,
Mar 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f420a45b30601bd3d3864f0d748e42b4573b977 commit 6f420a45b30601bd3d3864f0d748e42b4573b977 Author: chaopeng <chaopeng@chromium.org> Date: Thu Mar 15 01:13:09 2018 Allow any direction scroll on Windows Touchpad In this patch, we remove the rails configuration on Direct Manipulation. The rails configuration would restrict scroll events on X or Y rails. After this changes, user able to scroll to any direction by touchpad as touch screen on Windows, Android and touchpad on Edge. Bug: 779372 Change-Id: Idf1da1eb85c2a73f432b78b0002fde28609a4cfe Reviewed-on: https://chromium-review.googlesource.com/963043 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#543271} [modify] https://crrev.com/6f420a45b30601bd3d3864f0d748e42b4573b977/ui/base/win/direct_manipulation.cc
,
Mar 15 2018
Exciting! Any idea when we can see this in Canary?
,
Mar 19 2018
We should be flipping the flag on in Canary in the next week or two. chaopeng@ will know the details but I believe you could try it out in current canary by launching chrome from the command line and passing --enable-features=PrecisionTouchpad
,
Mar 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0384143a530475e19b9fbe3c12235786336fe707 commit 0384143a530475e19b9fbe3c12235786336fe707 Author: chaopeng <chaopeng@chromium.org> Date: Tue Mar 20 16:28:50 2018 Enable Direct Manipulation API for Windows Precision Touchpad. Bug: 779372 Change-Id: Ibee8c53d6a7f5eb08669620f5fe26403fa4ba2b0 Reviewed-on: https://chromium-review.googlesource.com/963013 Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#544397} [modify] https://crrev.com/0384143a530475e19b9fbe3c12235786336fe707/ui/base/ui_base_features.cc
,
Mar 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eda59a110124419f9880b3da9101c22974d14ffc commit eda59a110124419f9880b3da9101c22974d14ffc Author: Jianpeng Chao <chaopeng@chromium.org> Date: Wed Mar 21 21:42:41 2018 Revert "Allow any direction scroll on Windows Touchpad" This reverts commit 6f420a45b30601bd3d3864f0d748e42b4573b977. Reason for revert: We need rails setting to make swipe left/right for navigation change gesture. User can still scroll to any direction, but more events would restrict to XY rails. Original change's description: > Allow any direction scroll on Windows Touchpad > > In this patch, we remove the rails configuration on Direct Manipulation. > The rails configuration would restrict scroll events on X or Y rails. > After this changes, user able to scroll to any direction by touchpad as > touch screen on Windows, Android and touchpad on Edge. > > Bug: 779372 > Change-Id: Idf1da1eb85c2a73f432b78b0002fde28609a4cfe > Reviewed-on: https://chromium-review.googlesource.com/963043 > Reviewed-by: Scott Violet <sky@chromium.org> > Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> > Cr-Commit-Position: refs/heads/master@{#543271} TBR=sky@chromium.org,chaopeng@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 779372 Change-Id: I296a0a1ef3c1a30aaa4d66d5bf24a29932dac543 Reviewed-on: https://chromium-review.googlesource.com/973469 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#544859} [modify] https://crrev.com/eda59a110124419f9880b3da9101c22974d14ffc/ui/base/win/direct_manipulation.cc
,
Mar 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1b85d085ece68469bb2cb84151a8a9f1ceaff5c5 commit 1b85d085ece68469bb2cb84151a8a9f1ceaff5c5 Author: chaopeng <chaopeng@chromium.org> Date: Wed Mar 21 23:17:05 2018 Fix the EF_PRECISION_SCROLLING_DELTA flag The EF_PRECISION_SCROLLING_DELTA flag was fill in wrong flag in previous CL. That will cause scroll animation. Bug: 779372 Change-Id: I82494721d53886b7c094d6bf006b26f0b2075bd9 Reviewed-on: https://chromium-review.googlesource.com/973742 Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#544900} [modify] https://crrev.com/1b85d085ece68469bb2cb84151a8a9f1ceaff5c5/content/browser/renderer_host/direct_manipulation_browsertest.cc [modify] https://crrev.com/1b85d085ece68469bb2cb84151a8a9f1ceaff5c5/ui/views/win/hwnd_message_handler.cc
,
Mar 22 2018
,
Mar 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8694ad2645fdc83cde4d813646ed8944322ae2eb commit 8694ad2645fdc83cde4d813646ed8944322ae2eb Author: Sadrul Habib Chowdhury <sadrul@chromium.org> Date: Thu Mar 22 17:04:56 2018 events: Make it difficult to set the wrong flag. Validate that the |changed_button_flags_| field is allowed only the set of flags that makes sense. BUG= 779372 , 824629 Change-Id: I5e4d8b8f07fbf6d881d8510f45414814d074278d Reviewed-on: https://chromium-review.googlesource.com/974078 Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#545120} [modify] https://crrev.com/8694ad2645fdc83cde4d813646ed8944322ae2eb/ash/drag_drop/drag_drop_tracker.cc [modify] https://crrev.com/8694ad2645fdc83cde4d813646ed8944322ae2eb/ui/events/event.cc [modify] https://crrev.com/8694ad2645fdc83cde4d813646ed8944322ae2eb/ui/views/controls/label_unittest.cc [modify] https://crrev.com/8694ad2645fdc83cde4d813646ed8944322ae2eb/ui/views/controls/textfield/textfield_unittest.cc
,
Mar 23 2018
The scrolling feels phenomenal! What a massive improvement. I can't wait until this is landed in stable, thank you so much!
,
Mar 26 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8a861942b8df83e80ec360e5d89be37048935e11 commit 8a861942b8df83e80ec360e5d89be37048935e11 Author: chaopeng <chaopeng@chromium.org> Date: Mon Mar 26 22:46:13 2018 Fix pan scroll too fast on high dpi This issue is caused by Direct Manipulation pan transform already scale for DPI, Chromium also scale the scroll event for DPI, so it scale twice. In this patch, we read the device scale factor at the beginning (DM_POINTERHITTEST) of the sequence then divide transform by device scale factor. Bug: 779372 Change-Id: I849d37704fbc17b9abe07d1f9e6e5e2465fbffff Reviewed-on: https://chromium-review.googlesource.com/976951 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#545878} [modify] https://crrev.com/8a861942b8df83e80ec360e5d89be37048935e11/ui/base/win/direct_manipulation.cc [modify] https://crrev.com/8a861942b8df83e80ec360e5d89be37048935e11/ui/base/win/direct_manipulation.h [modify] https://crrev.com/8a861942b8df83e80ec360e5d89be37048935e11/ui/base/win/direct_manipulation_unittest.cc
,
Apr 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0dd7412668ce4dc71a063a6657e8cba460b1a377 commit 0dd7412668ce4dc71a063a6657e8cba460b1a377 Author: chaopeng <chaopeng@chromium.org> Date: Fri Apr 06 17:08:41 2018 Fill the modifier state for scroll on Touchpad Since touchpad gestures will expose as mousewheel events on JS. Developer may want the modifier state. In this patch, we read the modifier state and fill it into the event. Bug: 779372 Change-Id: Idf3ab53433795a40c7e89c887a9bb38a0c9f5f6b Reviewed-on: https://chromium-review.googlesource.com/996379 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#548824} [modify] https://crrev.com/0dd7412668ce4dc71a063a6657e8cba460b1a377/ui/views/win/hwnd_message_handler.cc
,
Apr 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8e8670f483f54e434a4e54d7d209159042a76568 commit 8e8670f483f54e434a4e54d7d209159042a76568 Author: chaopeng <chaopeng@chromium.org> Date: Wed Apr 11 15:07:20 2018 Save feature kPrecisionTouchpadScrollPhase state in HWNDMessageHandler In this CL, we save the kPrecisionTouchpadScrollPhase state in HWNDMessageHandler to avoid query the state of kPrecisionTouchpadScrollPhase on each direct manipulation events. Bug: 779372 Change-Id: Ie97f4cbe180a5f01c7b513263ecb310d7df4b66f Reviewed-on: https://chromium-review.googlesource.com/1005500 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#549885} [modify] https://crrev.com/8e8670f483f54e434a4e54d7d209159042a76568/ui/views/win/hwnd_message_handler.cc [modify] https://crrev.com/8e8670f483f54e434a4e54d7d209159042a76568/ui/views/win/hwnd_message_handler.h
,
May 22 2018
Issue 561550 has been merged into this issue.
,
Jun 9 2018
Thanks chaopeng@chromium.org, the scrolling with PTPs in 67/68 is an amazing improvement. There's one more related issue, and I'm not sure if it should have a separate issue or not: Mice with high-precision scroll wheels still use interpolated scrolling, making them a awkward to use in comparison to Edge or most system apps. I have a Microsft Surface Precision Mouse, which has two scroll wheel modes; one has discrete stops like a typical scroll wheel, and the other is a free-floating mode where the wheel sends precise, fast updates, similar to a PTP. Would it be possible to get this using the precise scrolling as well? Edge detects it (without explicitly supporting this mouse AFAIK), and interpolates the scrolling in discrete mode while directly scrolling the page in free-floating mode.
,
Jun 9 2018
Hi digisteve5@, I think it maybe a separate issue, could you please open a new issue for it and set me as owner. Also is this device you mentioned. https://www.microsoft.com/en-ca/p/surface-arc-mouse/8P5SV2RX3RN5/53JB?OCID=AID695934_SEM_WfJL4AAAAHAYYByY%3a20180609223728%3as&cl_vend=google&cl_ch=shopping&cl_camp=1335101948&cl_adg=55055746778&cl_crtv=259910509140&cl_kw=&cl_pub=google.com&cl_place=&cl_dvt=c&cl_dvm=&cl_pos=1o4&cl_mt=&cl_gtid=pla-430769515377&cla_pla=8P5SV2RX3RN5-G6WJ&cl_tac=pla&cl_dim0=WfJL4AAAAHAYYByY%3a20180609223728%3as&invsrc=search&s_kwcid=AL!4249!3!259910509140!!!g!430769515377!&ef_id=WfJL4AAAAHAYYByY%3a20180609223728%3as&activetab=pivot%3aoverviewtab
,
Sep 14
,
Sep 14
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by benjamin...@gmail.com
, Oct 31 2017