| Index: ui/events/ozone/evdev/touch_event_converter_evdev.cc
|
| diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev.cc b/ui/events/ozone/evdev/touch_event_converter_evdev.cc
|
| index 98483d30df2094fc1077b08478f638a06dcc4f01..ad10265487f5f1321a98d7dc27341661d8470319 100644
|
| --- a/ui/events/ozone/evdev/touch_event_converter_evdev.cc
|
| +++ b/ui/events/ozone/evdev/touch_event_converter_evdev.cc
|
| @@ -328,7 +328,7 @@ void TouchEventConverterEvdev::EmulateMultitouchEvent(
|
| if (emulated_event.code >= 0)
|
| ProcessMultitouchEvent(emulated_event);
|
| } else if (event.type == EV_KEY) {
|
| - if (event.code == BTN_TOUCH ||
|
| + if (event.code == BTN_TOUCH || event.code == BTN_0 ||
|
| (quirk_left_mouse_button_ && event.code == BTN_LEFT)) {
|
| emulated_event.type = EV_ABS;
|
| emulated_event.code = ABS_MT_TRACKING_ID;
|
| @@ -357,11 +357,6 @@ void TouchEventConverterEvdev::ProcessKey(const input_event& input) {
|
| break;
|
| case BTN_TOOL_PEN:
|
| case BTN_TOOL_RUBBER:
|
| - // Do not change tool types while touching to prevent inconsistencies
|
| - // from switching between Mouse and TouchEvents.
|
| - if (events_[current_slot_].was_touching)
|
| - break;
|
| -
|
| if (input.value > 0) {
|
| events_[current_slot_].tool_code = input.code;
|
| } else {
|
| @@ -455,28 +450,11 @@ void TouchEventConverterEvdev::ReportTouchEvent(
|
| GetEventPointerDetails(event), timestamp));
|
| }
|
|
|
| -void TouchEventConverterEvdev::ReportStylusEvent(
|
| - const InProgressTouchEvdev& event,
|
| - base::TimeTicks timestamp) {
|
| - if (event.btn_left.changed)
|
| - ReportButton(BTN_LEFT, event.btn_left.down, event, timestamp);
|
| - if (event.btn_right.changed)
|
| - ReportButton(BTN_RIGHT, event.btn_right.down, event, timestamp);
|
| - if (event.btn_middle.changed)
|
| - ReportButton(BTN_MIDDLE, event.btn_middle.down, event, timestamp);
|
| -
|
| - dispatcher_->DispatchMouseMoveEvent(MouseMoveEventParams(
|
| - input_device_.id, EF_DIRECT_INPUT, gfx::PointF(event.x, event.y),
|
| - GetEventPointerDetails(event), timestamp));
|
| -}
|
| -
|
| void TouchEventConverterEvdev::ReportButton(unsigned int button,
|
| bool down,
|
| const InProgressTouchEvdev& event,
|
| base::TimeTicks timestamp) {
|
| - dispatcher_->DispatchMouseButtonEvent(MouseButtonEventParams(
|
| - input_device_.id, EF_DIRECT_INPUT, gfx::PointF(event.x, event.y), button,
|
| - down, false /* allow_remap */, GetEventPointerDetails(event), timestamp));
|
| + // todo(denniskempin): Report buttons via pointer events
|
| }
|
|
|
| void TouchEventConverterEvdev::ReportEvents(base::TimeTicks timestamp) {
|
| @@ -499,13 +477,16 @@ void TouchEventConverterEvdev::ReportEvents(base::TimeTicks timestamp) {
|
| if (touch_noise_finder_ && touch_noise_finder_->SlotHasNoise(event->slot))
|
| event->cancelled = true;
|
|
|
| - if (event->tool_code > 0) {
|
| - ReportStylusEvent(*event, timestamp);
|
| - } else {
|
| - EventType event_type = GetEventTypeForTouch(*event);
|
| - if (event_type != ET_UNKNOWN)
|
| - ReportTouchEvent(*event, event_type, timestamp);
|
| - }
|
| + if (event->btn_left.changed)
|
| + ReportButton(BTN_LEFT, event->btn_left.down, *event, timestamp);
|
| + if (event->btn_right.changed)
|
| + ReportButton(BTN_RIGHT, event->btn_right.down, *event, timestamp);
|
| + if (event->btn_middle.changed)
|
| + ReportButton(BTN_MIDDLE, event->btn_middle.down, *event, timestamp);
|
| +
|
| + EventType event_type = GetEventTypeForTouch(*event);
|
| + if (event_type != ET_UNKNOWN)
|
| + ReportTouchEvent(*event, event_type, timestamp);
|
|
|
| event->was_cancelled = event->cancelled;
|
| event->was_touching = event->touching;
|
|
|