| Index: ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
|
| diff --git a/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc b/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
|
| index 2442727870bb83114f711dcde7b9c90e9b954bb7..e3191a2ebdb0b71326653f645b2cabb053ce043d 100644
|
| --- a/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
|
| +++ b/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/timer/timer.h"
|
| #include "ui/events/event.h"
|
| #include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
|
| +#include "ui/events/ozone/evdev/event_device_info.h"
|
| #include "ui/events/ozone/evdev/event_device_util.h"
|
| #include "ui/events/ozone/evdev/event_modifiers_evdev.h"
|
| #include "ui/events/ozone/evdev/keyboard_evdev.h"
|
| @@ -112,6 +113,7 @@ GestureInterpreterLibevdevCros::GestureInterpreterLibevdevCros(
|
| GesturePropertyProvider* property_provider,
|
| const EventDispatchCallback& callback)
|
| : id_(id),
|
| + is_mouse_(false),
|
| modifiers_(modifiers),
|
| button_map_(button_map),
|
| cursor_(cursor),
|
| @@ -156,6 +158,7 @@ void GestureInterpreterLibevdevCros::OnLibEvdevCrosOpen(
|
| HardwareProperties hwprops =
|
| GestureHardwareProperties(evdev, device_properties_.get());
|
| GestureInterpreterDeviceClass devclass = GestureDeviceClass(evdev);
|
| + is_mouse_ = property_provider_->IsDeviceIdOfType(id_, DT_MOUSE);
|
|
|
| // Create & initialize GestureInterpreter.
|
| DCHECK(!interpreter_);
|
| @@ -213,17 +216,20 @@ void GestureInterpreterLibevdevCros::OnLibEvdevCrosEvent(Evdev* evdev,
|
| hwstate.fingers = fingers;
|
|
|
| // Buttons.
|
| + //
|
| + // We do button mapping for physical clicks only when the device is
|
| + // mouse-like (e.g., normal mouse and multi-touch mouse).
|
| if (Event_Get_Button_Left(evdev)) {
|
| - hwstate.buttons_down |=
|
| - GetGestureButton(button_map_->GetMappedButton(BTN_LEFT));
|
| + hwstate.buttons_down |= GetGestureButton(
|
| + is_mouse_ ? button_map_->GetMappedButton(BTN_LEFT) : BTN_LEFT);
|
| }
|
| if (Event_Get_Button_Middle(evdev)) {
|
| - hwstate.buttons_down |=
|
| - GetGestureButton(button_map_->GetMappedButton(BTN_MIDDLE));
|
| + hwstate.buttons_down |= GetGestureButton(
|
| + is_mouse_ ? button_map_->GetMappedButton(BTN_MIDDLE) : BTN_MIDDLE);
|
| }
|
| if (Event_Get_Button_Right(evdev)) {
|
| - hwstate.buttons_down |=
|
| - GetGestureButton(button_map_->GetMappedButton(BTN_RIGHT));
|
| + hwstate.buttons_down |= GetGestureButton(
|
| + is_mouse_ ? button_map_->GetMappedButton(BTN_RIGHT) : BTN_RIGHT);
|
| }
|
|
|
| GestureInterpreterPushHardwareState(interpreter_, &hwstate);
|
|
|