| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 import "mojo/services/public/interfaces/geometry/geometry.mojom" | 5 import "mojo/services/public/interfaces/geometry/geometry.mojom" |
| 6 import "mojo/services/public/interfaces/input_events/input_event_constants.mojom
" | 6 import "mojo/services/public/interfaces/input_events/input_event_constants.mojom
" |
| 7 import "mojo/services/public/interfaces/input_events/input_key_codes.mojom" |
| 7 | 8 |
| 8 module mojo { | 9 module mojo { |
| 9 | 10 |
| 10 struct LocationData { | 11 struct LocationData { |
| 11 Point in_view_location; | 12 Point in_view_location; |
| 12 Point? screen_location; | 13 Point? screen_location; |
| 13 }; | 14 }; |
| 14 | 15 |
| 15 struct KeyData { | 16 struct KeyData { |
| 17 // The chromium event key code; these values are from the ui/ KeyCode enum, |
| 18 // which has the fun property of being neither consistently the Windows key |
| 19 // code, nor the X11 keycodes. (This value is consistent across platforms |
| 20 // for basic ASCII characters; it will differ for modifiers. We don't define |
| 21 // this as a mojo enum because mojom doesn't appear to have a platform |
| 22 // dependent preprocessor yet.) |
| 23 // |
| 24 // TODO(erg): Remove this, and declare Win32 keycodes correct by fiat. We can |
| 25 // not do this until we remove ui::Event usage from within mojo. |
| 16 int32 key_code; | 26 int32 key_code; |
| 27 |
| 17 bool is_char; | 28 bool is_char; |
| 29 |
| 30 // The Win32 key code. Because of the web, this is the closest thing that we |
| 31 // have to a cross platform key state. |
| 32 KeyboardCode windows_key_code; |
| 33 |
| 34 // The platform specific key code. |
| 35 // |
| 36 // TODO(erg): This exists only for NPAPI support, pepper USB keyboard support |
| 37 // and IME on android support. Theoretically, we should be able to remove this |
| 38 // in the medium to long term. |
| 39 int32 native_key_code; |
| 40 |
| 41 // The text generated by this keystroke. Corresponds to |
| 42 // blink::WebKeyboardEvent::text. |
| 43 uint16 text; |
| 44 |
| 45 // Like |text|, but unmodified by concurrently held modifier keys (except |
| 46 // shift). Corresponds to blink::WebKeyboardEvent::unmodifiedText. |
| 47 uint16 unmodified_text; |
| 18 }; | 48 }; |
| 19 | 49 |
| 20 struct TouchData { | 50 struct TouchData { |
| 21 int32 pointer_id; | 51 int32 pointer_id; |
| 22 }; | 52 }; |
| 23 | 53 |
| 24 struct MouseWheelData { | 54 struct MouseWheelData { |
| 25 int32 x_offset; | 55 int32 x_offset; |
| 26 int32 y_offset; | 56 int32 y_offset; |
| 27 }; | 57 }; |
| 28 | 58 |
| 29 struct Event { | 59 struct Event { |
| 30 EventType action; | 60 EventType action; |
| 31 EventFlags flags; | 61 EventFlags flags; |
| 32 int64 time_stamp; | 62 int64 time_stamp; |
| 33 LocationData? location_data; | 63 LocationData? location_data; |
| 34 KeyData? key_data; | 64 KeyData? key_data; |
| 35 TouchData? touch_data; | 65 TouchData? touch_data; |
| 36 MouseWheelData? wheel_data; | 66 MouseWheelData? wheel_data; |
| 37 }; | 67 }; |
| 38 | 68 |
| 39 } | 69 } |
| OLD | NEW |