ENUMS
GpioButtonId flexible
Type: uint32
Defined in fuchsia.buttons/gpio_buttons.fidl
All possible IDs of a button.
| Name | Value | Description | 
|---|---|---|
| VOLUME_UP | 0 | |
| VOLUME_DOWN | 1 | |
| FDR | 2 | |
| MIC_MUTE | 3 | |
| PLAY_PAUSE | 4 | |
| KEY_A | 5 | |
| KEY_M | 6 | |
| CAM_MUTE | 7 | |
| MIC_AND_CAM_MUTE | 8 | |
| FUNCTION | 9 | |
| POWER | 10 | 
TABLES
AdcButtonConfig
Defined in fuchsia.buttons/adc_buttons.fidl
Analog-to-Digital Converter Buttons
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | channel_idx | uint32 | ADC Channel Index to read button value on. | 
| 2 | release_threshold | uint32 | If press_threshold <= value <= release_threshold, button is pressed. Otherwise, not pressed. | 
| 3 | press_threshold | uint32 | 
AdcButtonsMetadata
Defined in fuchsia.buttons/adc_buttons.fidl
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | polling_rate_usec | uint32 | Polling Rate in usec if exists. | 
| 2 | buttons | vector<Button> | Buttons. | 
Button
Defined in fuchsia.buttons/adc_buttons.fidl
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | types | vector<fuchsia.input.report/ConsumerControlButton> | Button Types. A single button may affect multiple things and thus have multiple functionalities. For example, a privacy switch that mutes both the camera and mic may map to the combination of fuchsia.input.report.ConsumerControlButton.MIC_MUTE and CAMERA_DISABLE. | 
| 2 | button_config | ButtonConfig | Button Config. | 
DirectGpioButton
Defined in fuchsia.buttons/gpio_buttons.fidl
Configuration for a direct gpio button where the state of the button is represented by the value of a gpio.
| Ordinal | Field | Type | Description | 
|---|
GpioButtonConfig
Defined in fuchsia.buttons/gpio_buttons.fidl
Configuration information of a button that uses gpios to function.
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | type | GpioButtonType | |
| 2 | gpio_a_index | uint8 | Index of gpio A used. | 
| 3 | gpio_delay | zx/Duration | For settling during matrix scan. | 
| 4 | id | GpioButtonId | ID of the button. | 
GpioButtonsMetadata
Defined in fuchsia.buttons/gpio_buttons.fidl
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | buttons | vector<GpioButtonConfig> | Configuration information for buttons that require gpio to function. | 
| 2 | gpios | vector<GpioConfig> | Configuration information for the gpios used by |buttons|. | 
GpioConfig
Defined in fuchsia.buttons/gpio_buttons.fidl
Configuration information of a gpio used by a button.
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | type | GpioType | The type of the gpio pin. | 
| 2 | flags | GpioFlag | The flags of the gpio pin. | 
InterruptGpio
Defined in fuchsia.buttons/gpio_buttons.fidl
Gpio pin will trigger an interrupt when its value has changed.
| Ordinal | Field | Type | Description | 
|---|
MatrixGpioButton
Defined in fuchsia.buttons/gpio_buttons.fidl
Configuration for a matrix gpio button.
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | gpio_b_index | uint8 | Index of gpio B (column) used. Gpio type must be  | 
MatrixOutputGpio
Defined in fuchsia.buttons/gpio_buttons.fidl
Gpio pin's value continuously cycles through a row or column of a matrix of values that usually represent a matrix of the states of buttons/components.
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | output_value | uint8 | Determines the buffer mode of the gpio. A value of 0 is output-low and anything else is output-high. | 
PollGpio
Defined in fuchsia.buttons/gpio_buttons.fidl
Gpio pin is constantly polled for its value.
| Ordinal | Field | Type | Description | 
|---|---|---|---|
| 1 | period | zx/Duration | Time between each poll. | 
UNIONS
ButtonConfig flexible
Defined in fuchsia.buttons/adc_buttons.fidl
| Ordinal | Variant | Type | Description | 
|---|---|---|---|
| 1 | adc | AdcButtonConfig | ADC Buttons. | 
GpioButtonType flexible
Defined in fuchsia.buttons/gpio_buttons.fidl
Type of button.
| Ordinal | Variant | Type | Description | 
|---|---|---|---|
| 1 | direct | DirectGpioButton | |
| 2 | matrix | MatrixGpioButton | 
GpioType flexible
Defined in fuchsia.buttons/gpio_buttons.fidl
The type of gpio.
| Ordinal | Variant | Type | Description | 
|---|---|---|---|
| 1 | interrupt | InterruptGpio | |
| 2 | matrix_output | MatrixOutputGpio | |
| 3 | poll | PollGpio | 
BITS
GpioFlag flexible
Type: uint32
Defined in fuchsia.buttons/gpio_buttons.fidl
Flags for configuriung gpio pin.
| Name | Value | Description | 
|---|---|---|
| INVERTED | 128 | Invert the gpio's signal. | 
| WAKE_VECTOR | 64 | Use the gpio as a wake vector. | 
CONSTANTS
| Name | Value | Type | Description | 
|---|---|---|---|
| MAX_GPIO_BUTTON_ID_ORD | 11 | uint32 | Maximum ordinal that GpioButtonId can be. |