diff options
Diffstat (limited to 'src/Input/Key.cs')
| -rw-r--r-- | src/Input/Key.cs | 380 |
1 files changed, 380 insertions, 0 deletions
diff --git a/src/Input/Key.cs b/src/Input/Key.cs new file mode 100644 index 00000000..71f9d85a --- /dev/null +++ b/src/Input/Key.cs @@ -0,0 +1,380 @@ + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 the Open Toolkit library. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to deal + // in the Software without restriction, including without limitation the rights to + // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + // the Software, and to permit persons to whom the Software is furnished to do + // so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in all + // copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + // OTHER DEALINGS IN THE SOFTWARE. + // + #endregion + +namespace Crow +{ + /// <summary> + /// The available keyboard keys. + /// </summary> + public enum Key : int + { + /// <summary>A key outside the known keys.</summary> + Unknown = 0, + + // Modifiers + /// <summary>The left shift key.</summary> + ShiftLeft, + /// <summary>The left shift key (equivalent to ShiftLeft).</summary> + LShift = ShiftLeft, + /// <summary>The right shift key.</summary> + ShiftRight, + /// <summary>The right shift key (equivalent to ShiftRight).</summary> + RShift = ShiftRight, + /// <summary>The left control key.</summary> + ControlLeft, + /// <summary>The left control key (equivalent to ControlLeft).</summary> + LControl = ControlLeft, + /// <summary>The right control key.</summary> + ControlRight, + /// <summary>The right control key (equivalent to ControlRight).</summary> + RControl = ControlRight, + /// <summary>The left alt key.</summary> + AltLeft, + /// <summary>The left alt key (equivalent to AltLeft.</summary> + LAlt = AltLeft, + /// <summary>The right alt key.</summary> + AltRight, + /// <summary>The right alt key (equivalent to AltRight).</summary> + RAlt = AltRight, + /// <summary>The left win key.</summary> + WinLeft, + /// <summary>The left win key (equivalent to WinLeft).</summary> + LWin = WinLeft, + /// <summary>The right win key.</summary> + WinRight, + /// <summary>The right win key (equivalent to WinRight).</summary> + RWin = WinRight, + /// <summary>The menu key.</summary> + Menu, + + // Function keys (hopefully enough for most keyboards - mine has 26) + // <keysymdef.h> on X11 reports up to 35 function keys. + /// <summary>The F1 key.</summary> + F1, + /// <summary>The F2 key.</summary> + F2, + /// <summary>The F3 key.</summary> + F3, + /// <summary>The F4 key.</summary> + F4, + /// <summary>The F5 key.</summary> + F5, + /// <summary>The F6 key.</summary> + F6, + /// <summary>The F7 key.</summary> + F7, + /// <summary>The F8 key.</summary> + F8, + /// <summary>The F9 key.</summary> + F9, + /// <summary>The F10 key.</summary> + F10, + /// <summary>The F11 key.</summary> + F11, + /// <summary>The F12 key.</summary> + F12, + /// <summary>The F13 key.</summary> + F13, + /// <summary>The F14 key.</summary> + F14, + /// <summary>The F15 key.</summary> + F15, + /// <summary>The F16 key.</summary> + F16, + /// <summary>The F17 key.</summary> + F17, + /// <summary>The F18 key.</summary> + F18, + /// <summary>The F19 key.</summary> + F19, + /// <summary>The F20 key.</summary> + F20, + /// <summary>The F21 key.</summary> + F21, + /// <summary>The F22 key.</summary> + F22, + /// <summary>The F23 key.</summary> + F23, + /// <summary>The F24 key.</summary> + F24, + /// <summary>The F25 key.</summary> + F25, + /// <summary>The F26 key.</summary> + F26, + /// <summary>The F27 key.</summary> + F27, + /// <summary>The F28 key.</summary> + F28, + /// <summary>The F29 key.</summary> + F29, + /// <summary>The F30 key.</summary> + F30, + /// <summary>The F31 key.</summary> + F31, + /// <summary>The F32 key.</summary> + F32, + /// <summary>The F33 key.</summary> + F33, + /// <summary>The F34 key.</summary> + F34, + /// <summary>The F35 key.</summary> + F35, + + // Direction arrows + /// <summary>The up arrow key.</summary> + Up, + /// <summary>The down arrow key.</summary> + Down, + /// <summary>The left arrow key.</summary> + Left, + /// <summary>The right arrow key.</summary> + Right, + + /// <summary>The enter key.</summary> + Enter, + /// <summary>The escape key.</summary> + Escape, + /// <summary>The space key.</summary> + Space, + /// <summary>The tab key.</summary> + Tab, + /// <summary>The backspace key.</summary> + BackSpace, + /// <summary>The backspace key (equivalent to BackSpace).</summary> + Back = BackSpace, + /// <summary>The insert key.</summary> + Insert, + /// <summary>The delete key.</summary> + Delete, + /// <summary>The page up key.</summary> + PageUp, + /// <summary>The page down key.</summary> + PageDown, + /// <summary>The home key.</summary> + Home, + /// <summary>The end key.</summary> + End, + /// <summary>The caps lock key.</summary> + CapsLock, + /// <summary>The scroll lock key.</summary> + ScrollLock, + /// <summary>The print screen key.</summary> + PrintScreen, + /// <summary>The pause key.</summary> + Pause, + /// <summary>The num lock key.</summary> + NumLock, + + // Special keys + /// <summary>The clear key (Keypad5 with NumLock disabled, on typical keyboards).</summary> + Clear, + /// <summary>The sleep key.</summary> + Sleep, + /*LogOff, + Help, + Undo, + Redo, + New, + Open, + Close, + Reply, + Forward, + Send, + Spell, + Save, + Calculator, + + // Folders and applications + Documents, + Pictures, + Music, + MediaPlayer, + Mail, + Browser, + Messenger, + + // Multimedia keys + Mute, + PlayPause, + Stop, + VolumeUp, + VolumeDown, + TrackPrevious, + TrackNext,*/ + + // Keypad keys + /// <summary>The keypad 0 key.</summary> + Keypad0, + /// <summary>The keypad 1 key.</summary> + Keypad1, + /// <summary>The keypad 2 key.</summary> + Keypad2, + /// <summary>The keypad 3 key.</summary> + Keypad3, + /// <summary>The keypad 4 key.</summary> + Keypad4, + /// <summary>The keypad 5 key.</summary> + Keypad5, + /// <summary>The keypad 6 key.</summary> + Keypad6, + /// <summary>The keypad 7 key.</summary> + Keypad7, + /// <summary>The keypad 8 key.</summary> + Keypad8, + /// <summary>The keypad 9 key.</summary> + Keypad9, + /// <summary>The keypad divide key.</summary> + KeypadDivide, + /// <summary>The keypad multiply key.</summary> + KeypadMultiply, + /// <summary>The keypad subtract key.</summary> + KeypadSubtract, + /// <summary>The keypad minus key (equivalent to KeypadSubtract).</summary> + KeypadMinus = KeypadSubtract, + /// <summary>The keypad add key.</summary> + KeypadAdd, + /// <summary>The keypad plus key (equivalent to KeypadAdd).</summary> + KeypadPlus = KeypadAdd, + /// <summary>The keypad decimal key.</summary> + KeypadDecimal, + /// <summary>The keypad period key (equivalent to KeypadDecimal).</summary> + KeypadPeriod = KeypadDecimal, + /// <summary>The keypad enter key.</summary> + KeypadEnter, + + // Letters + /// <summary>The A key.</summary> + A, + /// <summary>The B key.</summary> + B, + /// <summary>The C key.</summary> + C, + /// <summary>The D key.</summary> + D, + /// <summary>The E key.</summary> + E, + /// <summary>The F key.</summary> + F, + /// <summary>The G key.</summary> + G, + /// <summary>The H key.</summary> + H, + /// <summary>The I key.</summary> + I, + /// <summary>The J key.</summary> + J, + /// <summary>The K key.</summary> + K, + /// <summary>The L key.</summary> + L, + /// <summary>The M key.</summary> + M, + /// <summary>The N key.</summary> + N, + /// <summary>The O key.</summary> + O, + /// <summary>The P key.</summary> + P, + /// <summary>The Q key.</summary> + Q, + /// <summary>The R key.</summary> + R, + /// <summary>The S key.</summary> + S, + /// <summary>The T key.</summary> + T, + /// <summary>The U key.</summary> + U, + /// <summary>The V key.</summary> + V, + /// <summary>The W key.</summary> + W, + /// <summary>The X key.</summary> + X, + /// <summary>The Y key.</summary> + Y, + /// <summary>The Z key.</summary> + Z, + + // Numbers + /// <summary>The number 0 key.</summary> + Number0, + /// <summary>The number 1 key.</summary> + Number1, + /// <summary>The number 2 key.</summary> + Number2, + /// <summary>The number 3 key.</summary> + Number3, + /// <summary>The number 4 key.</summary> + Number4, + /// <summary>The number 5 key.</summary> + Number5, + /// <summary>The number 6 key.</summary> + Number6, + /// <summary>The number 7 key.</summary> + Number7, + /// <summary>The number 8 key.</summary> + Number8, + /// <summary>The number 9 key.</summary> + Number9, + + // Symbols + /// <summary>The tilde key.</summary> + Tilde, + /// <summary>The grave key (equivaent to Tilde).</summary> + Grave = Tilde, + /// <summary>The minus key.</summary> + Minus, + //Equal, + /// <summary>The plus key.</summary> + Plus, + /// <summary>The left bracket key.</summary> + BracketLeft, + /// <summary>The left bracket key (equivalent to BracketLeft).</summary> + LBracket = BracketLeft, + /// <summary>The right bracket key.</summary> + BracketRight, + /// <summary>The right bracket key (equivalent to BracketRight).</summary> + RBracket = BracketRight, + /// <summary>The semicolon key.</summary> + Semicolon, + /// <summary>The quote key.</summary> + Quote, + /// <summary>The comma key.</summary> + Comma, + /// <summary>The period key.</summary> + Period, + /// <summary>The slash key.</summary> + Slash, + /// <summary>The backslash key.</summary> + BackSlash, + /// <summary>The secondary backslash key.</summary> + NonUSBackSlash, + /// <summary>Indicates the last available keyboard key.</summary> + LastKey + } +}
\ No newline at end of file |