Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Unified Diff: ui/events/ozone/evdev/event_converter_evdev_impl.h

Issue 677113002: ozone: evdev: Handle mouse events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more review and lint fixes Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/ozone/evdev/event_converter_evdev_impl.h
diff --git a/ui/events/ozone/evdev/event_converter_evdev_impl.h b/ui/events/ozone/evdev/event_converter_evdev_impl.h
new file mode 100644
index 0000000000000000000000000000000000000000..aebf086bd51b899415f3b5162a20b0c08ba03eb0
--- /dev/null
+++ b/ui/events/ozone/evdev/event_converter_evdev_impl.h
@@ -0,0 +1,76 @@
+// 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.
+
+#ifndef UI_EVENTS_OZONE_EVDEV_EVENT_CONVERTER_EVDEV_IMPL_H_
+#define UI_EVENTS_OZONE_EVDEV_EVENT_CONVERTER_EVDEV_IMPL_H_
+
+#include "base/files/file_path.h"
+#include "base/message_loop/message_pump_libevent.h"
+#include "ui/events/event.h"
+#include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
+#include "ui/events/ozone/evdev/event_converter_evdev.h"
+#include "ui/events/ozone/evdev/event_modifiers_evdev.h"
+#include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
+#include "ui/events/ozone/evdev/keyboard_evdev.h"
+
+struct input_event;
+
+namespace ui {
+
+class EVENTS_OZONE_EVDEV_EXPORT EventConverterEvdevImpl
+ : public EventConverterEvdev {
+ public:
+ EventConverterEvdevImpl(int fd,
+ base::FilePath path,
+ int id,
+ EventModifiersEvdev* modifiers,
+ CursorDelegateEvdev* cursor,
+ KeyboardEvdev* keyboard,
+ const EventDispatchCallback& callback);
+ virtual ~EventConverterEvdevImpl();
+
+ // EventConverterEvdev:
+ void OnFileCanReadWithoutBlocking(int fd) override;
+
+ private:
+ void ProcessEvents(const struct input_event* inputs, int count);
+
+ void ConvertKeyEvent(const input_event& input);
+
+ void ConvertMouseMoveEvent(const input_event& input);
+
+ void DispatchMouseButton(const input_event& input);
+
+ // Flush events delimited by EV_SYN. This is useful for handling
+ // non-axis-aligned movement properly.
+ void FlushEvents(void);
spang 2014/10/27 20:14:21 Remove "void"
vignatti (out of this project) 2014/10/27 20:22:52 Done.
+
+ // Save x-axis events of relative devices to be flushed at EV_SYN time.
+ int x_offset_;
+
+ // Save y-axis events of relative devices to be flushed at EV_SYN time.
+ int y_offset_;
+
+ // Controller for watching the input fd.
+ base::MessagePumpLibevent::FileDescriptorWatcher controller_;
+
+ // Shared cursor state.
+ CursorDelegateEvdev* cursor_;
+
+ // Shared keyboard state.
+ KeyboardEvdev* keyboard_;
+
+ // Modifier key state (shift, ctrl, etc).
+ EventModifiersEvdev* modifiers_;
+
+ // Callback for dispatching events.
+ EventDispatchCallback callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(EventConverterEvdevImpl);
+};
+
+} // namespace ui
+
+#endif // UI_EVENTS_OZONE_EVDEV_EVENT_CONVERTER_EVDEV_IMPL_H_
+

Powered by Google App Engine
This is Rietveld 408576698