| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.ui.test.input; |
| |
| using fuchsia.input.report; |
| |
| /// A tool to inject media button events into Input Pipeline. |
| /// |
| /// Please extend as necessary. |
| closed protocol MediaButtonsDevice { |
| /// Simulates a button press and release on the requested button on the |
| /// device. |
| strict SimulateButtonPress(table { |
| /// The button receiving the button press. |
| 1: button fuchsia.input.report.ConsumerControlButton; |
| }) -> (); |
| |
| /// Send a vector of pressing button on the requested button on the |
| /// device. Passing empty vector will release all pressing buttons. |
| @available(added=19) |
| strict SendButtonsState(table { |
| /// The button receiving the button press. |
| 1: buttons |
| vector<fuchsia.input.report.ConsumerControlButton>:fuchsia.input.report.CONSUMER_CONTROL_MAX_NUM_BUTTONS; |
| }) -> (); |
| }; |