Sync ui/events to chromium @ https://crrev.com/336230

ui/gfx/screen_aura.cc -> ui/gfx/screen_stub.cc

Carrying forward previous rename of:

 gesture_provider_aura -> gesture_provider_impl
 motion_event_aura -> motion_event_impl

Does not include the following files that remain unused
even after upcoming ozone integration.

 platform/x11/x11_event_source_glib.cc
 keycodes/keyboard_code_conversion_mac.h
 keycodes/keyboard_code_conversion_mac.mm
 keycodes/keyboard_code_conversion_win.cc
 keycodes/keyboard_code_conversion_win.h
 cocoa/cocoa_event_utils.h
 cocoa/cocoa_event_utils.mm
 cocoa/events_mac.mm
 win/events_win.cc
 linux/text_edit_command_auralinux.cc
 linux/text_edit_command_auralinux.h
 linux/text_edit_key_bindings_delegate_auralinux.cc
 linux/text_edit_key_bindings_delegate_auralinux.h
 test/cocoa_test_event_utils.h
 test/cocoa_test_event_utils.mm
 gestures/blink/web_gesture_curve_impl_unittest.cc
 android/scroller*
 ozone/evdev/libgestures_glue*
 ozone/layout/xkb/
 ozone/chromeos/*
 ui/gfx/screen_ios.mm

BUG=
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/1287103004 .
diff --git a/ui/events/devices/keyboard_device.h b/ui/events/devices/keyboard_device.h
new file mode 100644
index 0000000..12c3504
--- /dev/null
+++ b/ui/events/devices/keyboard_device.h
@@ -0,0 +1,23 @@
+// 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_DEVICES_KEYBOARD_DEVICE_H_
+#define UI_EVENTS_DEVICES_KEYBOARD_DEVICE_H_
+
+#include <string>
+
+#include "ui/events/devices/events_devices_export.h"
+#include "ui/events/devices/input_device.h"
+
+namespace ui {
+
+// Represents a Keyboard device state.
+struct EVENTS_DEVICES_EXPORT KeyboardDevice : public InputDevice {
+  KeyboardDevice(int id, InputDeviceType type, const std::string& name);
+  explicit KeyboardDevice(const InputDevice& input_device);
+};
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_DEVICES_KEYBOARD_DEVICE_H_