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

Side by Side Diff: ui/events/event.cc

Issue 2805793002: ozone: evdev: Add gamepad support (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/events/event.h" 5 #include "ui/events/event.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 CASE_TYPE(ET_TOUCH_CANCELLED); 73 CASE_TYPE(ET_TOUCH_CANCELLED);
74 CASE_TYPE(ET_DROP_TARGET_EVENT); 74 CASE_TYPE(ET_DROP_TARGET_EVENT);
75 CASE_TYPE(ET_POINTER_DOWN); 75 CASE_TYPE(ET_POINTER_DOWN);
76 CASE_TYPE(ET_POINTER_MOVED); 76 CASE_TYPE(ET_POINTER_MOVED);
77 CASE_TYPE(ET_POINTER_UP); 77 CASE_TYPE(ET_POINTER_UP);
78 CASE_TYPE(ET_POINTER_CANCELLED); 78 CASE_TYPE(ET_POINTER_CANCELLED);
79 CASE_TYPE(ET_POINTER_ENTERED); 79 CASE_TYPE(ET_POINTER_ENTERED);
80 CASE_TYPE(ET_POINTER_EXITED); 80 CASE_TYPE(ET_POINTER_EXITED);
81 CASE_TYPE(ET_POINTER_WHEEL_CHANGED); 81 CASE_TYPE(ET_POINTER_WHEEL_CHANGED);
82 CASE_TYPE(ET_POINTER_CAPTURE_CHANGED); 82 CASE_TYPE(ET_POINTER_CAPTURE_CHANGED);
83 CASE_TYPE(ET_GAMEPAD_BTN_PRESSED);
84 CASE_TYPE(ET_GAMEPAD_BTN_RELEASED);
85 CASE_TYPE(ET_GAMEPAD_ABS_MOVED);
86 CASE_TYPE(ET_GAMEPAD_FRAME);
83 CASE_TYPE(ET_GESTURE_SCROLL_BEGIN); 87 CASE_TYPE(ET_GESTURE_SCROLL_BEGIN);
84 CASE_TYPE(ET_GESTURE_SCROLL_END); 88 CASE_TYPE(ET_GESTURE_SCROLL_END);
85 CASE_TYPE(ET_GESTURE_SCROLL_UPDATE); 89 CASE_TYPE(ET_GESTURE_SCROLL_UPDATE);
86 CASE_TYPE(ET_GESTURE_SHOW_PRESS); 90 CASE_TYPE(ET_GESTURE_SHOW_PRESS);
87 CASE_TYPE(ET_GESTURE_TAP); 91 CASE_TYPE(ET_GESTURE_TAP);
88 CASE_TYPE(ET_GESTURE_TAP_DOWN); 92 CASE_TYPE(ET_GESTURE_TAP_DOWN);
89 CASE_TYPE(ET_GESTURE_TAP_CANCEL); 93 CASE_TYPE(ET_GESTURE_TAP_CANCEL);
90 CASE_TYPE(ET_GESTURE_BEGIN); 94 CASE_TYPE(ET_GESTURE_BEGIN);
91 CASE_TYPE(ET_GESTURE_END); 95 CASE_TYPE(ET_GESTURE_END);
92 CASE_TYPE(ET_GESTURE_TWO_FINGER_TAP); 96 CASE_TYPE(ET_GESTURE_TWO_FINGER_TAP);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 case ET_MOUSE_RELEASED: 158 case ET_MOUSE_RELEASED:
155 case ET_MOUSE_MOVED: 159 case ET_MOUSE_MOVED:
156 case ET_MOUSE_ENTERED: 160 case ET_MOUSE_ENTERED:
157 case ET_MOUSE_EXITED: 161 case ET_MOUSE_EXITED:
158 case ET_KEY_PRESSED: 162 case ET_KEY_PRESSED:
159 case ET_KEY_RELEASED: 163 case ET_KEY_RELEASED:
160 case ET_MOUSE_CAPTURE_CHANGED: 164 case ET_MOUSE_CAPTURE_CHANGED:
161 case ET_DROP_TARGET_EVENT: 165 case ET_DROP_TARGET_EVENT:
162 case ET_CANCEL_MODE: 166 case ET_CANCEL_MODE:
163 case ET_UMA_DATA: 167 case ET_UMA_DATA:
168 case ET_GAMEPAD_BTN_PRESSED:
169 case ET_GAMEPAD_BTN_RELEASED:
170 case ET_GAMEPAD_ABS_MOVED:
171 case ET_GAMEPAD_FRAME:
164 return SourceEventType::OTHER; 172 return SourceEventType::OTHER;
165 173
166 case ET_TOUCH_RELEASED: 174 case ET_TOUCH_RELEASED:
167 case ET_TOUCH_PRESSED: 175 case ET_TOUCH_PRESSED:
168 case ET_TOUCH_MOVED: 176 case ET_TOUCH_MOVED:
169 case ET_TOUCH_CANCELLED: 177 case ET_TOUCH_CANCELLED:
170 return SourceEventType::TOUCH; 178 return SourceEventType::TOUCH;
171 179
172 case ET_MOUSEWHEEL: 180 case ET_MOUSEWHEEL:
173 case ET_POINTER_WHEEL_CHANGED: 181 case ET_POINTER_WHEEL_CHANGED:
(...skipping 28 matching lines...) Expand all
202 #endif 210 #endif
203 } 211 }
204 212
205 } // namespace 213 } // namespace
206 214
207 //////////////////////////////////////////////////////////////////////////////// 215 ////////////////////////////////////////////////////////////////////////////////
208 // Event 216 // Event
209 217
210 // static 218 // static
211 std::unique_ptr<Event> Event::Clone(const Event& event) { 219 std::unique_ptr<Event> Event::Clone(const Event& event) {
220 if (event.IsGamepadEvent()) {
221 return base::MakeUnique<GamepadEvent>(
222 static_cast<const GamepadEvent&>(event));
223 }
212 if (event.IsKeyEvent()) { 224 if (event.IsKeyEvent()) {
213 return base::MakeUnique<KeyEvent>(static_cast<const KeyEvent&>(event)); 225 return base::MakeUnique<KeyEvent>(static_cast<const KeyEvent&>(event));
214 } 226 }
215 227
216 if (event.IsMouseEvent()) { 228 if (event.IsMouseEvent()) {
217 if (event.IsMouseWheelEvent()) { 229 if (event.IsMouseWheelEvent()) {
218 return base::MakeUnique<MouseWheelEvent>( 230 return base::MakeUnique<MouseWheelEvent>(
219 static_cast<const MouseWheelEvent&>(event)); 231 static_cast<const MouseWheelEvent&>(event));
220 } 232 }
221 233
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 GestureEvent* Event::AsGestureEvent() { 290 GestureEvent* Event::AsGestureEvent() {
279 CHECK(IsGestureEvent()); 291 CHECK(IsGestureEvent());
280 return static_cast<GestureEvent*>(this); 292 return static_cast<GestureEvent*>(this);
281 } 293 }
282 294
283 const GestureEvent* Event::AsGestureEvent() const { 295 const GestureEvent* Event::AsGestureEvent() const {
284 CHECK(IsGestureEvent()); 296 CHECK(IsGestureEvent());
285 return static_cast<const GestureEvent*>(this); 297 return static_cast<const GestureEvent*>(this);
286 } 298 }
287 299
300 GamepadEvent* Event::AsGamepadEvent() {
301 CHECK(IsGamepadEvent());
302 return static_cast<GamepadEvent*>(this);
303 }
304
305 const GamepadEvent* Event::AsGamepadEvent() const {
306 CHECK(IsGamepadEvent());
307 return static_cast<const GamepadEvent*>(this);
308 }
309
288 KeyEvent* Event::AsKeyEvent() { 310 KeyEvent* Event::AsKeyEvent() {
289 CHECK(IsKeyEvent()); 311 CHECK(IsKeyEvent());
290 return static_cast<KeyEvent*>(this); 312 return static_cast<KeyEvent*>(this);
291 } 313 }
292 314
293 const KeyEvent* Event::AsKeyEvent() const { 315 const KeyEvent* Event::AsKeyEvent() const {
294 CHECK(IsKeyEvent()); 316 CHECK(IsKeyEvent());
295 return static_cast<const KeyEvent*>(this); 317 return static_cast<const KeyEvent*>(this);
296 } 318 }
297 319
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 details_(pointer_details) { 1102 details_(pointer_details) {
1081 if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH) 1103 if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH)
1082 latency()->set_source_event_type(ui::SourceEventType::TOUCH); 1104 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
1083 else if (type == ET_POINTER_WHEEL_CHANGED) 1105 else if (type == ET_POINTER_WHEEL_CHANGED)
1084 latency()->set_source_event_type(ui::SourceEventType::WHEEL); 1106 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
1085 else 1107 else
1086 latency()->set_source_event_type(ui::SourceEventType::OTHER); 1108 latency()->set_source_event_type(ui::SourceEventType::OTHER);
1087 } 1109 }
1088 1110
1089 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); 1111 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max();
1112 ////////////////////////////////////////////////////////////////////////////////
1113 // GamepadEvent
1114
1115 GamepadEvent::GamepadEvent(EventType type,
1116 double value,
1117 uint16_t code,
1118 base::TimeTicks timestamp)
1119 : Event(type, timestamp, 0), value_(value), code_(code) {}
1120
1121 GamepadEvent::GamepadEvent(const GamepadEvent& gamepad_event)
1122 : Event(gamepad_event.type(), gamepad_event.time_stamp(), 0),
1123 value_(gamepad_event.value_),
1124 code_(gamepad_event.code_) {}
1090 1125
1091 //////////////////////////////////////////////////////////////////////////////// 1126 ////////////////////////////////////////////////////////////////////////////////
1092 // KeyEvent 1127 // KeyEvent
1093 1128
1094 // static 1129 // static
1095 KeyEvent* KeyEvent::last_key_event_ = NULL; 1130 KeyEvent* KeyEvent::last_key_event_ = NULL;
1096 1131
1097 // static 1132 // static
1098 bool KeyEvent::IsRepeated(const KeyEvent& event) { 1133 bool KeyEvent::IsRepeated(const KeyEvent& event) {
1099 // A safe guard in case if there were continous key pressed events that are 1134 // A safe guard in case if there were continous key pressed events that are
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 flags | EF_FROM_TOUCH), 1480 flags | EF_FROM_TOUCH),
1446 details_(details), 1481 details_(details),
1447 unique_touch_event_id_(unique_touch_event_id) { 1482 unique_touch_event_id_(unique_touch_event_id) {
1448 latency()->set_source_event_type(ui::SourceEventType::TOUCH); 1483 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
1449 } 1484 }
1450 1485
1451 GestureEvent::~GestureEvent() { 1486 GestureEvent::~GestureEvent() {
1452 } 1487 }
1453 1488
1454 } // namespace ui 1489 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698