There's currently a subtle platform difference in touch/mouse interaction between ChromeOS and Windows 10, and Chrome UX team has approved making ChromeOS behave more like Windows in this respect.
The scenario is as follows:
1) The user moves around the mouse, for example to the bottom left of the screen.
2) The user taps on the touchscreen, for example longpressing the center of the screen to select some text.
- At this stage, both ChromeOS and Windows make the mouse cursor invisible.
3) The user picks up the mouse and starts moving it again.
The difference in behavior arises after this. On Windows 10, the mouse cursor reappears at the position of last touchscreen interaction. On ChromeOS, the mouse cursor currently appears at the same place it was left originally. By the time of step 3, this may be a surprising place that the user has long forgotten about.
Notes:
A) In implementing this we should be very careful that the MouseMove event to teleport the mouse cursor to the touch position *must not* be generated at the time of the touch interaction (2). This would cause harmful side effects such as hover menus appearing at position of touch. The first MouseMove event should be generated at stage (3).
B) This should be implemented at the platform level and be ChromeOS specific. Not every platform (or any platform?) necessarily provides an API allowing the Chrome app to teleport the mouse cursor to a position.
Comment 1 by mustaq@chromium.org
, Oct 31 2016