#if UNITY_EDITOR || UNITY_ANDROID || PACKAGE_DOCS_GENERATION using System; using System.Linq; using System.Runtime.InteropServices; using UnityEngine.InputSystem.Android.LowLevel; using UnityEngine.InputSystem.Utilities; namespace UnityEngine.InputSystem.Android.LowLevel { /// /// Enum used to identity the key in the Android key event. See . /// See https://developer.android.com/reference/android/view/KeyEvent#constants_1 for more details. /// public enum AndroidKeyCode { /// /// Unknown key code. /// Unknown = 0, /// /// Soft Left key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom left of the display. /// SoftLeft = 1, /// /// Soft Right key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom right of the display. /// SoftRight = 2, /// /// Home key. This key is handled by the framework and is never delivered to applications. /// Home = 3, /// /// Back key. /// Back = 4, /// /// Call key. /// Call = 5, /// /// End Call key. /// Endcall = 6, /// /// '0' key. /// Alpha0 = 7, /// /// '1' key. /// Alpha1 = 8, /// /// '2' key. /// Alpha2 = 9, /// /// '3' key. /// Alpha3 = 10, /// /// '4' key. /// Alpha4 = 11, /// /// '5' key. /// Alpha5 = 12, /// /// '6' key. /// Alpha6 = 13, /// /// '7' key. /// Alpha7 = 14, /// /// '8' key. /// Alpha8 = 15, /// /// '9' key. /// Alpha9 = 16, /// /// '*' key. /// Star = 17, /// /// '#' key. /// Pound = 18, /// /// Directional Pad Up key. May also be synthesized from trackball motions. /// DpadUp = 19, /// /// Directional Pad Down key. May also be synthesized from trackball motions. /// DpadDown = 20, /// /// Directional Pad Left key. May also be synthesized from trackball motions. /// DpadLeft = 21, /// /// Directional Pad Right key. May also be synthesized from trackball motions. /// DpadRight = 22, /// /// Directional Pad Center key. May also be synthesized from trackball motions. /// DpadCenter = 23, /// /// Volume Up key. Adjusts the speaker volume up. /// VolumeUp = 24, /// /// Volume Down key. Adjusts the speaker volume down. /// VolumeDown = 25, /// /// Power key. /// Power = 26, /// /// Camera key. Used to launch a camera application or take pictures. /// Camera = 27, /// /// Clear key. /// Clear = 28, /// /// 'A' key. /// A = 29, /// /// 'B' key. /// B = 30, /// /// 'C' key. /// C = 31, /// /// 'D' key. /// D = 32, /// /// 'E' key. /// E = 33, /// /// 'F' key. /// F = 34, /// /// 'G' key. /// G = 35, /// /// 'H' key. /// H = 36, /// /// 'I' key. /// I = 37, /// /// 'J' key. /// J = 38, /// /// 'K' key. /// K = 39, /// /// 'L' key. /// L = 40, /// /// 'M' key. /// M = 41, /// /// 'N' key. /// N = 42, /// /// 'O' key. /// O = 43, /// /// 'P' key. /// P = 44, /// /// 'Q' key. /// Q = 45, /// /// 'R' key. /// R = 46, /// /// 'S' key. /// S = 47, /// /// 'T' key. /// T = 48, /// /// 'U' key. /// U = 49, /// /// 'V' key. /// V = 50, /// /// 'W' key. /// W = 51, /// /// 'X' key. /// X = 52, /// /// 'Y' key. /// Y = 53, /// /// 'Z' key. /// Z = 54, /// /// ',' key. /// Comma = 55, /// /// '.' key. /// Period = 56, /// /// Left Alt modifier key. /// AltLeft = 57, /// /// Right Alt modifier key. /// AltRight = 58, /// /// Left Shift modifier key. /// ShiftLeft = 59, /// /// Right Shift modifier key. /// ShiftRight = 60, /// /// Tab key. /// Tab = 61, /// /// Space key. /// Space = 62, /// /// Symbol modifier key. Used to enter alternate symbols. /// Sym = 63, /// /// Explorer special function key. Used to launch a browser application. /// Explorer = 64, /// /// Envelope special function key. Used to launch a mail application. /// Envelope = 65, /// /// Enter key. /// Enter = 66, /// /// Backspace key. Deletes characters before the insertion point, unlike . /// Del = 67, /// /// '`' (backtick) key. /// Grave = 68, /// /// '-' key. /// Minus = 69, /// /// '=' key. /// Equals = 70, /// /// '[' key. /// LeftBracket = 71, /// /// ']' key. /// RightBracket = 72, /// /// '\' key. /// Backslash = 73, /// /// ';' key. /// Semicolon = 74, /// /// ''' (apostrophe) key. /// Apostrophe = 75, /// /// '/' key. /// Slash = 76, /// /// '@' key. /// At = 77, /// /// Number modifier key. Used to enter numeric symbols. This key is not Num Lock; it is more like . /// Num = 78, /// /// Headset Hook key. Used to hang up calls and stop media. /// Headsethook = 79, /// /// Camera Focus key. Used to focus the camera. /// Focus = 80, /// /// '+' key. /// // *Camera* focus Plus = 81, /// /// Menu key. /// Menu = 82, /// /// Notification key. /// Notification = 83, /// /// Search key. /// Search = 84, /// /// Play/Pause media key. /// MediaPlayPause = 85, /// /// Stop media key. /// MediaStop = 86, /// /// Play Next media key. /// MediaNext = 87, /// /// Play Previous media key. /// MediaPrevious = 88, /// /// Rewind media key. /// MediaRewind = 89, /// /// Fast Forward media key. /// MediaFastForward = 90, /// /// Mute key. Mutes the microphone, unlike . /// Mute = 91, /// /// Page Up key. /// PageUp = 92, /// /// Page Down key. /// PageDown = 93, /// /// Picture Symbols modifier key. Used to switch symbol sets (Emoji, Kao-moji). /// Pictsymbols = 94, /// /// Switch Charset modifier key. Used to switch character sets (Kanji, Katakana). /// SwitchCharset = 95, /// /// A Button key. On a game controller, the A button should be either the button labeled A or the first button on the bottom row of controller buttons. /// ButtonA = 96, /// /// B Button key. On a game controller, the B button should be either the button labeled B or the second button on the bottom row of controller buttons. /// ButtonB = 97, /// /// C Button key. On a game controller, the C button should be either the button labeled C or the third button on the bottom row of controller buttons. /// ButtonC = 98, /// /// X Button key. On a game controller, the X button should be either the button labeled X or the first button on the upper row of controller buttons. /// ButtonX = 99, /// /// Y Button key. On a game controller, the Y button should be either the button labeled Y or the second button on the upper row of controller buttons. /// ButtonY = 100, /// /// Z Button key. On a game controller, the Z button should be either the button labeled Z or the third button on the upper row of controller buttons. /// ButtonZ = 101, /// /// L1 Button key. On a game controller, the L1 button should be either the button labeled L1 (or L) or the top left trigger button. /// ButtonL1 = 102, /// /// R1 Button key. On a game controller, the R1 button should be either the button labeled R1 (or R) or the top right trigger button. /// ButtonR1 = 103, /// /// L2 Button key. On a game controller, the L2 button should be either the button labeled L2 or the bottom left trigger button. /// ButtonL2 = 104, /// /// R2 Button key. On a game controller, the R2 button should be either the button labeled R2 or the bottom right trigger button. /// ButtonR2 = 105, /// /// Left Thumb Button key. On a game controller, the left thumb button indicates that the left (or only) joystick is pressed. /// ButtonThumbl = 106, /// /// Right Thumb Button key. On a game controller, the right thumb button indicates that the right joystick is pressed. /// ButtonThumbr = 107, /// /// Start Button key. On a game controller, the button labeled Start. /// ButtonStart = 108, /// /// Select Button key. On a game controller, the button labeled Select. /// ButtonSelect = 109, /// /// Mode Button key. On a game controller, the button labeled Mode. /// ButtonMode = 110, /// /// Escape key. /// Escape = 111, /// /// Forward Delete key. Deletes characters ahead of the insertion point, unlike . /// ForwardDel = 112, /// /// Left Control modifier key. /// CtrlLeft = 113, /// /// Right Control modifier key. /// CtrlRight = 114, /// /// Caps Lock key. /// CapsLock = 115, /// /// Scroll Lock key. /// ScrollLock = 116, /// /// Left Meta modifier key. /// MetaLeft = 117, /// /// Right Meta modifier key. /// MetaRight = 118, /// /// Function modifier key. /// Function = 119, /// /// System Request / Print Screen key. /// Sysrq = 120, /// /// Break / Pause key. /// Break = 121, /// /// Home Movement key. Used for scrolling or moving the cursor around to the start of a line or to the top of a list. /// MoveHome = 122, /// /// End Movement key. Used for scrolling or moving the cursor around to the end of a line or to the bottom of a list. /// MoveEnd = 123, /// /// Insert key. Toggles insert / overwrite edit mode. /// Insert = 124, /// /// Forward key. Navigates forward in the history stack. Complement of . /// Forward = 125, /// /// Play media key. /// MediaPlay = 126, /// /// Play/Pause media key. /// MediaPause = 127, /// /// Close media key. May be used to close a CD tray, for example. /// MediaClose = 128, /// /// Eject media key. May be used to eject a CD tray, for example. /// MediaEject = 129, /// /// Record media key. /// MediaRecord = 130, /// /// F1 key. /// F1 = 131, /// /// F2 key. /// F2 = 132, /// /// F3 key. /// F3 = 133, /// /// F4 key. /// F4 = 134, /// /// F5 key. /// F5 = 135, /// /// F6 key. /// F6 = 136, /// /// F7 key. /// F7 = 137, /// /// F8 key. /// F8 = 138, /// /// F9 key. /// F9 = 139, /// /// F10 key. /// F10 = 140, /// /// F11 key. /// F11 = 141, /// /// F12 key. /// F12 = 142, /// /// Num Lock key. This is the Num Lock key; it is different from . This key alters the behavior of other keys on the numeric keypad. /// NumLock = 143, /// /// Numeric keypad '0' key. /// Numpad0 = 144, /// /// Numeric keypad '1' key. /// Numpad1 = 145, /// /// Numeric keypad '2' key. /// Numpad2 = 146, /// /// Numeric keypad '3' key. /// Numpad3 = 147, /// /// Numeric keypad '4' key. /// Numpad4 = 148, /// /// Numeric keypad '5' key. /// Numpad5 = 149, /// /// 'Numeric keypad '6' key. /// Numpad6 = 150, /// /// 'Numeric keypad '7' key. /// Numpad7 = 151, /// /// Numeric keypad '8' key. /// Numpad8 = 152, /// /// Numeric keypad '9' key. /// Numpad9 = 153, /// /// Numeric keypad '/' key (for division). /// NumpadDivide = 154, /// /// Numeric keypad '*' key (for multiplication). /// NumpadMultiply = 155, /// /// Numeric keypad '-' key (for subtraction). /// NumpadSubtract = 156, /// /// Numeric keypad '+' key (for addition). /// NumpadAdd = 157, /// /// Numeric keypad '.' key (for decimals or digit grouping). /// NumpadDot = 158, /// /// Numeric keypad ',' key (for decimals or digit grouping). /// NumpadComma = 159, /// /// Numeric keypad Enter key. /// NumpadEnter = 160, /// /// Numeric keypad '=' key. /// NumpadEquals = 161, /// /// Numeric keypad '(' key. /// NumpadLeftParen = 162, /// /// Numeric keypad ')' key. /// NumpadRightParen = 163, /// /// Volume Mute key. Mutes the speaker, unlike . This key should normally be implemented as a toggle such that the first press mutes the speaker and the second press restores the original volum /// VolumeMute = 164, /// /// Info key. Common on TV remotes to show additional information related to what is currently being viewed. /// Info = 165, /// /// Channel up key. On TV remotes, increments the television channel. /// ChannelUp = 166, /// /// Channel down key. On TV remotes, increments the television channel. /// ChannelDown = 167, /// /// Zoom in key. /// ZoomIn = 168, /// /// Zoom out key. /// ZoomOut = 169, /// /// TV key. On TV remotes, switches to viewing live TV. /// Tv = 170, /// /// Window key. On TV remotes, toggles picture-in-picture mode or other windowing functions. On Android Wear devices, triggers a display offset. /// Window = 171, /// /// Guide key. On TV remotes, shows a programming guide. /// Guide = 172, /// /// DVR key. On some TV remotes, switches to a DVR mode for recorded shows. /// Dvr = 173, /// /// Bookmark key. On some TV remotes, bookmarks content or web pages. /// Bookmark = 174, /// /// Toggle captions key. Switches the mode for closed-captioning text, for example during television shows. /// Captions = 175, /// /// Settings key. Starts the system settings activity. /// Settings = 176, /// /// TV power key. On HDMI TV panel devices and Android TV devices that don't support HDMI, toggles the power state of the device. On HDMI source devices, toggles the power state of the HDMI-connected TV via HDMI-CEC and makes the source device follow this power state. /// TvPower = 177, /// /// TV input key. On TV remotes, switches the input on a television screen. /// TvInput = 178, /// /// Set-top-box power key. On TV remotes, toggles the power on an external Set-top-box. /// StbPower = 179, /// /// Set-top-box input key. On TV remotes, switches the input mode on an external Set-top-box. /// StbInput = 180, /// /// A/V Receiver power key. On TV remotes, toggles the power on an external A/V Receiver. /// AvrPower = 181, /// /// A/V Receiver input key. On TV remotes, switches the input mode on an external A/V Receive /// AvrInput = 182, /// /// Red "programmable" key. On TV remotes, acts as a contextual/programmable key. /// ProgRed = 183, /// /// Green "programmable" key. On TV remotes, actsas a contextual/programmable key. /// ProgGreen = 184, /// /// Yellow "programmable" key. On TV remotes, actsas a contextual/programmable key. /// ProgYellow = 185, /// /// Blue "programmable" key. On TV remotes, actsas a contextual/programmable key. /// ProgBlue = 186, /// /// App switch key. Should bring up the application switcher dialog. /// AppSwitch = 187, /// /// Generic Game Pad Button #1. /// Button1 = 188, /// /// Generic Game Pad Button #2. /// Button2 = 189, /// /// Generic Game Pad Button #3. /// Button3 = 190, /// /// Generic Game Pad Button #4. /// Button4 = 191, /// /// Generic Game Pad Button #5. /// Button5 = 192, /// /// Generic Game Pad Button #6. /// Button6 = 193, /// /// Generic Game Pad Button #7. /// Button7 = 194, /// /// Generic Game Pad Button #8. /// Button8 = 195, /// /// Generic Game Pad Button #9. /// Button9 = 196, /// /// Generic Game Pad Button #10. /// Button10 = 197, /// /// Generic Game Pad Button #11. /// Button11 = 198, /// /// Generic Game Pad Button #12. /// Button12 = 199, /// /// Generic Game Pad Button #13. /// Button13 = 200, /// /// Generic Game Pad Button #14. /// Button14 = 201, /// /// Generic Game Pad Button #15. /// Button15 = 202, /// /// Generic Game Pad Button #16. /// Button16 = 203, /// /// Language Switch key. Toggles the current input language such as switching between English and Japanese on a QWERTY keyboard. On some devices, the same function may be performed by pressing Shift+Spacebar. /// LanguageSwitch = 204, /// /// 'Manner Mode key. Toggles silent or vibrate mode on and off to make the device behave more politely in certain settings such as on a crowded train. On some devices, the key may only operate when long-pressed. /// MannerMode = 205, /// /// 3D Mode key. Toggles the display between 2D and 3D mode. /// Mode3D = 206, /// /// Contacts special function key. Used to launch an address book application. /// Contacts = 207, /// /// Calendar special function key. Used to launch a calendar application. /// Calendar = 208, /// /// Music special function key. Used to launch a music player application. /// Music = 209, /// /// Calculator special function key. Used to launch a calculator application. /// Calculator = 210, /// /// Japanese full-width / half-width key. /// ZenkakuHankaku = 211, /// /// Japanese alphanumeric key. /// Eisu = 212, /// /// Japanese non-conversion key. /// Muhenkan = 213, /// /// Japanese conversion key. /// Henkan = 214, /// /// Japanese katakana / hiragana key. /// KatakanaHiragana = 215, /// /// Japanese Yen key. /// Yen = 216, /// /// Japanese Ro key. /// Ro = 217, /// /// Japanese kana key. /// Kana = 218, /// /// Assist key. Launches the global assist activity. Not delivered to applications. /// Assist = 219, } } #endif // UNITY_EDITOR || UNITY_ANDROID