// 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.

MOJO_INPUT_EVENT_NAME(UNKNOWN);
MOJO_INPUT_EVENT_NAME(MOUSE_PRESSED);
MOJO_INPUT_EVENT_NAME(MOUSE_DRAGGED);
MOJO_INPUT_EVENT_NAME(MOUSE_RELEASED);
MOJO_INPUT_EVENT_NAME(MOUSE_MOVED);
MOJO_INPUT_EVENT_NAME(MOUSE_ENTERED);
MOJO_INPUT_EVENT_NAME(MOUSE_EXITED);
MOJO_INPUT_EVENT_NAME(KEY_PRESSED);
MOJO_INPUT_EVENT_NAME(KEY_RELEASED);
MOJO_INPUT_EVENT_NAME(MOUSEWHEEL);
MOJO_INPUT_EVENT_NAME(MOUSE_CAPTURE_CHANGED);
MOJO_INPUT_EVENT_NAME(TOUCH_RELEASED);
MOJO_INPUT_EVENT_NAME(TOUCH_PRESSED);
MOJO_INPUT_EVENT_NAME(TOUCH_MOVED);
MOJO_INPUT_EVENT_NAME(TOUCH_CANCELLED);
MOJO_INPUT_EVENT_NAME(DROP_TARGET_EVENT);
MOJO_INPUT_EVENT_NAME(TRANSLATED_KEY_PRESS);
MOJO_INPUT_EVENT_NAME(TRANSLATED_KEY_RELEASE);
MOJO_INPUT_EVENT_NAME(GESTURE_SCROLL_BEGIN);
MOJO_INPUT_EVENT_NAME(GESTURE_SCROLL_END);
MOJO_INPUT_EVENT_NAME(GESTURE_SCROLL_UPDATE);
MOJO_INPUT_EVENT_NAME(GESTURE_TAP);
MOJO_INPUT_EVENT_NAME(GESTURE_TAP_DOWN);
MOJO_INPUT_EVENT_NAME(GESTURE_TAP_CANCEL);
MOJO_INPUT_EVENT_NAME(GESTURE_TAP_UNCONFIRMED);
MOJO_INPUT_EVENT_NAME(GESTURE_DOUBLE_TAP);
MOJO_INPUT_EVENT_NAME(GESTURE_BEGIN);
MOJO_INPUT_EVENT_NAME(GESTURE_END);
MOJO_INPUT_EVENT_NAME(GESTURE_TWO_FINGER_TAP);
MOJO_INPUT_EVENT_NAME(GESTURE_PINCH_BEGIN);
MOJO_INPUT_EVENT_NAME(GESTURE_PINCH_END);
MOJO_INPUT_EVENT_NAME(GESTURE_PINCH_UPDATE);
MOJO_INPUT_EVENT_NAME(GESTURE_LONG_PRESS);
MOJO_INPUT_EVENT_NAME(GESTURE_LONG_TAP);
MOJO_INPUT_EVENT_NAME(GESTURE_SWIPE);
MOJO_INPUT_EVENT_NAME(GESTURE_SHOW_PRESS);
MOJO_INPUT_EVENT_NAME(GESTURE_WIN8_EDGE_SWIPE);
MOJO_INPUT_EVENT_NAME(SCROLL);
MOJO_INPUT_EVENT_NAME(SCROLL_FLING_START);
MOJO_INPUT_EVENT_NAME(SCROLL_FLING_CANCEL);
MOJO_INPUT_EVENT_NAME(CANCEL_MODE);
MOJO_INPUT_EVENT_NAME(UMA_DATA);
