blob: 853f820a65ad57e7eaf778d6048a048feb86b076 [file] [log] [blame] [view] [edit]
Project: /youtube/cobalt/_project.yaml
Book: /youtube/cobalt/_book.yaml
# Starboard Module Reference: `key.h`
Defines the canonical set of Starboard key codes.
## Enums
### SbKey
A standard set of key codes, ordered by value, that represent each possible
input key across all kinds of devices. Starboard uses the semi-standard Windows
virtual key codes documented at: [https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx](https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx)
#### Values
* `kSbKeyUnknown`
* `kSbKeyCancel`
* `kSbKeyBackspace`
* `kSbKeyBack`
* `kSbKeyTab`
semantic "back".
* `kSbKeyBacktab`
* `kSbKeyClear`
* `kSbKeyReturn`
* `kSbKeyShift`
* `kSbKeyControl`
* `kSbKeyMenu`
* `kSbKeyPause`
* `kSbKeyCapital`
* `kSbKeyKana`
* `kSbKeyHangul`
* `kSbKeyJunja`
* `kSbKeyFinal`
* `kSbKeyHanja`
* `kSbKeyKanji`
* `kSbKeyEscape`
* `kSbKeyConvert`
* `kSbKeyNonconvert`
* `kSbKeyAccept`
* `kSbKeyModechange`
* `kSbKeySpace`
* `kSbKeyPrior`
* `kSbKeyNext`
* `kSbKeyEnd`
* `kSbKeyHome`
* `kSbKeyLeft`
* `kSbKeyUp`
* `kSbKeyRight`
* `kSbKeyDown`
* `kSbKeySelect`
* `kSbKeyPrint`
* `kSbKeyExecute`
* `kSbKeySnapshot`
* `kSbKeyInsert`
* `kSbKeyDelete`
* `kSbKeyHelp`
* `kSbKey0`
* `kSbKey1`
* `kSbKey2`
* `kSbKey3`
* `kSbKey4`
* `kSbKey5`
* `kSbKey6`
* `kSbKey7`
* `kSbKey8`
* `kSbKey9`
* `kSbKeyA`
* `kSbKeyB`
* `kSbKeyC`
* `kSbKeyD`
* `kSbKeyE`
* `kSbKeyF`
* `kSbKeyG`
* `kSbKeyH`
* `kSbKeyI`
* `kSbKeyJ`
* `kSbKeyK`
* `kSbKeyL`
* `kSbKeyM`
* `kSbKeyN`
* `kSbKeyO`
* `kSbKeyP`
* `kSbKeyQ`
* `kSbKeyR`
* `kSbKeyS`
* `kSbKeyT`
* `kSbKeyU`
* `kSbKeyV`
* `kSbKeyW`
* `kSbKeyX`
* `kSbKeyY`
* `kSbKeyZ`
* `kSbKeyLwin`
* `kSbKeyCommand`
* `kSbKeyRwin`
* `kSbKeyApps`
* `kSbKeySleep`
* `kSbKeyNumpad0`
* `kSbKeyNumpad1`
* `kSbKeyNumpad2`
* `kSbKeyNumpad3`
* `kSbKeyNumpad4`
* `kSbKeyNumpad5`
* `kSbKeyNumpad6`
* `kSbKeyNumpad7`
* `kSbKeyNumpad8`
* `kSbKeyNumpad9`
* `kSbKeyMultiply`
* `kSbKeyAdd`
* `kSbKeySeparator`
* `kSbKeySubtract`
* `kSbKeyDecimal`
* `kSbKeyDivide`
* `kSbKeyF1`
* `kSbKeyF2`
* `kSbKeyF3`
* `kSbKeyF4`
* `kSbKeyF5`
* `kSbKeyF6`
* `kSbKeyF7`
* `kSbKeyF8`
* `kSbKeyF9`
* `kSbKeyF10`
* `kSbKeyF11`
* `kSbKeyF12`
* `kSbKeyF13`
* `kSbKeyF14`
* `kSbKeyF15`
* `kSbKeyF16`
* `kSbKeyF17`
* `kSbKeyF18`
* `kSbKeyF19`
* `kSbKeyF20`
* `kSbKeyF21`
* `kSbKeyF22`
* `kSbKeyF23`
* `kSbKeyF24`
* `kSbKeyNumlock`
* `kSbKeyScroll`
* `kSbKeyWlan`
* `kSbKeyPower`
* `kSbKeyLshift`
* `kSbKeyRshift`
* `kSbKeyLcontrol`
* `kSbKeyRcontrol`
* `kSbKeyLmenu`
* `kSbKeyRmenu`
* `kSbKeyBrowserBack`
* `kSbKeyBrowserForward`
* `kSbKeyBrowserRefresh`
* `kSbKeyBrowserStop`
* `kSbKeyBrowserSearch`
* `kSbKeyBrowserFavorites`
* `kSbKeyBrowserHome`
* `kSbKeyVolumeMute`
* `kSbKeyVolumeDown`
* `kSbKeyVolumeUp`
* `kSbKeyMediaNextTrack`
* `kSbKeyMediaPrevTrack`
* `kSbKeyMediaStop`
* `kSbKeyMediaPlayPause`
* `kSbKeyMediaLaunchMail`
* `kSbKeyMediaLaunchMediaSelect`
* `kSbKeyMediaLaunchApp1`
* `kSbKeyMediaLaunchApp2`
* `kSbKeyOem1`
* `kSbKeyOemPlus`
* `kSbKeyOemComma`
* `kSbKeyOemMinus`
* `kSbKeyOemPeriod`
* `kSbKeyOem2`
* `kSbKeyOem3`
* `kSbKeyBrightnessDown`
* `kSbKeyBrightnessUp`
* `kSbKeyKbdBrightnessDown`
* `kSbKeyOem4`
* `kSbKeyOem5`
* `kSbKeyOem6`
* `kSbKeyOem7`
* `kSbKeyOem8`
* `kSbKeyOem102`
* `kSbKeyKbdBrightnessUp`
* `kSbKeyDbeSbcschar`
* `kSbKeyDbeDbcschar`
* `kSbKeyPlay`
* `kSbKeyMediaRewind`
Other supported CEA 2014 keys.
* `kSbKeyMediaFastForward`
* `kSbKeyRed`
Key codes from the DTV Application Software Environment, [http://www.atsc.org/wp-content/uploads/2015/03/a_100_4.pdf](http://www.atsc.org/wp-content/uploads/2015/03/a_100_4.pdf)
* `kSbKeyGreen`
* `kSbKeyYellow`
* `kSbKeyBlue`
* `kSbKeyChannelUp`
* `kSbKeyChannelDown`
* `kSbKeySubtitle`
* `kSbKeyClosedCaption`
* `kSbKeyInfo`
* `kSbKeyGuide`
* `kSbKeyLast`
Key codes from OCAP, [https://apps.cablelabs.com/specification/opencable-application-platform-ocap/](https://apps.cablelabs.com/specification/opencable-application-platform-ocap/)
* `kSbKeyPreviousChannel`
* `kSbKeyInstantReplay`
Also from OCAP
* `kSbKeyLaunchThisApplication`
A button that will directly launch the current application.
* `kSbKeyMediaAudioTrack`
A button that will switch between different available audio tracks.
* `kSbKeyMicrophone`
A button that will trigger voice input.
* `kSbKeyMouse1`
Mouse buttons, starting with the left mouse button.
* `kSbKeyMouse2`
* `kSbKeyMouse3`
* `kSbKeyMouse4`
* `kSbKeyMouse5`
* `kSbKeyGamepad1`
Xbox A, PS O or X (depending on region), Switch A
* `kSbKeyGamepad2`
Xbox B, PS X or O (depending on region), Switch B
* `kSbKeyGamepad3`
Xbox X, PS square, Switch X
* `kSbKeyGamepad4`
Xbox Y, PS triangle, Switch Y
* `kSbKeyGamepadLeftBumper`
Pretty much every gamepad has bumpers at the top front of the controller,
and triggers at the bottom front of the controller.
* `kSbKeyGamepadRightBumper`
* `kSbKeyGamepadLeftTrigger`
* `kSbKeyGamepadRightTrigger`
* `kSbKeyGamepad5`
Xbox 360 Back, XB1 minimize, PS and WiiU Select
* `kSbKeyGamepad6`
Xbox 360 Play, XB1 Menu, PS and WiiU Start
* `kSbKeyGamepadLeftStick`
This refers to pressing the left stick like a button.
* `kSbKeyGamepadRightStick`
This refers to pressing the right stick like a button.
* `kSbKeyGamepadDPadUp`
* `kSbKeyGamepadDPadDown`
* `kSbKeyGamepadDPadLeft`
* `kSbKeyGamepadDPadRight`
* `kSbKeyGamepadSystem`
The system key in the middle of the gamepad, if it exists.
* `kSbKeyGamepadLeftStickUp`
Codes for thumbstick to virtual dpad conversions.
* `kSbKeyGamepadLeftStickDown`
* `kSbKeyGamepadLeftStickLeft`
* `kSbKeyGamepadLeftStickRight`
* `kSbKeyGamepadRightStickUp`
* `kSbKeyGamepadRightStickDown`
* `kSbKeyGamepadRightStickLeft`
* `kSbKeyGamepadRightStickRight`
### SbKeyModifiers
Bit-mask of key modifiers.
#### Values
* `kSbKeyModifiersNone`
* `kSbKeyModifiersAlt`
* `kSbKeyModifiersCtrl`
* `kSbKeyModifiersMeta`
* `kSbKeyModifiersShift`
* `kSbKeyModifiersPointerButtonLeft`
* `kSbKeyModifiersPointerButtonRight`
* `kSbKeyModifiersPointerButtonMiddle`
* `kSbKeyModifiersPointerButtonBack`
* `kSbKeyModifiersPointerButtonForward`