New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 660568 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Fixing-touch


Sign in to add a comment

Mouse cursor should reappear at position of last touchscreen tap

Project Member Reported by aelias@chromium.org, Oct 28 2016

Issue description

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

Note, however, that Edge remembers each cursor position individually because "remembering" each cursor position seems a better approach in a multipointer scenario. Like a multitouch where each finger has it's own "implicit" cursor, a multi-stylus or a stylus-plus-finger interaction should also have separate (implicit/explicit) cursors otherwise a simultaneous two-pointer interaction is impossible.

This is an OS level support in Windows: any app that uses the new WM_POINTER API shows the "separate cursor positions" behavior; for apps that don't use WM_POINTER (e.g. Chrome), Windows falls back to legacy single-pointer behavior.

We have  crbug.com/367113  to update Chrome to use WM_POINTER. More discussion on the single visible is here:  crbug.com/647088 .
Cc: sadrul@chromium.org
Status: WontFix (was: Available)
OK, thanks for the update.  Now that I know this a legacy behavior on Windows on the way out, I changed my mind.  Regardless of UX concerns, the main thing I want is for ChromeOS and Windows to behave similarly, so closing this.

Sign in to add a comment