| Index: ui/events/event.cc
|
| diff --git a/ui/events/event.cc b/ui/events/event.cc
|
| index 64f06d0cae3d0fbef8a52b7a4c723663beca8582..3c8133704b5b74ba536a505d065cc110af2bf52f 100644
|
| --- a/ui/events/event.cc
|
| +++ b/ui/events/event.cc
|
| @@ -80,6 +80,10 @@ const char* EventTypeName(EventType type) {
|
| CASE_TYPE(ET_POINTER_EXITED);
|
| CASE_TYPE(ET_POINTER_WHEEL_CHANGED);
|
| CASE_TYPE(ET_POINTER_CAPTURE_CHANGED);
|
| + CASE_TYPE(ET_GAMEPAD_BTN_PRESSED);
|
| + CASE_TYPE(ET_GAMEPAD_BTN_RELEASED);
|
| + CASE_TYPE(ET_GAMEPAD_ABS_MOVED);
|
| + CASE_TYPE(ET_GAMEPAD_FRAME);
|
| CASE_TYPE(ET_GESTURE_SCROLL_BEGIN);
|
| CASE_TYPE(ET_GESTURE_SCROLL_END);
|
| CASE_TYPE(ET_GESTURE_SCROLL_UPDATE);
|
| @@ -161,6 +165,10 @@ SourceEventType EventTypeToLatencySourceEventType(EventType type) {
|
| case ET_DROP_TARGET_EVENT:
|
| case ET_CANCEL_MODE:
|
| case ET_UMA_DATA:
|
| + case ET_GAMEPAD_BTN_PRESSED:
|
| + case ET_GAMEPAD_BTN_RELEASED:
|
| + case ET_GAMEPAD_ABS_MOVED:
|
| + case ET_GAMEPAD_FRAME:
|
| return SourceEventType::OTHER;
|
|
|
| case ET_TOUCH_RELEASED:
|
| @@ -209,6 +217,10 @@ bool X11EventHasNonStandardState(const base::NativeEvent& event) {
|
|
|
| // static
|
| std::unique_ptr<Event> Event::Clone(const Event& event) {
|
| + if (event.IsGamepadEvent()) {
|
| + return base::MakeUnique<GamepadEvent>(
|
| + static_cast<const GamepadEvent&>(event));
|
| + }
|
| if (event.IsKeyEvent()) {
|
| return base::MakeUnique<KeyEvent>(static_cast<const KeyEvent&>(event));
|
| }
|
| @@ -285,6 +297,16 @@ const GestureEvent* Event::AsGestureEvent() const {
|
| return static_cast<const GestureEvent*>(this);
|
| }
|
|
|
| +GamepadEvent* Event::AsGamepadEvent() {
|
| + CHECK(IsGamepadEvent());
|
| + return static_cast<GamepadEvent*>(this);
|
| +}
|
| +
|
| +const GamepadEvent* Event::AsGamepadEvent() const {
|
| + CHECK(IsGamepadEvent());
|
| + return static_cast<const GamepadEvent*>(this);
|
| +}
|
| +
|
| KeyEvent* Event::AsKeyEvent() {
|
| CHECK(IsKeyEvent());
|
| return static_cast<KeyEvent*>(this);
|
| @@ -1087,6 +1109,19 @@ PointerEvent::PointerEvent(EventType type,
|
| }
|
|
|
| const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max();
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// GamepadEvent
|
| +
|
| +GamepadEvent::GamepadEvent(EventType type,
|
| + double value,
|
| + uint16_t code,
|
| + base::TimeTicks timestamp)
|
| + : Event(type, timestamp, 0), value_(value), code_(code) {}
|
| +
|
| +GamepadEvent::GamepadEvent(const GamepadEvent& gamepad_event)
|
| + : Event(gamepad_event.type(), gamepad_event.time_stamp(), 0),
|
| + value_(gamepad_event.value_),
|
| + code_(gamepad_event.code_) {}
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // KeyEvent
|
|
|