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

Issue 784393 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 3
Type: Bug

Blocking:
issue 666958



Sign in to add a comment

Make WaylandPointer use keyboard modifiers.

Project Member Reported by msi...@igalia.com, Nov 13 2017

Issue description

Wayland doesn't take into account keyboard modifiers now.

For example, combinations ctrl+right-click, shift+scroll do not work.
 

Comment 1 by msi...@igalia.com, Nov 13 2017

Blocking: 666958
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0cdf2f67e56e4050c9e437071723064a604e3272

commit 0cdf2f67e56e4050c9e437071723064a604e3272
Author: Maksim Sisov <msisov@igalia.com>
Date: Wed Nov 15 09:13:22 2017

[ozone/wayland] Use keyboard modifiers with pointer events.

This patch makes WaylandPointer use WaylandKeyboard::modifiers_.
When WaylandPointer receives an event from Wayland, it calls to
WaylandConnection::GetKeyboardModifiers, which returns
WaylandKeyboard::modifiers_. After that it creates a MouseEvent with
WaylandPointer::flags_, which include keyboard modifiers.

In order to make sure modifiers don't alter original bits of flags_,
the used modifiers are stored as keyboard_modifiers_ and flags_ are
tested in WaylandPointer::VerifyFlagsAfterMasking method by
excluding the modifiers and verifying the old flags are the
same as the newest ones after removing the modifiers.

By doing so, an events' consumer knows if pointer events were sent
during ctrl, shift or other modifier keys pressed at the same time.

Bug:  784393 
Change-Id: I7b75d289f65f5facb738981b6a95b361e0c6ecbc
Reviewed-on: https://chromium-review.googlesource.com/718097
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516649}
[modify] https://crrev.com/0cdf2f67e56e4050c9e437071723064a604e3272/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/0cdf2f67e56e4050c9e437071723064a604e3272/ui/ozone/platform/wayland/wayland_connection.h
[modify] https://crrev.com/0cdf2f67e56e4050c9e437071723064a604e3272/ui/ozone/platform/wayland/wayland_keyboard.h
[modify] https://crrev.com/0cdf2f67e56e4050c9e437071723064a604e3272/ui/ozone/platform/wayland/wayland_pointer.cc
[modify] https://crrev.com/0cdf2f67e56e4050c9e437071723064a604e3272/ui/ozone/platform/wayland/wayland_pointer.h

Components: -Internals>MUS Internals>Services>WindowService

Comment 4 by msi...@igalia.com, May 15 2018

Components: -Internals>Services>WindowService

Comment 5 by msi...@igalia.com, May 15 2018

Status: Fixed (was: Assigned)

Sign in to add a comment