| // Copyright 2020 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.input.report; |
| |
| /// Hardcoded max sizes for ConsumerControl vectors. These sizes should be increased |
| /// if we ever see a device with more objects than can be represented. |
| const CONSUMER_CONTROL_MAX_NUM_BUTTONS uint32 = 255; |
| |
| /// These ControlButtons represent on/off buttons whose purpose is to change |
| /// the host's configuration. |
| type ConsumerControlButton = flexible enum : uint32 { |
| /// This button represents increasing volume. |
| VOLUME_UP = 1; |
| |
| /// This button represents decreasing volume. |
| VOLUME_DOWN = 2; |
| |
| /// This button represents pausing. |
| PAUSE = 3; |
| |
| /// This button represents factory resetting the host. |
| FACTORY_RESET = 4; |
| |
| /// This button represents muting the microphone on the host. |
| MIC_MUTE = 5; |
| |
| /// This button represents rebooting the host. |
| REBOOT = 6; |
| |
| /// This button represents disabling the camera on the host. |
| CAMERA_DISABLE = 7; |
| }; |
| |
| /// Describes the format of the input report that will be sent from the |
| /// ConsumerControl device to the host. |
| type ConsumerControlInputDescriptor = table { |
| /// The list of buttons that this device contains. |
| 1: buttons vector<ConsumerControlButton>:CONSUMER_CONTROL_MAX_NUM_BUTTONS; |
| }; |
| |
| /// A Fuchsia ConsumerControl represents a device thats purpose is to change |
| /// values on the host. Typical controls are Volume, Power, Media Playback. |
| /// (Consider a TV remote to be a typical ConsumerControl). |
| type ConsumerControlDescriptor = table { |
| 1: input ConsumerControlInputDescriptor; |
| }; |
| |
| /// A single report created by a ConsumerControl device. |
| type ConsumerControlInputReport = table { |
| /// The list of buttons that are currently pressed down. |
| 1: pressed_buttons vector<ConsumerControlButton>:CONSUMER_CONTROL_MAX_NUM_BUTTONS; |
| }; |