Index: mojo/services/ui/input/interfaces/input_connection.mojom |
diff --git a/mojo/services/ui/input/interfaces/input_connection.mojom b/mojo/services/ui/input/interfaces/input_connection.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c9370fb8de056a60c9fc919fb4f3d59e540d3dd3 |
--- /dev/null |
+++ b/mojo/services/ui/input/interfaces/input_connection.mojom |
@@ -0,0 +1,35 @@ |
+// Copyright 2015 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. |
+ |
+[DartPackage="mojo_services"] |
+module mojo.ui; |
+ |
+// TODO(jeffbrown): Redesign input event representation later. |
+import "mojo/services/input_events/interfaces/input_events.mojom"; |
+ |
+// The input connection service allows a view to receive input events |
+// such as key presses and pointer movements. |
+ |
+// This service can be retrieved from the |ViewHost| service provider. |
+// |
+// TODO(jeffbrown): Elaborate this. Particularly need to think about |
+// how to handle focus and gestures. |
+[ServiceName="mojo::ui::InputConnection"] |
+interface InputConnection { |
+ // Sets the listener for receiving input events. |
+ // |
+ // If |listener| is null, then the previously set listener is removed. |
+ SetListener(InputListener? listener); |
+}; |
+ |
+// An interface applications may implement to receive events from an |
+// input connection. |
+interface InputListener { |
+ // Called to deliver an input event. |
+ // |
+ // The |handled| result should indicate whether the input event was |
+ // consumed by the connection. If |handled| is false, the system may |
+ // apply default behavior of its own in response to the event. |
+ OnEvent(mojo.Event event) => (bool handled); |
abarth
2016/01/10 01:42:54
I'd rename "handled" to "consumed" because that's
jeffbrown
2016/01/26 05:59:12
Done.
|
+}; |