| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.ui.test.input |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 9</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## Keyboard {#Keyboard} |
| *Defined in [fuchsia.ui.test.input/text.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/text.fidl;l=10)* |
| <p>A tool to inject keyboard events into Input Pipeline.</p> |
| <p>Please extend as necessary.</p> |
| |
| |
| ### SimulateUsAsciiTextEntry {#Keyboard.SimulateUsAsciiTextEntry} |
| |
| <p>Simulates input of the set of keystrokes required to type <code>text</code>, |
| as if on a US QWERTY keyboard.</p> |
| <p>US ASCII text get mapped to the corresponding key presses. |
| For example <code>a</code> gets mapped into a press and |
| a followup release of the key <code>a</code> on the US QWERTY keyboard. Also, |
| <code>A</code> gets mapped into a press of the <code>Shift</code> key, followed by a press |
| and release of <code>a</code>.</p> |
| <p>For convenience, the <code>\n</code> and <code>\t</code> get converted into <code>Enter</code> and <code>Tab</code> |
| keys respectively.</p> |
| |
| |
| |
| #### Request {#Keyboard.SimulateUsAsciiTextEntry_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#KeyboardSimulateUsAsciiTextEntryRequest'>KeyboardSimulateUsAsciiTextEntryRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Keyboard.SimulateUsAsciiTextEntry_Response} |
| |
| <EMPTY> |
| |
| ## KeyboardInputListener {#KeyboardInputListener} |
| *Defined in [fuchsia.ui.test.input/text.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/text.fidl;l=39)* |
| <p>A tool for client applications to report text input to interested parties |
| (e.g. a test fixture).</p> |
| <p>NOTE: The reporter is the <em>client</em> of this service.</p> |
| <p>Canonical usage is for a test to inject text via fuchsia.ui.test.input.Keyboad, |
| and wait for the client under test to report back that it received the injected |
| text via fuchsia.ui.test.input.KeyboardInputListener.</p> |
| <p>NOTE: This protocol is implemented by OOT code. When adding new methods here |
| the methods MUST be annotated with <code>@transitional</code> at introduction time.</p> |
| |
| |
| ### ReportReady {#KeyboardInputListener.ReportReady} |
| |
| <p>Notify that the client is ready to receive text input. Clients that need |
| to complete their setup to be able to continue with testing should call |
| this method, so that the listener can wait until they are ready to |
| proceed with testing.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 10</span></div> |
| |
| |
| |
| #### Request {#KeyboardInputListener.ReportReady_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#KeyboardInputListener.ReportReady_Response} |
| |
| <EMPTY> |
| |
| ### ReportTextInput {#KeyboardInputListener.ReportTextInput} |
| |
| <p>Notify the listener of the text string generated by the set of key events |
| received by the application.</p> |
| |
| |
| |
| #### Request {#KeyboardInputListener.ReportTextInput_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#KeyboardInputListenerReportTextInputRequest'>KeyboardInputListenerReportTextInputRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## MediaButtonsDevice {#MediaButtonsDevice} |
| *Defined in [fuchsia.ui.test.input/media_buttons.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/media_buttons.fidl;l=12)* |
| <p>A tool to inject media button events into Input Pipeline.</p> |
| <p>Please extend as necessary.</p> |
| |
| |
| ### SimulateButtonPress {#MediaButtonsDevice.SimulateButtonPress} |
| |
| <p>Simulates a button press and release on the requested button on the |
| device.</p> |
| |
| |
| |
| #### Request {#MediaButtonsDevice.SimulateButtonPress_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#MediaButtonsDeviceSimulateButtonPressRequest'>MediaButtonsDeviceSimulateButtonPressRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#MediaButtonsDevice.SimulateButtonPress_Response} |
| |
| <EMPTY> |
| |
| ## Mouse {#Mouse} |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=50)* |
| <p>A tool to inject mouse events into Input Pipeline.</p> |
| <p>Please extend as necessary.</p> |
| |
| |
| ### SimulateMouseEvent {#Mouse.SimulateMouseEvent} |
| |
| <p>Injects an input report corresponding to the event specified.</p> |
| <p>NOTE: the <code>movement</code> parameters have a range of [-1000, 1000], |
| and the <code>scroll</code> parameters have a range of [-100, 100].</p> |
| |
| |
| |
| #### Request {#Mouse.SimulateMouseEvent_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#MouseSimulateMouseEventRequest'>MouseSimulateMouseEventRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Mouse.SimulateMouseEvent_Response} |
| |
| <EMPTY> |
| |
| ## MouseInputListener {#MouseInputListener} |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=85)* |
| <p>A tool for applications to report touch input to interested parties (e.g. a test |
| fixture).</p> |
| |
| |
| ### ReportMouseInput {#MouseInputListener.ReportMouseInput} |
| |
| <p>Report that component under test has received expected input.</p> |
| |
| |
| |
| #### Request {#MouseInputListener.ReportMouseInput_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#MouseInputListenerReportMouseInputRequest'>MouseInputListenerReportMouseInputRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## Registry {#Registry} |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=39)* |
| <p>*** This protocol must not be used in production. ***</p> |
| <p>Enables clients to register fake input devices, which can be used to |
| inject input events directly into Input Pipeline.</p> |
| |
| |
| ### RegisterKeyboard {#Registry.RegisterKeyboard} |
| |
| <p>Enables the client to inject keyboard events using the corresponding |
| client end to <code>device</code>.</p> |
| <p>Clients are allowed at most one in-flight call at a time. Subsequent |
| calls must wait until the acknowledgment returns. Non-compliance |
| results in channel closure.</p> |
| <p>The <code>fuchsia.ui.test.input.Keyboard</code> channel will remain open even |
| if the <code>Registry</code> connection closes.</p> |
| |
| |
| |
| #### Request {#Registry.RegisterKeyboard_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#RegistryRegisterKeyboardRequest'>RegistryRegisterKeyboardRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Registry.RegisterKeyboard_Response} |
| |
| <EMPTY> |
| |
| ### RegisterMediaButtonsDevice {#Registry.RegisterMediaButtonsDevice} |
| |
| <p>Enables the client to inject media buttons events using the |
| corresponding client end to <code>device</code>.</p> |
| <p>Clients are allowed at most one in-flight call at a time. Subsequent |
| calls must wait until the acknowledgment returns. Non-compliance |
| results in channel closure.</p> |
| <p>The <code>fuchsia.ui.test.input.MediaButtonsDevice</code> channel will remain open |
| even if the <code>Registry</code> connection closes.</p> |
| |
| |
| |
| #### Request {#Registry.RegisterMediaButtonsDevice_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#RegistryRegisterMediaButtonsDeviceRequest'>RegistryRegisterMediaButtonsDeviceRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Registry.RegisterMediaButtonsDevice_Response} |
| |
| <EMPTY> |
| |
| ### RegisterMouse {#Registry.RegisterMouse} |
| |
| <p>Enables the client to inject mouse events using the corresponding |
| client end to <code>device</code>.</p> |
| <p>Clients are allowed at most one in-flight call at a time. Subsequent |
| calls must wait until the acknowledgment returns. Non-compliance |
| results in channel closure.</p> |
| <p>The <code>fuchsia.ui.test.input.Mouse</code> channel will remain open even |
| if the <code>Registry</code> connection closes.</p> |
| |
| |
| |
| #### Request {#Registry.RegisterMouse_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#RegistryRegisterMouseRequest'>RegistryRegisterMouseRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Registry.RegisterMouse_Response} |
| |
| <EMPTY> |
| |
| ### RegisterTouchScreen {#Registry.RegisterTouchScreen} |
| |
| <p>Enables the client to inject touch events using the corresponding |
| client end to <code>device</code>.</p> |
| <p>Clients are allowed at most one in-flight call at a time. Subsequent |
| calls must wait until the acknowledgment returns. Non-compliance |
| results in channel closure.</p> |
| <p>The <code>fuchsia.ui.test.input.TouchScreen</code> channel will remain open even |
| if the <code>Registry</code> connection closes.</p> |
| |
| |
| |
| #### Request {#Registry.RegisterTouchScreen_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#RegistryRegisterTouchScreenRequest'>RegistryRegisterTouchScreenRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Registry.RegisterTouchScreen_Response} |
| |
| <EMPTY> |
| |
| ## TouchInputListener {#TouchInputListener} |
| *Defined in [fuchsia.ui.test.input/touch.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/touch.fidl;l=48)* |
| <p>A tool for applications to report touch input to interested parties (e.g. a test |
| fixture).</p> |
| |
| |
| ### ReportTouchInput {#TouchInputListener.ReportTouchInput} |
| |
| <p>Report that component under test has received expected input.</p> |
| |
| |
| |
| #### Request {#TouchInputListener.ReportTouchInput_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#TouchInputListenerReportTouchInputRequest'>TouchInputListenerReportTouchInputRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## TouchScreen {#TouchScreen} |
| *Defined in [fuchsia.ui.test.input/touch.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/touch.fidl;l=13)* |
| <p>A tool to inject touch events into Input Pipeline.</p> |
| <p>Please extend as necessary.</p> |
| |
| |
| ### SimulateSwipe {#TouchScreen.SimulateSwipe} |
| |
| <p>Simulates a swipe that starts at <code>start_location</code> and ends at <code>end_location</code>, |
| with a total number of move events equal to <code>move_event_count</code>.</p> |
| <p>The generated pointer event stream will be:</p> |
| <p>DOWN + CHANGE_1 + ... + CHANGE_n + UP, where n == <code>move_event_count</code></p> |
| <p>Events are injected with no explicit delay in between; in other words, the |
| observed delay between successive events will be approximately equal to the |
| time required to inject a single event.</p> |
| |
| |
| |
| #### Request {#TouchScreen.SimulateSwipe_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#TouchScreenSimulateSwipeRequest'>TouchScreenSimulateSwipeRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#TouchScreen.SimulateSwipe_Response} |
| |
| <EMPTY> |
| |
| ### SimulateTap {#TouchScreen.SimulateTap} |
| |
| <p>Simulates a tap at the requested location.</p> |
| |
| |
| |
| #### Request {#TouchScreen.SimulateTap_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>payload</code></td> |
| <td> |
| <code><a class='link' href='#TouchScreenSimulateTapRequest'>TouchScreenSimulateTapRequest</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#TouchScreen.SimulateTap_Response} |
| |
| <EMPTY> |
| |
| |
| |
| ## **ENUMS** |
| |
| ### CoordinateUnit [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#CoordinateUnit data-text="CoordinateUnit"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=10)* |
| <p>Indicates the units used to specify spatial event parameters (unless otherwise |
| noted).</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 11</span></div> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="CoordinateUnit.DEFAULT"> |
| <td><h3 id="CoordinateUnit.DEFAULT" class="add-link hide-from-toc">DEFAULT</h3></td> |
| <td><code>0</code></td> |
| <td><p>The physical display is mapped to a coordinate space spanning [-1000, 1000] |
| on both the x and y axes, where positive x extends rightward and positive y |
| extends downward.</p> |
| <p>Example: (500, -500) in the default coordinate space maps to the center of |
| the top-right quadrant of the physical display.</p> |
| </td> |
| </tr> |
| <tr id="CoordinateUnit.PHYSICAL_PIXELS"> |
| <td><h3 id="CoordinateUnit.PHYSICAL_PIXELS" class="add-link hide-from-toc">PHYSICAL_PIXELS</h3></td> |
| <td><code>1</code></td> |
| <td><p>The physical display is mapped to a coordinate space spanning (0, 0) - |
| (dispaly width, display height), where positive x extends rightward and |
| positive y extends downward.</p> |
| <p>Test writers should use <code>fuchsia.ui.display.singleton.Info</code> to retrieve |
| the physical dimensions of the display.</p> |
| <p>Note that this space matches both the size AND orientation of the physical |
| display, so it will NOT mirror any rotations applied to the scene graph.</p> |
| <p>In general, test writers should NOT assume that a particular view's logical |
| coordinate space matches the physical coordinate space.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### MouseButton [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#MouseButton data-text="MouseButton"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=14)* |
| <p>Identifies various buttons on a standard mouse.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="MouseButton.FIRST"> |
| <td><h3 id="MouseButton.FIRST" class="add-link hide-from-toc">FIRST</h3></td> |
| <td><code>0</code></td> |
| <td><p>"Left" mouse button.</p> |
| </td> |
| </tr> |
| <tr id="MouseButton.SECOND"> |
| <td><h3 id="MouseButton.SECOND" class="add-link hide-from-toc">SECOND</h3></td> |
| <td><code>1</code></td> |
| <td><p>"Right" mouse button.</p> |
| </td> |
| </tr> |
| <tr id="MouseButton.THIRD"> |
| <td><h3 id="MouseButton.THIRD" class="add-link hide-from-toc">THIRD</h3></td> |
| <td><code>2</code></td> |
| <td><p>"Third" mouse button.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### MouseEventPhase [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#MouseEventPhase data-text="MouseEventPhase"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=26)* |
| <p>Identifies the phase of a mouse event.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="MouseEventPhase.ADD"> |
| <td><h3 id="MouseEventPhase.ADD" class="add-link hide-from-toc">ADD</h3></td> |
| <td><code>0</code></td> |
| <td><p>The observer has started tracking the mouse.</p> |
| </td> |
| </tr> |
| <tr id="MouseEventPhase.HOVER"> |
| <td><h3 id="MouseEventPhase.HOVER" class="add-link hide-from-toc">HOVER</h3></td> |
| <td><code>1</code></td> |
| <td><p>The mouse has moved since the last ADD event, without an interceding DOWN |
| event.</p> |
| </td> |
| </tr> |
| <tr id="MouseEventPhase.DOWN"> |
| <td><h3 id="MouseEventPhase.DOWN" class="add-link hide-from-toc">DOWN</h3></td> |
| <td><code>2</code></td> |
| <td><p>One or more mouse buttons have been pressed.</p> |
| </td> |
| </tr> |
| <tr id="MouseEventPhase.MOVE"> |
| <td><h3 id="MouseEventPhase.MOVE" class="add-link hide-from-toc">MOVE</h3></td> |
| <td><code>3</code></td> |
| <td><p>The mouse has moved since the last DOWN event.</p> |
| </td> |
| </tr> |
| <tr id="MouseEventPhase.UP"> |
| <td><h3 id="MouseEventPhase.UP" class="add-link hide-from-toc">UP</h3></td> |
| <td><code>4</code></td> |
| <td><p>All pressed buttons have been released.</p> |
| </td> |
| </tr> |
| <tr id="MouseEventPhase.WHEEL"> |
| <td><h3 id="MouseEventPhase.WHEEL" class="add-link hide-from-toc">WHEEL</h3></td> |
| <td><code>5</code></td> |
| <td><p>The mouse wheel was manipulated.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **TABLES** |
| |
| ### KeyboardInputListenerReportTextInputRequest {#KeyboardInputListenerReportTextInputRequest data-text="KeyboardInputListenerReportTextInputRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/text.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/text.fidl;l=56)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="KeyboardInputListenerReportTextInputRequest.text"> |
| <td><h3 id="KeyboardInputListenerReportTextInputRequest.text" class="add-link hide-from-toc">1</h3></td> |
| <td><code>text</code></td> |
| <td> |
| <code>string[1024]</code> |
| </td> |
| <td><p>The content of the text input received by the reporter.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### KeyboardSimulateUsAsciiTextEntryRequest {#KeyboardSimulateUsAsciiTextEntryRequest data-text="KeyboardSimulateUsAsciiTextEntryRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/text.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/text.fidl;l=22)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="KeyboardSimulateUsAsciiTextEntryRequest.text"> |
| <td><h3 id="KeyboardSimulateUsAsciiTextEntryRequest.text" class="add-link hide-from-toc">1</h3></td> |
| <td><code>text</code></td> |
| <td> |
| <code>string[1024]</code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### MediaButtonsDeviceSimulateButtonPressRequest {#MediaButtonsDeviceSimulateButtonPressRequest data-text="MediaButtonsDeviceSimulateButtonPressRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/media_buttons.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/media_buttons.fidl;l=15)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="MediaButtonsDeviceSimulateButtonPressRequest.button"> |
| <td><h3 id="MediaButtonsDeviceSimulateButtonPressRequest.button" class="add-link hide-from-toc">1</h3></td> |
| <td><code>button</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.input.report/'>fuchsia.input.report</a>/<a class='link' href='../fuchsia.input.report/#ConsumerControlButton'>ConsumerControlButton</a></code> |
| </td> |
| <td><p>The button receiving the button press.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### MouseInputListenerReportMouseInputRequest {#MouseInputListenerReportMouseInputRequest data-text="MouseInputListenerReportMouseInputRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=87)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.local_x"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.local_x" class="add-link hide-from-toc">1</h3></td> |
| <td><code>local_x</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The horizontal coordinate in the reporter's coordinate system.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.local_y"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.local_y" class="add-link hide-from-toc">2</h3></td> |
| <td><code>local_y</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The vertical coordinate in the reporter's coordinate system.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.time_received"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.time_received" class="add-link hide-from-toc">3</h3></td> |
| <td><code>time_received</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The monotonic time (ns) the mouse event was received by the client. |
| Note that this value should be used with caution. Some reporters may not be |
| capable of ns-level precision, but still report in ns-level units.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.component_name"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.component_name" class="add-link hide-from-toc">4</h3></td> |
| <td><code>component_name</code></td> |
| <td> |
| <code>string[1024]</code> |
| </td> |
| <td><p>Name of the component to help distinguish responses from multiple components.</p> |
| <p>NOTE: This name is <em>independent</em> of component framework, so the reporter and |
| listener are free to agree on an arbitrary value.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.buttons"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.buttons" class="add-link hide-from-toc">5</h3></td> |
| <td><code>buttons</code></td> |
| <td> |
| <code>vector<<a class='link' href='#MouseButton'>MouseButton</a>>[32]</code> |
| </td> |
| <td><p>The pressed buttons that the reporter received.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.phase"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.phase" class="add-link hide-from-toc">6</h3></td> |
| <td><code>phase</code></td> |
| <td> |
| <code><a class='link' href='#MouseEventPhase'>MouseEventPhase</a></code> |
| </td> |
| <td><p>The phase of the mouse event that the reporter received.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.device_pixel_ratio"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.device_pixel_ratio" class="add-link hide-from-toc">7</h3></td> |
| <td><code>device_pixel_ratio</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The device pixel ratio of which the reporter is aware.</p> |
| <p>Some reporters may account for this scale factor when converting to local |
| coordinates.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.wheel_x_physical_pixel"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.wheel_x_physical_pixel" class="add-link hide-from-toc">8</h3></td> |
| <td><code>wheel_x_physical_pixel</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The horizontal wheel scroll delta in physical pixels.</p> |
| </td> |
| </tr> |
| <tr id="MouseInputListenerReportMouseInputRequest.wheel_y_physical_pixel"> |
| <td><h3 id="MouseInputListenerReportMouseInputRequest.wheel_y_physical_pixel" class="add-link hide-from-toc">9</h3></td> |
| <td><code>wheel_y_physical_pixel</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The vertical wheel scroll delta in physical pixels.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### MouseSimulateMouseEventRequest {#MouseSimulateMouseEventRequest data-text="MouseSimulateMouseEventRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/mouse.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=55)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="MouseSimulateMouseEventRequest.pressed_buttons"> |
| <td><h3 id="MouseSimulateMouseEventRequest.pressed_buttons" class="add-link hide-from-toc">1</h3></td> |
| <td><code>pressed_buttons</code></td> |
| <td> |
| <code>vector<<a class='link' href='#MouseButton'>MouseButton</a>>[32]</code> |
| </td> |
| <td><p>Set of buttons that are currently pressed. |
| Must NOT contain duplicates.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.movement_x"> |
| <td><h3 id="MouseSimulateMouseEventRequest.movement_x" class="add-link hide-from-toc">2</h3></td> |
| <td><code>movement_x</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td><p>Relative X positional displacement.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.movement_y"> |
| <td><h3 id="MouseSimulateMouseEventRequest.movement_y" class="add-link hide-from-toc">3</h3></td> |
| <td><code>movement_y</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td><p>Relative Y positional displacement.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.scroll_v_detent"> |
| <td><h3 id="MouseSimulateMouseEventRequest.scroll_v_detent" class="add-link hide-from-toc">4</h3></td> |
| <td><code>scroll_v_detent</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td><p>Relative vertical scrolling displacement by detent.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.scroll_h_detent"> |
| <td><h3 id="MouseSimulateMouseEventRequest.scroll_h_detent" class="add-link hide-from-toc">5</h3></td> |
| <td><code>scroll_h_detent</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td><p>Relative horizontal scrolling displacement by detent.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.scroll_v_physical_pixel"> |
| <td><h3 id="MouseSimulateMouseEventRequest.scroll_v_physical_pixel" class="add-link hide-from-toc">6</h3></td> |
| <td><code>scroll_v_physical_pixel</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>Recommended vertical scrolling displacement by physical pixel, it is |
| computed with accelerator, detent / mm to pixel ratio, etc.</p> |
| </td> |
| </tr> |
| <tr id="MouseSimulateMouseEventRequest.scroll_h_physical_pixel"> |
| <td><h3 id="MouseSimulateMouseEventRequest.scroll_h_physical_pixel" class="add-link hide-from-toc">7</h3></td> |
| <td><code>scroll_h_physical_pixel</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>Recommended horizontal scrolling displacement by physical pixel, it |
| is computed with accelerator, detent / mm to pixel ratio, etc.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### RegistryRegisterKeyboardRequest [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RegistryRegisterKeyboardRequest data-text="RegistryRegisterKeyboardRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=80)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RegistryRegisterKeyboardRequest.device"> |
| <td><h3 id="RegistryRegisterKeyboardRequest.device" class="add-link hide-from-toc">1</h3></td> |
| <td><code>device</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#Keyboard'>Keyboard</a>></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RegistryRegisterMediaButtonsDeviceRequest [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RegistryRegisterMediaButtonsDeviceRequest data-text="RegistryRegisterMediaButtonsDeviceRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=67)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RegistryRegisterMediaButtonsDeviceRequest.device"> |
| <td><h3 id="RegistryRegisterMediaButtonsDeviceRequest.device" class="add-link hide-from-toc">1</h3></td> |
| <td><code>device</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#MediaButtonsDevice'>MediaButtonsDevice</a>></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RegistryRegisterMouseRequest [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RegistryRegisterMouseRequest data-text="RegistryRegisterMouseRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=93)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RegistryRegisterMouseRequest.device"> |
| <td><h3 id="RegistryRegisterMouseRequest.device" class="add-link hide-from-toc">1</h3></td> |
| <td><code>device</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#Mouse'>Mouse</a>></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RegistryRegisterTouchScreenRequest [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RegistryRegisterTouchScreenRequest data-text="RegistryRegisterTouchScreenRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/registry.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/registry.fidl;l=50)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RegistryRegisterTouchScreenRequest.device"> |
| <td><h3 id="RegistryRegisterTouchScreenRequest.device" class="add-link hide-from-toc">1</h3></td> |
| <td><code>device</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#TouchScreen'>TouchScreen</a>></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="RegistryRegisterTouchScreenRequest.coordinate_unit"> |
| <td><h3 id="RegistryRegisterTouchScreenRequest.coordinate_unit" class="add-link hide-from-toc">2</h3></td> |
| <td><code>coordinate_unit</code></td> |
| <td> |
| <code><a class='link' href='#CoordinateUnit'>CoordinateUnit</a></code> |
| </td> |
| <td><p>Indicates the coordinate space in which to describe touch events.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 11</span></div> |
| </td> |
| </tr> |
| </table> |
| |
| ### TouchInputListenerReportTouchInputRequest {#TouchInputListenerReportTouchInputRequest data-text="TouchInputListenerReportTouchInputRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/touch.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/touch.fidl;l=50)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TouchInputListenerReportTouchInputRequest.local_x"> |
| <td><h3 id="TouchInputListenerReportTouchInputRequest.local_x" class="add-link hide-from-toc">1</h3></td> |
| <td><code>local_x</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The horizontal coordinate, in the reporter's coordinate system.</p> |
| </td> |
| </tr> |
| <tr id="TouchInputListenerReportTouchInputRequest.local_y"> |
| <td><h3 id="TouchInputListenerReportTouchInputRequest.local_y" class="add-link hide-from-toc">2</h3></td> |
| <td><code>local_y</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The vertical coordinate, in the reporter's coordinate system.</p> |
| </td> |
| </tr> |
| <tr id="TouchInputListenerReportTouchInputRequest.time_received"> |
| <td><h3 id="TouchInputListenerReportTouchInputRequest.time_received" class="add-link hide-from-toc">3</h3></td> |
| <td><code>time_received</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The monotonic time (ns) the pointer data was received by the reporter. |
| Note that this value should be used with caution. Some reporters may not be |
| capable of ns-level precision, but still report in ns-level units.</p> |
| </td> |
| </tr> |
| <tr id="TouchInputListenerReportTouchInputRequest.device_pixel_ratio"> |
| <td><h3 id="TouchInputListenerReportTouchInputRequest.device_pixel_ratio" class="add-link hide-from-toc">4</h3></td> |
| <td><code>device_pixel_ratio</code></td> |
| <td> |
| <code>float64</code> |
| </td> |
| <td><p>The number of physical pixels, per logical pixel, as reported by the reporter.</p> |
| </td> |
| </tr> |
| <tr id="TouchInputListenerReportTouchInputRequest.component_name"> |
| <td><h3 id="TouchInputListenerReportTouchInputRequest.component_name" class="add-link hide-from-toc">5</h3></td> |
| <td><code>component_name</code></td> |
| <td> |
| <code>string[1024]</code> |
| </td> |
| <td><p>Name of the component to help distinguish responses from multiple components.</p> |
| <p>NOTE: This name is <em>independent</em> of component framework, so the reporter and |
| listener are free to agree on an arbitrary value.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TouchScreenSimulateSwipeRequest {#TouchScreenSimulateSwipeRequest data-text="TouchScreenSimulateSwipeRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/touch.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/touch.fidl;l=31)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TouchScreenSimulateSwipeRequest.start_location"> |
| <td><h3 id="TouchScreenSimulateSwipeRequest.start_location" class="add-link hide-from-toc">1</h3></td> |
| <td><code>start_location</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.math/'>fuchsia.math</a>/<a class='link' href='../fuchsia.math/#Vec'>Vec</a></code> |
| </td> |
| <td><p>Starting location of the swipe, in the coordinate units specified during |
| registration.</p> |
| </td> |
| </tr> |
| <tr id="TouchScreenSimulateSwipeRequest.end_location"> |
| <td><h3 id="TouchScreenSimulateSwipeRequest.end_location" class="add-link hide-from-toc">2</h3></td> |
| <td><code>end_location</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.math/'>fuchsia.math</a>/<a class='link' href='../fuchsia.math/#Vec'>Vec</a></code> |
| </td> |
| <td><p>End location of the swipe, in the coordinate units specified during |
| registration.</p> |
| </td> |
| </tr> |
| <tr id="TouchScreenSimulateSwipeRequest.move_event_count"> |
| <td><h3 id="TouchScreenSimulateSwipeRequest.move_event_count" class="add-link hide-from-toc">3</h3></td> |
| <td><code>move_event_count</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Number of move events in the swipe.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TouchScreenSimulateTapRequest {#TouchScreenSimulateTapRequest data-text="TouchScreenSimulateTapRequest"} |
| |
| |
| *Defined in [fuchsia.ui.test.input/touch.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/touch.fidl;l=15)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TouchScreenSimulateTapRequest.tap_location"> |
| <td><h3 id="TouchScreenSimulateTapRequest.tap_location" class="add-link hide-from-toc">1</h3></td> |
| <td><code>tap_location</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.math/'>fuchsia.math</a>/<a class='link' href='../fuchsia.math/#Vec'>Vec</a></code> |
| </td> |
| <td><p>Location of the tap event, in the coordinate units specified during |
| registration.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| |
| ## **CONSTANTS** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr> |
| <tr id="MOUSE_MAX_NUM_BUTTONS"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.test.input/mouse.fidl;l=11">MOUSE_MAX_NUM_BUTTONS</a></td> |
| <td> |
| <code>32</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td><p>A hardcoded number of max mouse buttons. This should be increased in the future |
| if we ever see mice with more buttons.</p> |
| </td> |
| </tr> |
| </table> |