| Index: ui/events/ozone/evdev/event_converter_evdev_impl.cc
|
| diff --git a/ui/events/ozone/evdev/event_converter_evdev_impl.cc b/ui/events/ozone/evdev/event_converter_evdev_impl.cc
|
| deleted file mode 100644
|
| index 08c583d363947026664a340133d806bad8f82e18..0000000000000000000000000000000000000000
|
| --- a/ui/events/ozone/evdev/event_converter_evdev_impl.cc
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/events/ozone/evdev/event_converter_evdev_impl.h"
|
| -
|
| -#include <errno.h>
|
| -#include <linux/input.h>
|
| -
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "ui/events/event.h"
|
| -#include "ui/events/keycodes/dom4/keycode_converter.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -
|
| -namespace ui {
|
| -
|
| -EventConverterEvdevImpl::EventConverterEvdevImpl(
|
| - int fd,
|
| - base::FilePath path,
|
| - int id,
|
| - EventModifiersEvdev* modifiers,
|
| - CursorDelegateEvdev* cursor,
|
| - KeyboardEvdev* keyboard,
|
| - const EventDispatchCallback& callback)
|
| - : EventConverterEvdev(fd, path, id),
|
| - x_offset_(0),
|
| - y_offset_(0),
|
| - cursor_(cursor),
|
| - keyboard_(keyboard),
|
| - modifiers_(modifiers),
|
| - callback_(callback) {
|
| -}
|
| -
|
| -EventConverterEvdevImpl::~EventConverterEvdevImpl() {
|
| - Stop();
|
| - close(fd_);
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::OnFileCanReadWithoutBlocking(int fd) {
|
| - input_event inputs[4];
|
| - ssize_t read_size = read(fd, inputs, sizeof(inputs));
|
| - if (read_size < 0) {
|
| - if (errno == EINTR || errno == EAGAIN)
|
| - return;
|
| - if (errno != ENODEV)
|
| - PLOG(ERROR) << "error reading device " << path_.value();
|
| - Stop();
|
| - return;
|
| - }
|
| -
|
| - DCHECK_EQ(read_size % sizeof(*inputs), 0u);
|
| - ProcessEvents(inputs, read_size / sizeof(*inputs));
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::ProcessEvents(const input_event* inputs,
|
| - int count) {
|
| - for (int i = 0; i < count; ++i) {
|
| - const input_event& input = inputs[i];
|
| - switch (input.type) {
|
| - case EV_KEY:
|
| - ConvertKeyEvent(input);
|
| - break;
|
| - case EV_REL:
|
| - ConvertMouseMoveEvent(input);
|
| - break;
|
| - case EV_SYN:
|
| - FlushEvents();
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::ConvertKeyEvent(const input_event& input) {
|
| - // Mouse processing.
|
| - if (input.code >= BTN_MOUSE && input.code < BTN_JOYSTICK) {
|
| - DispatchMouseButton(input);
|
| - return;
|
| - }
|
| - // Keyboard processing.
|
| - keyboard_->OnKeyChange(input.code, input.value != 0);
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::ConvertMouseMoveEvent(const input_event& input) {
|
| - if (!cursor_)
|
| - return;
|
| - switch (input.code) {
|
| - case REL_X:
|
| - x_offset_ = input.value;
|
| - break;
|
| - case REL_Y:
|
| - y_offset_ = input.value;
|
| - break;
|
| - }
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::DispatchMouseButton(const input_event& input) {
|
| - if (!cursor_)
|
| - return;
|
| -
|
| - unsigned int modifier;
|
| - if (input.code == BTN_LEFT)
|
| - modifier = EVDEV_MODIFIER_LEFT_MOUSE_BUTTON;
|
| - else if (input.code == BTN_RIGHT)
|
| - modifier = EVDEV_MODIFIER_RIGHT_MOUSE_BUTTON;
|
| - else if (input.code == BTN_MIDDLE)
|
| - modifier = EVDEV_MODIFIER_MIDDLE_MOUSE_BUTTON;
|
| - else
|
| - return;
|
| -
|
| - int flag = modifiers_->GetEventFlagFromModifier(modifier);
|
| - modifiers_->UpdateModifier(modifier, input.value);
|
| - callback_.Run(make_scoped_ptr(
|
| - new MouseEvent(input.value ? ET_MOUSE_PRESSED : ET_MOUSE_RELEASED,
|
| - cursor_->location(),
|
| - cursor_->location(),
|
| - modifiers_->GetModifierFlags() | flag,
|
| - flag)));
|
| -}
|
| -
|
| -void EventConverterEvdevImpl::FlushEvents() {
|
| - if (!cursor_ || (x_offset_ == 0 && y_offset_ == 0))
|
| - return;
|
| -
|
| - cursor_->MoveCursor(gfx::Vector2dF(x_offset_, y_offset_));
|
| -
|
| - callback_.Run(make_scoped_ptr(
|
| - new MouseEvent(ui::ET_MOUSE_MOVED,
|
| - cursor_->location(),
|
| - cursor_->location(),
|
| - modifiers_->GetModifierFlags(),
|
| - /* changed_button_flags */ 0)));
|
| - x_offset_ = 0;
|
| - y_offset_ = 0;
|
| -}
|
| -
|
| -} // namespace ui
|
|
|