Index: mojo/services/public/interfaces/input_events/input_events.mojom |
diff --git a/mojo/services/public/interfaces/input_events/input_events.mojom b/mojo/services/public/interfaces/input_events/input_events.mojom |
index ab948dc09246ee191bdd7f15b8cce3d99376fe2d..aa3d577ccdf74575bab14583ce0f58b916b488cd 100644 |
--- a/mojo/services/public/interfaces/input_events/input_events.mojom |
+++ b/mojo/services/public/interfaces/input_events/input_events.mojom |
@@ -4,6 +4,7 @@ |
import "mojo/services/public/interfaces/geometry/geometry.mojom" |
import "mojo/services/public/interfaces/input_events/input_event_constants.mojom" |
+import "mojo/services/public/interfaces/input_events/input_key_codes.mojom" |
module mojo { |
@@ -13,8 +14,37 @@ struct LocationData { |
}; |
struct KeyData { |
+ // The chromium event key code; these values are from the ui/ KeyCode enum, |
+ // which has the fun property of being neither consistently the Windows key |
+ // code, nor the X11 keycodes. (This value is consistent across platforms |
+ // for basic ASCII characters; it will differ for modifiers. We don't define |
+ // this as a mojo enum because mojom doesn't appear to have a platform |
+ // dependent preprocessor yet.) |
+ // |
+ // TODO(erg): Remove this, and declare Win32 keycodes correct by fiat. We can |
+ // not do this until we remove ui::Event usage from within mojo. |
int32 key_code; |
+ |
bool is_char; |
+ |
+ // The Win32 key code. Because of the web, this is the closest thing that we |
+ // have to a cross platform key state. |
+ KeyboardCode windows_key_code; |
+ |
+ // The platform specific key code. |
+ // |
+ // TODO(erg): This exists only for NPAPI support, pepper USB keyboard support |
+ // and IME on android support. Theoretically, we should be able to remove this |
+ // in the medium to long term. |
+ int32 native_key_code; |
+ |
+ // The text generated by this keystroke. Corresponds to |
+ // blink::WebKeyboardEvent::text. |
+ uint16 text; |
+ |
+ // Like |text|, but unmodified by concurrently held modifier keys (except |
+ // shift). Corresponds to blink::WebKeyboardEvent::unmodifiedText. |
+ uint16 unmodified_text; |
}; |
struct TouchData { |