STRUCTS
Axis
Defined in fuchsia.input/units.fidl
An Axis is defined as a range and a unit.
| Field | Type | Description | Default |
|---|---|---|---|
range |
Range
|
No default | |
unit |
Unit
|
No default |
Range
Defined in fuchsia.input/units.fidl
Describe a Range of values.
| Field | Type | Description | Default |
|---|---|---|---|
min |
int64
|
No default | |
max |
int64
|
No default |
Unit
Defined in fuchsia.input/units.fidl
Describes a given unit by giving the unit and the unit's exponent. E.g: Nanometers would have type METERS and exponent -9.
| Field | Type | Description | Default |
|---|---|---|---|
type |
UnitType
|
No default | |
exponent |
int32
|
No default |
ENUMS
ConsumerControlButton flexible
Type: uint32
Defined in fuchsia.input/button.fidl
These ControlButtons represent on/off buttons whose purpose is to change the host's configuration.
| Name | Value | Description |
|---|---|---|
VOLUME_UP |
1 |
This button represents increasing volume. |
VOLUME_DOWN |
2 |
This button represents decreasing volume. |
PAUSE |
3 |
This button represents pausing. |
FACTORY_RESET |
4 |
This button represents factory resetting the host. |
MIC_MUTE |
5 |
This button represents muting the microphone on the host. |
REBOOT |
6 |
This button represents rebooting the host. |
CAMERA_DISABLE |
7 |
This button represents disabling the camera on the host. |
FUNCTION |
8 |
This button represents a function. |
POWER |
9 |
This button represents a power button. |
Key flexible
Type: uint32
Defined in fuchsia.input/keys.fidl
A Fuchsia key represents a control that can be pressed or released such as a key or a button on a keyboard or another input device.
The ordinal index for enum elements is derived from the USB HID Usage Tables at the time of definition. It is a 32 bit unsigned integer representing the USB HID Usage where the low 16 bits are the USB HID Usage ID and the high 16 bits are the USB HID Usage Page.
The descriptions for each value in the enum assume a US English keyboard layout. Actual behavior varies by layout.
| Name | Value | Description |
|---|---|---|
UNKNOWN |
0 |
Used when the value of Key is not known. |
A |
458756 |
Keyboard a and A |
B |
458757 |
Keyboard b and B |
C |
458758 |
Keyboard c and C |
D |
458759 |
Keyboard d and D |
E |
458760 |
Keyboard e and E |
F |
458761 |
Keyboard f and F |
G |
458762 |
Keyboard g and G |
H |
458763 |
Keyboard h and H |
I |
458764 |
Keyboard i and I |
J |
458765 |
Keyboard j and J |
K |
458766 |
Keyboard k and K |
L |
458767 |
Keyboard l and L |
M |
458768 |
Keyboard m and M |
N |
458769 |
Keyboard n and N |
O |
458770 |
Keyboard o and O |
P |
458771 |
Keyboard p and P |
Q |
458772 |
Keyboard q and Q |
R |
458773 |
Keyboard r and R |
S |
458774 |
Keyboard s and S |
T |
458775 |
Keyboard t and T |
U |
458776 |
Keyboard u and U |
V |
458777 |
Keyboard v and V |
W |
458778 |
Keyboard w and W |
X |
458779 |
Keyboard x and X |
Y |
458780 |
Keyboard y and Y |
Z |
458781 |
Keyboard z and Z |
KEY_1 |
458782 |
Keyboard 1 and ! |
KEY_2 |
458783 |
Keyboard 2 and @ |
KEY_3 |
458784 |
Keyboard 3 and # |
KEY_4 |
458785 |
Keyboard 4 and $ |
KEY_5 |
458786 |
Keyboard 5 and % |
KEY_6 |
458787 |
Keyboard 6 and ^ |
KEY_7 |
458788 |
Keyboard 7 and & |
KEY_8 |
458789 |
Keyboard 8 and * |
KEY_9 |
458790 |
Keyboard 9 and ( |
KEY_0 |
458791 |
Keyboard 0 and ) |
ENTER |
458792 |
Keyboard Enter (Return) |
ESCAPE |
458793 |
Keyboard Escape |
BACKSPACE |
458794 |
Keyboard Backspace (Backward Delete) |
TAB |
458795 |
Keyboard Tab |
SPACE |
458796 |
Keyboard Spacebar |
MINUS |
458797 |
Keyboard - and (underscore) |
EQUALS |
458798 |
Keyboard = and + |
LEFT_BRACE |
458799 |
Keyboard [ and { |
RIGHT_BRACE |
458800 |
Keyboard ] and } |
BACKSLASH |
458801 |
Keyboard \ and | |
NON_US_HASH |
458802 |
Keyboard Non-US # and ~ |
SEMICOLON |
458803 |
Keyboard ; and : |
APOSTROPHE |
458804 |
Keyboard ' and " |
GRAVE_ACCENT |
458805 |
Keyboard Grave Accent and Tilde |
COMMA |
458806 |
Keyboard , and < |
DOT |
458807 |
Keyboard . and > |
SLASH |
458808 |
Keyboard / and ? |
CAPS_LOCK |
458809 |
Keyboard Caps Lock |
F1 |
458810 |
Keyboard F1 |
F2 |
458811 |
Keyboard F2 |
F3 |
458812 |
Keyboard F3 |
F4 |
458813 |
Keyboard F4 |
F5 |
458814 |
Keyboard F5 |
F6 |
458815 |
Keyboard F6 |
F7 |
458816 |
Keyboard F7 |
F8 |
458817 |
Keyboard F8 |
F9 |
458818 |
Keyboard F9 |
F10 |
458819 |
Keyboard F10 |
F11 |
458820 |
Keyboard F11 |
F12 |
458821 |
Keyboard F12 |
PRINT_SCREEN |
458822 |
Keyboard Print Screen |
SCROLL_LOCK |
458823 |
Keyboard Scroll Lock |
PAUSE |
458824 |
Keyboard Pause |
INSERT |
458825 |
Keyboard Insert |
HOME |
458826 |
Keyboard Home |
PAGE_UP |
458827 |
Keyboard Page Up |
DELETE |
458828 |
Keyboard Forward Delete |
END |
458829 |
Keyboard End |
PAGE_DOWN |
458830 |
Keyboard Page Down |
RIGHT |
458831 |
Keyboard Right Arrow |
LEFT |
458832 |
Keyboard Left Arrow |
DOWN |
458833 |
Keyboard Down Arrow |
UP |
458834 |
Keyboard Up Arrow |
NUM_LOCK |
458835 |
Keypad Num Lock and Clear |
KEYPAD_SLASH |
458836 |
Keypad / |
KEYPAD_ASTERISK |
458837 |
Keypad * |
KEYPAD_MINUS |
458838 |
Keypad - |
KEYPAD_PLUS |
458839 |
Keypad + |
KEYPAD_ENTER |
458840 |
Keypad ENTER |
KEYPAD_1 |
458841 |
Keypad 1 and End |
KEYPAD_2 |
458842 |
Keypad 2 and Down Arrow |
KEYPAD_3 |
458843 |
Keypad 3 and Page Down |
KEYPAD_4 |
458844 |
Keypad 4 and Left Arrow |
KEYPAD_5 |
458845 |
Keypad 5 |
KEYPAD_6 |
458846 |
Keypad 6 and Right Arrow |
KEYPAD_7 |
458847 |
Keypad 7 and Home |
KEYPAD_8 |
458848 |
Keypad 8 and Up Arrow |
KEYPAD_9 |
458849 |
Keypad 9 and Page Up |
KEYPAD_0 |
458850 |
Keypad 0 and Insert |
KEYPAD_DOT |
458851 |
Keypad . and Delete |
NON_US_BACKSLASH |
458852 |
Keyboard Non-US \ and | |
KEYPAD_EQUALS |
458855 |
Keypad = |
MENU |
458870 |
Keyboard Menu |
LEFT_CTRL |
458976 |
Keyboard Left Control |
LEFT_SHIFT |
458977 |
Keyboard Left Shift |
LEFT_ALT |
458978 |
Keyboard Left Alt |
LEFT_META |
458979 |
Keyboard Left GUI (Meta, Windows) |
RIGHT_CTRL |
458980 |
Keyboard Right Control |
RIGHT_SHIFT |
458981 |
Keyboard Right Shift |
RIGHT_ALT |
458982 |
Keyboard Right Alt |
RIGHT_META |
458983 |
Keyboard Right GUI (Meta, Windows) |
MUTE |
458879 |
Mute Silences played sounds. |
VOLUME_DOWN |
458881 |
Turn volume down |
VOLUME_UP |
458880 |
Turn volume up |
PLAY_PAUSE |
786637 |
Play media, or pause media if playing |
MEDIA_MUTE |
786658 |
Media mute Silences media playback. Other sounds may still be heard, e.g. system notification sounds. |
MEDIA_VOLUME_INCREMENT |
786665 |
Volume Increment |
MEDIA_VOLUME_DECREMENT |
786666 |
Volume Decrement |
AC_BACK |
786980 |
Back Go back to the previous page in the browser. This, and other action keys are defined in Chromium. |
AC_REFRESH |
786983 |
Refresh Refresh the current page in the browser. |
AC_FULL_SCREEN_VIEW |
786992 |
Full screen view Zooms the focused window to full screen. |
AC_SELECT_TASK_APPLICATION |
786850 |
Select task/application Shows the task selection window |
BRIGHTNESS_DOWN |
786543 |
Reduce screen brightness |
BRIGHTNESS_UP |
786544 |
Increase screen brightness |
ASSISTANT |
4294901761 |
NOTE: the following are self-defined and do not have to follow the HID usage pages. We use HID-Vendor-Specific page 0xFFFF to represent Fuchsia defined keys. Assistant Key. |
POWER |
4294901762 |
Power Button. |
SLEEP |
4294901763 |
Sleep Button. Added: 27
|
UNKNOWN_0055 |
4294901845 |
Warning: following keycodes maybe changed in the future, please don't use!!! We use following keycodes in starnix tests. Most of them are keycodes in non-US keyboard layouts, we may move them to meaning enum once we support those keyboard layouts. See b/311425670 for details. |
UNKNOWN_0056 |
4294901846 |
|
UNKNOWN_0059 |
4294901849 |
|
UNKNOWN_005C |
4294901852 |
|
UNKNOWN_005D |
4294901853 |
|
UNKNOWN_005E |
4294901854 |
|
UNKNOWN_0079 |
4294901881 |
|
UNKNOWN_007A |
4294901882 |
|
UNKNOWN_007B |
4294901883 |
|
UNKNOWN_007C |
4294901884 |
|
UNKNOWN_0085 |
4294901893 |
|
UNKNOWN_0087 |
4294901895 |
|
UNKNOWN_0089 |
4294901897 |
|
UNKNOWN_009C |
4294901916 |
|
UNKNOWN_009F |
4294901919 |
|
UNKNOWN_00A0 |
4294901920 |
|
UNKNOWN_00A2 |
4294901922 |
|
UNKNOWN_00A3 |
4294901923 |
|
UNKNOWN_00A5 |
4294901925 |
|
UNKNOWN_00A6 |
4294901926 |
|
UNKNOWN_00A7 |
4294901927 |
|
UNKNOWN_00A8 |
4294901928 |
|
UNKNOWN_00A9 |
4294901929 |
|
UNKNOWN_00AD |
4294901933 |
|
UNKNOWN_00B1 |
4294901937 |
|
UNKNOWN_00B2 |
4294901938 |
|
UNKNOWN_00B3 |
4294901939 |
|
UNKNOWN_00B4 |
4294901940 |
|
UNKNOWN_00C9 |
4294901961 |
|
UNKNOWN_00CF |
4294901967 |
|
UNKNOWN_00D0 |
4294901968 |
|
UNKNOWN_00D4 |
4294901972 |
|
UNKNOWN_00E2 |
4294901986 |
|
UNKNOWN_0120 |
4294902048 |
|
UNKNOWN_0121 |
4294902049 |
|
UNKNOWN_0122 |
4294902050 |
|
UNKNOWN_0123 |
4294902051 |
|
UNKNOWN_0124 |
4294902052 |
|
UNKNOWN_0125 |
4294902053 |
|
UNKNOWN_0126 |
4294902054 |
|
UNKNOWN_0127 |
4294902055 |
|
UNKNOWN_0128 |
4294902056 |
|
UNKNOWN_0129 |
4294902057 |
|
UNKNOWN_012A |
4294902058 |
|
UNKNOWN_012B |
4294902059 |
|
UNKNOWN_012C |
4294902060 |
|
UNKNOWN_012D |
4294902061 |
|
UNKNOWN_012E |
4294902062 |
|
UNKNOWN_012F |
4294902063 |
|
UNKNOWN_0130 |
4294902064 |
|
UNKNOWN_0131 |
4294902065 |
|
UNKNOWN_0132 |
4294902066 |
|
UNKNOWN_0133 |
4294902067 |
|
UNKNOWN_0134 |
4294902068 |
|
UNKNOWN_0135 |
4294902069 |
|
UNKNOWN_0136 |
4294902070 |
|
UNKNOWN_0137 |
4294902071 |
|
UNKNOWN_0138 |
4294902072 |
|
UNKNOWN_0139 |
4294902073 |
|
UNKNOWN_013A |
4294902074 |
|
UNKNOWN_013B |
4294902075 |
|
UNKNOWN_013C |
4294902076 |
|
UNKNOWN_013D |
4294902077 |
|
UNKNOWN_013E |
4294902078 |
|
UNKNOWN_0161 |
4294902113 |
|
UNKNOWN_016A |
4294902122 |
|
UNKNOWN_016E |
4294902126 |
|
UNKNOWN_0172 |
4294902130 |
|
UNKNOWN_0179 |
4294902137 |
|
UNKNOWN_018E |
4294902158 |
|
UNKNOWN_018F |
4294902159 |
|
UNKNOWN_0190 |
4294902160 |
|
UNKNOWN_0191 |
4294902161 |
|
UNKNOWN_0192 |
4294902162 |
|
UNKNOWN_0193 |
4294902163 |
|
UNKNOWN_0195 |
4294902165 |
|
UNKNOWN_01D0 |
4294902224 |
|
UNKNOWN_020A |
4294902282 |
|
UNKNOWN_020B |
4294902283 |
KeymapId flexible
Type: uint32
Defined in fuchsia.input/keymap.fidl
Keymaps that should always be present and selectable. The fallback keymaps may be useful on their own but are mainly here to ensure that at least some keymap is present if no other custom keymaps have been defined or in use.
| Name | Value | Description |
|---|---|---|
US_QWERTY |
0 |
The US_QWERTY keymap. This is also the default if no settings are ever applied. |
FR_AZERTY |
1 |
The FR AZERTY keymap. |
US_DVORAK |
2 |
The US Dvorak keymap. |
US_COLEMAK |
3 |
The US Colemak keymap. Added: 10
|
UnitType flexible
Type: uint32
Defined in fuchsia.input/units.fidl
This provides an easy, standardized way to specify units. New units can be added as needed. Each UnitType should be named after a specific unit that should be fully distinguished by the name (E.g: Use METERS instead of DISTANCE). More complicated units that need to be differentiated should begin with SI_ (for Internation System of Units) or ENGLISH_ (for English System of Units).
| Name | Value | Description |
|---|---|---|
NONE |
0 |
The device did not specify units. |
OTHER |
1 |
The device specified units that are not convertible to any of the other units. |
METERS |
2 |
A measurement of distance in meters. |
GRAMS |
3 |
A measurement of mass in grams. |
DEGREES |
4 |
A measurement of rotation in degrees. |
ENGLISH_ANGULAR_VELOCITY |
5 |
A measurement of angular velocity in degrees per second. |
SI_LINEAR_VELOCITY |
6 |
A measurement of linear velocity in meters per second. |
SI_LINEAR_ACCELERATION |
7 |
A measurement of acceleration in meters per second squared. |
WEBERS |
8 |
A measure of magnetic flux in webers. |
CANDELAS |
9 |
A measurement of luminous intensity in candelas. |
PASCALS |
10 |
A measurement of pressure in pascals. |
LUX |
11 |
A measurement of luminous flux in lumens per meter squared. |
SECONDS |
12 |
A measurement of seconds. |
CONSTANTS
| Name | Value | Type | Description |
|---|---|---|---|
| CONSUMER_CONTROL_MAX_NUM_BUTTONS |
255
|
uint32 |
Hardcoded max sizes for ConsumerControl vectors. These sizes should be increased if we ever see a device with more objects than can be represented. Added: NEXT
|
| KEYBOARD_MAX_NUM_KEYS |
256
|
uint32 |
A hardcoded number of max keys per report. This should be increased in the future if we see devices with more than the max amount. Added: NEXT
|
| MOUSE_MAX_NUM_BUTTONS |
32
|
uint32 |
A hardcoded number of max mouse buttons. This should be increased in the future if we ever see mice with more buttons. Added: NEXT
|
| TOUCH_MAX_CONTACTS |
10
|
uint32 |
A hardcoded number of max contacts per report. This should be increased in the future if we see devices with more than the max amount. Added: NEXT
|
| TOUCH_MAX_NUM_BUTTONS |
10
|
uint32 |
The maximum number of touch buttons per report. Added: NEXT
|