using System; using System.Collections.Generic; using Unity.UIWidgets.foundation; namespace Unity.UIWidgets.services { public abstract class KeyboardKey : Diagnosticable { protected KeyboardKey() { } } public class LogicalKeyboardKey : KeyboardKey, IEquatable { public bool Equals(LogicalKeyboardKey other) { if (ReferenceEquals(null, other)) { return false; } if (ReferenceEquals(this, other)) { return true; } return keyId == other.keyId; } public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) { return false; } if (ReferenceEquals(this, obj)) { return true; } if (obj.GetType() != GetType()) { return false; } return Equals((LogicalKeyboardKey) obj); } public override int GetHashCode() { unchecked { int hashCode = (int) keyId; hashCode = (hashCode * 397) ^ (debugName != null ? debugName.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (keyLabel != null ? keyLabel.GetHashCode() : 0); return hashCode; } } protected LogicalKeyboardKey(long keyId, string debugName = null, string keyLabel = null) : base() { D.assert(keyId != null); this.keyId = keyId; this.debugName = debugName; this.keyLabel = keyLabel; } public readonly long keyId; public readonly string debugName; public readonly string keyLabel; public static LogicalKeyboardKey findKeyByKeyId(int keyId) { return _knownLogicalKeys[keyId]; } public static bool isControlCharacter(string label) { if (label.Length > 1) { return false; } int codeUnit = label[0]; return (codeUnit <= 0x1f && codeUnit >= 0x00) || (codeUnit >= 0x7f && codeUnit <= 0x9f); } public bool isAutogenerated { get { return (keyId & autogeneratedMask) != 0; } } public HashSet synonyms { get { HashSet result = new HashSet(); LogicalKeyboardKey item = _synonyms.getOrDefault(this); if (item == null) { return result; } result.Add(item: item); return result; } } public static HashSet collapseSynonyms(HashSet input) { HashSet result = new HashSet(); foreach (LogicalKeyboardKey key in input) { LogicalKeyboardKey synonym = _synonyms.getOrDefault(key); result.Add(synonym ?? key); } return result; } public override void debugFillProperties(DiagnosticPropertiesBuilder properties) { base.debugFillProperties(properties); properties.add(new StringProperty("keyId", keyId.ToString().PadLeft(8, '\0'), showName: true)); properties.add(new StringProperty("keyLabel", keyLabel, showName: true)); properties.add(new StringProperty("debugName", debugName, showName: true, defaultValue: null)); } public static readonly long valueMask = 0x000FFFFFFFF; public static readonly long platformMask = 0x0FF00000000; public static readonly long autogeneratedMask = 0x10000000000; public static readonly long synonymMask = 0x20000000000; public static readonly long unicodePlane = 0x00000000000; public static readonly long hidPlane = 0x00100000000; public static readonly LogicalKeyboardKey none = new LogicalKeyboardKey(0x00100000000, debugName: foundation_.kReleaseMode ? null : "None"); public static readonly LogicalKeyboardKey hyper = new LogicalKeyboardKey(0x00100000010, debugName: foundation_.kReleaseMode ? null : "Hype"); public static readonly LogicalKeyboardKey superKey = new LogicalKeyboardKey(0x00100000011, debugName: foundation_.kReleaseMode ? null : "Super Key"); public static readonly LogicalKeyboardKey fnLock = new LogicalKeyboardKey(0x00100000013, debugName: foundation_.kReleaseMode ? null : "Fn Lock"); public static readonly LogicalKeyboardKey suspend = new LogicalKeyboardKey(0x00100000014, debugName: foundation_.kReleaseMode ? null : "Suspend"); public static readonly LogicalKeyboardKey resume = new LogicalKeyboardKey(0x00100000015, debugName: foundation_.kReleaseMode ? null : "Resume"); public static readonly LogicalKeyboardKey turbo = new LogicalKeyboardKey(0x00100000016, debugName: foundation_.kReleaseMode ? null : "Turbo"); public static readonly LogicalKeyboardKey privacyScreenToggle = new LogicalKeyboardKey(0x00100000017, debugName: foundation_.kReleaseMode ? null : "Privacy Screen Toggle"); public static readonly LogicalKeyboardKey sleep = new LogicalKeyboardKey(0x00100010082, debugName: foundation_.kReleaseMode ? null : "Sleep"); public static readonly LogicalKeyboardKey wakeUp = new LogicalKeyboardKey(0x00100010083, debugName: foundation_.kReleaseMode ? null : "Wake Up"); public static readonly LogicalKeyboardKey displayToggleIntExt = new LogicalKeyboardKey(0x001000100b5, debugName: foundation_.kReleaseMode ? null : "Display Toggle Int Ext"); public static readonly LogicalKeyboardKey usbReserved = new LogicalKeyboardKey(0x00100070000, debugName: foundation_.kReleaseMode ? null : "Usb Reserved"); public static readonly LogicalKeyboardKey usbErrorRollOver = new LogicalKeyboardKey(0x00100070001, debugName: foundation_.kReleaseMode ? null : "Usb Error Roll Ove"); public static readonly LogicalKeyboardKey usbPostFail = new LogicalKeyboardKey(0x00100070002, debugName: foundation_.kReleaseMode ? null : "Usb Post Fail"); public static readonly LogicalKeyboardKey usbErrorUndefined = new LogicalKeyboardKey(0x00100070003, debugName: foundation_.kReleaseMode ? null : "Usb Error Undefined"); public static readonly LogicalKeyboardKey keyA = new LogicalKeyboardKey(0x00000000061, keyLabel: "a", debugName: foundation_.kReleaseMode ? null : "Key A"); public static readonly LogicalKeyboardKey keyB = new LogicalKeyboardKey(0x00000000062, keyLabel: "b", debugName: foundation_.kReleaseMode ? null : "Key B"); public static readonly LogicalKeyboardKey keyC = new LogicalKeyboardKey(0x00000000063, keyLabel: "c", debugName: foundation_.kReleaseMode ? null : "Key C"); public static readonly LogicalKeyboardKey keyD = new LogicalKeyboardKey(0x00000000064, keyLabel: "d", debugName: foundation_.kReleaseMode ? null : "Key D"); public static readonly LogicalKeyboardKey keyE = new LogicalKeyboardKey(0x00000000065, keyLabel: "e", debugName: foundation_.kReleaseMode ? null : "Key E"); public static readonly LogicalKeyboardKey keyF = new LogicalKeyboardKey(0x00000000066, keyLabel: "f", debugName: foundation_.kReleaseMode ? null : "Key F"); public static readonly LogicalKeyboardKey keyG = new LogicalKeyboardKey(0x00000000067, keyLabel: "g", debugName: foundation_.kReleaseMode ? null : "Key G"); public static readonly LogicalKeyboardKey keyH = new LogicalKeyboardKey(0x00000000068, keyLabel: "h", debugName: foundation_.kReleaseMode ? null : "Key H"); public static readonly LogicalKeyboardKey keyI = new LogicalKeyboardKey(0x00000000069, keyLabel: "i", debugName: foundation_.kReleaseMode ? null : "Key I"); public static readonly LogicalKeyboardKey keyJ = new LogicalKeyboardKey(0x0000000006a, keyLabel: "j", debugName: foundation_.kReleaseMode ? null : "Key J"); public static readonly LogicalKeyboardKey keyK = new LogicalKeyboardKey(0x0000000006b, keyLabel: "k", debugName: foundation_.kReleaseMode ? null : "Key K"); public static readonly LogicalKeyboardKey keyL = new LogicalKeyboardKey(0x0000000006c, keyLabel: "l", debugName: foundation_.kReleaseMode ? null : "Key L"); public static readonly LogicalKeyboardKey keyM = new LogicalKeyboardKey(0x0000000006d, keyLabel: "m", debugName: foundation_.kReleaseMode ? null : "Key M"); public static readonly LogicalKeyboardKey keyN = new LogicalKeyboardKey(0x0000000006e, keyLabel: "n", debugName: foundation_.kReleaseMode ? null : "Key N"); public static readonly LogicalKeyboardKey keyO = new LogicalKeyboardKey(0x0000000006f, keyLabel: "o", debugName: foundation_.kReleaseMode ? null : "Key O"); public static readonly LogicalKeyboardKey keyP = new LogicalKeyboardKey(0x00000000070, keyLabel: "p", debugName: foundation_.kReleaseMode ? null : "Key P"); public static readonly LogicalKeyboardKey keyQ = new LogicalKeyboardKey(0x00000000071, keyLabel: "q", debugName: foundation_.kReleaseMode ? null : "Key Q"); public static readonly LogicalKeyboardKey keyR = new LogicalKeyboardKey(0x00000000072, keyLabel: "", debugName: foundation_.kReleaseMode ? null : "Key "); public static readonly LogicalKeyboardKey keyS = new LogicalKeyboardKey(0x00000000073, keyLabel: "s", debugName: foundation_.kReleaseMode ? null : "Key S"); public static readonly LogicalKeyboardKey keyT = new LogicalKeyboardKey(0x00000000074, keyLabel: "t", debugName: foundation_.kReleaseMode ? null : "Key T"); public static readonly LogicalKeyboardKey keyU = new LogicalKeyboardKey(0x00000000075, keyLabel: "u", debugName: foundation_.kReleaseMode ? null : "Key U"); public static readonly LogicalKeyboardKey keyV = new LogicalKeyboardKey(0x00000000076, keyLabel: "v", debugName: foundation_.kReleaseMode ? null : "Key V"); public static readonly LogicalKeyboardKey keyW = new LogicalKeyboardKey(0x00000000077, keyLabel: "w", debugName: foundation_.kReleaseMode ? null : "Key W"); public static readonly LogicalKeyboardKey keyX = new LogicalKeyboardKey(0x00000000078, keyLabel: "x", debugName: foundation_.kReleaseMode ? null : "Key X"); public static readonly LogicalKeyboardKey keyY = new LogicalKeyboardKey(0x00000000079, keyLabel: "y", debugName: foundation_.kReleaseMode ? null : "Key Y"); public static readonly LogicalKeyboardKey keyZ = new LogicalKeyboardKey(0x0000000007a, keyLabel: "z", debugName: foundation_.kReleaseMode ? null : "Key Z"); public static readonly LogicalKeyboardKey digit1 = new LogicalKeyboardKey(0x00000000031, keyLabel: "1", debugName: foundation_.kReleaseMode ? null : "Digit 1"); public static readonly LogicalKeyboardKey digit2 = new LogicalKeyboardKey(0x00000000032, keyLabel: "2", debugName: foundation_.kReleaseMode ? null : "Digit 2"); public static readonly LogicalKeyboardKey digit3 = new LogicalKeyboardKey(0x00000000033, keyLabel: "3", debugName: foundation_.kReleaseMode ? null : "Digit 3"); public static readonly LogicalKeyboardKey digit4 = new LogicalKeyboardKey(0x00000000034, keyLabel: "4", debugName: foundation_.kReleaseMode ? null : "Digit 4"); public static readonly LogicalKeyboardKey digit5 = new LogicalKeyboardKey(0x00000000035, keyLabel: "5", debugName: foundation_.kReleaseMode ? null : "Digit 5"); public static readonly LogicalKeyboardKey digit6 = new LogicalKeyboardKey(0x00000000036, keyLabel: "6", debugName: foundation_.kReleaseMode ? null : "Digit 6"); public static readonly LogicalKeyboardKey digit7 = new LogicalKeyboardKey(0x00000000037, keyLabel: "7", debugName: foundation_.kReleaseMode ? null : "Digit 7"); public static readonly LogicalKeyboardKey digit8 = new LogicalKeyboardKey(0x00000000038, keyLabel: "8", debugName: foundation_.kReleaseMode ? null : "Digit 8"); public static readonly LogicalKeyboardKey digit9 = new LogicalKeyboardKey(0x00000000039, keyLabel: "9", debugName: foundation_.kReleaseMode ? null : "Digit 9"); public static readonly LogicalKeyboardKey digit0 = new LogicalKeyboardKey(0x00000000030, keyLabel: "0", debugName: foundation_.kReleaseMode ? null : "Digit 0"); public static readonly LogicalKeyboardKey enter = new LogicalKeyboardKey(0x00100070028, debugName: foundation_.kReleaseMode ? null : "Ente"); public static readonly LogicalKeyboardKey escape = new LogicalKeyboardKey(0x00100070029, debugName: foundation_.kReleaseMode ? null : "Escape"); public static readonly LogicalKeyboardKey backspace = new LogicalKeyboardKey(0x0010007002a, debugName: foundation_.kReleaseMode ? null : "Backspace"); public static readonly LogicalKeyboardKey tab = new LogicalKeyboardKey(0x0010007002b, debugName: foundation_.kReleaseMode ? null : "Tab"); public static readonly LogicalKeyboardKey space = new LogicalKeyboardKey(0x00000000020, keyLabel: " ", debugName: foundation_.kReleaseMode ? null : "Space"); public static readonly LogicalKeyboardKey minus = new LogicalKeyboardKey(0x0000000002d, keyLabel: "-", debugName: foundation_.kReleaseMode ? null : "Minus"); public static readonly LogicalKeyboardKey equal = new LogicalKeyboardKey(0x0000000003d, keyLabel: "=", debugName: foundation_.kReleaseMode ? null : "Equal"); public static readonly LogicalKeyboardKey bracketLeft = new LogicalKeyboardKey(0x0000000005b, keyLabel: "[", debugName: foundation_.kReleaseMode ? null : "Bracket Left"); public static readonly LogicalKeyboardKey bracketRight = new LogicalKeyboardKey(0x0000000005d, keyLabel: "]", debugName: foundation_.kReleaseMode ? null : "Bracket Right"); public static readonly LogicalKeyboardKey backslash = new LogicalKeyboardKey(0x0000000005c, keyLabel: "\\", debugName: foundation_.kReleaseMode ? null : "Backslash"); public static readonly LogicalKeyboardKey semicolon = new LogicalKeyboardKey(0x0000000003b, keyLabel: ";", debugName: foundation_.kReleaseMode ? null : "Semicolon"); public static readonly LogicalKeyboardKey quote = new LogicalKeyboardKey(0x00000000027, keyLabel: "\"", debugName: foundation_.kReleaseMode ? null : "Quote"); public static readonly LogicalKeyboardKey backquote = new LogicalKeyboardKey(0x00000000060, keyLabel: "`", debugName: foundation_.kReleaseMode ? null : "Backquote"); public static readonly LogicalKeyboardKey comma = new LogicalKeyboardKey(0x0000000002c, keyLabel: ",", debugName: foundation_.kReleaseMode ? null : "Comma"); public static readonly LogicalKeyboardKey period = new LogicalKeyboardKey(0x0000000002e, keyLabel: ".", debugName: foundation_.kReleaseMode ? null : "Period"); public static readonly LogicalKeyboardKey slash = new LogicalKeyboardKey(0x0000000002f, keyLabel: "/", debugName: foundation_.kReleaseMode ? null : "Slash"); public static readonly LogicalKeyboardKey capsLock = new LogicalKeyboardKey(0x00100070039, debugName: foundation_.kReleaseMode ? null : "Caps Lock"); public static readonly LogicalKeyboardKey f1 = new LogicalKeyboardKey(0x0010007003a, debugName: foundation_.kReleaseMode ? null : "F1"); public static readonly LogicalKeyboardKey f2 = new LogicalKeyboardKey(0x0010007003b, debugName: foundation_.kReleaseMode ? null : "F2"); public static readonly LogicalKeyboardKey f3 = new LogicalKeyboardKey(0x0010007003c, debugName: foundation_.kReleaseMode ? null : "F3"); public static readonly LogicalKeyboardKey f4 = new LogicalKeyboardKey(0x0010007003d, debugName: foundation_.kReleaseMode ? null : "F4"); public static readonly LogicalKeyboardKey f5 = new LogicalKeyboardKey(0x0010007003e, debugName: foundation_.kReleaseMode ? null : "F5"); public static readonly LogicalKeyboardKey f6 = new LogicalKeyboardKey(0x0010007003f, debugName: foundation_.kReleaseMode ? null : "F6"); public static readonly LogicalKeyboardKey f7 = new LogicalKeyboardKey(0x00100070040, debugName: foundation_.kReleaseMode ? null : "F7"); public static readonly LogicalKeyboardKey f8 = new LogicalKeyboardKey(0x00100070041, debugName: foundation_.kReleaseMode ? null : "F8"); public static readonly LogicalKeyboardKey f9 = new LogicalKeyboardKey(0x00100070042, debugName: foundation_.kReleaseMode ? null : "F9"); public static readonly LogicalKeyboardKey f10 = new LogicalKeyboardKey(0x00100070043, debugName: foundation_.kReleaseMode ? null : "F10"); public static readonly LogicalKeyboardKey f11 = new LogicalKeyboardKey(0x00100070044, debugName: foundation_.kReleaseMode ? null : "F11"); public static readonly LogicalKeyboardKey f12 = new LogicalKeyboardKey(0x00100070045, debugName: foundation_.kReleaseMode ? null : "F12"); public static readonly LogicalKeyboardKey printScreen = new LogicalKeyboardKey(0x00100070046, debugName: foundation_.kReleaseMode ? null : "Print Screen"); public static readonly LogicalKeyboardKey scrollLock = new LogicalKeyboardKey(0x00100070047, debugName: foundation_.kReleaseMode ? null : "Scroll Lock"); public static readonly LogicalKeyboardKey pause = new LogicalKeyboardKey(0x00100070048, debugName: foundation_.kReleaseMode ? null : "Pause"); public static readonly LogicalKeyboardKey insert = new LogicalKeyboardKey(0x00100070049, debugName: foundation_.kReleaseMode ? null : "Insert"); public static readonly LogicalKeyboardKey home = new LogicalKeyboardKey(0x0010007004a, debugName: foundation_.kReleaseMode ? null : "Home"); public static readonly LogicalKeyboardKey pageUp = new LogicalKeyboardKey(0x0010007004b, debugName: foundation_.kReleaseMode ? null : "Page Up"); public static readonly LogicalKeyboardKey delete = new LogicalKeyboardKey(0x0010007004c, debugName: foundation_.kReleaseMode ? null : "Delete"); public static readonly LogicalKeyboardKey end = new LogicalKeyboardKey(0x0010007004d, debugName: foundation_.kReleaseMode ? null : "End"); public static readonly LogicalKeyboardKey pageDown = new LogicalKeyboardKey(0x0010007004e, debugName: foundation_.kReleaseMode ? null : "Page Down"); public static readonly LogicalKeyboardKey arrowRight = new LogicalKeyboardKey(0x0010007004f, debugName: foundation_.kReleaseMode ? null : "Arrow Right"); public static readonly LogicalKeyboardKey arrowLeft = new LogicalKeyboardKey(0x00100070050, debugName: foundation_.kReleaseMode ? null : "Arrow Left"); public static readonly LogicalKeyboardKey arrowDown = new LogicalKeyboardKey(0x00100070051, debugName: foundation_.kReleaseMode ? null : "Arrow Down"); public static readonly LogicalKeyboardKey arrowUp = new LogicalKeyboardKey(0x00100070052, debugName: foundation_.kReleaseMode ? null : "Arrow Up"); public static readonly LogicalKeyboardKey numLock = new LogicalKeyboardKey(0x00100070053, debugName: foundation_.kReleaseMode ? null : "Num Lock"); public static readonly LogicalKeyboardKey numpadDivide = new LogicalKeyboardKey(0x00100070054, keyLabel: "/", debugName: foundation_.kReleaseMode ? null : "Numpad Divide"); public static readonly LogicalKeyboardKey numpadMultiply = new LogicalKeyboardKey(0x00100070055, keyLabel: "*", debugName: foundation_.kReleaseMode ? null : "Numpad Multiply"); public static readonly LogicalKeyboardKey numpadSubtract = new LogicalKeyboardKey(0x00100070056, keyLabel: "-", debugName: foundation_.kReleaseMode ? null : "Numpad Subtract"); public static readonly LogicalKeyboardKey numpadAdd = new LogicalKeyboardKey(0x00100070057, keyLabel: "+", debugName: foundation_.kReleaseMode ? null : "Numpad Add"); public static readonly LogicalKeyboardKey numpadEnter = new LogicalKeyboardKey(0x00100070058, debugName: foundation_.kReleaseMode ? null : "Numpad Ente"); public static readonly LogicalKeyboardKey numpad1 = new LogicalKeyboardKey(0x00100070059, keyLabel: "1", debugName: foundation_.kReleaseMode ? null : "Numpad 1"); public static readonly LogicalKeyboardKey numpad2 = new LogicalKeyboardKey(0x0010007005a, keyLabel: "2", debugName: foundation_.kReleaseMode ? null : "Numpad 2"); public static readonly LogicalKeyboardKey numpad3 = new LogicalKeyboardKey(0x0010007005b, keyLabel: "3", debugName: foundation_.kReleaseMode ? null : "Numpad 3"); public static readonly LogicalKeyboardKey numpad4 = new LogicalKeyboardKey(0x0010007005c, keyLabel: "4", debugName: foundation_.kReleaseMode ? null : "Numpad 4"); public static readonly LogicalKeyboardKey numpad5 = new LogicalKeyboardKey(0x0010007005d, keyLabel: "5", debugName: foundation_.kReleaseMode ? null : "Numpad 5"); public static readonly LogicalKeyboardKey numpad6 = new LogicalKeyboardKey(0x0010007005e, keyLabel: "6", debugName: foundation_.kReleaseMode ? null : "Numpad 6"); public static readonly LogicalKeyboardKey numpad7 = new LogicalKeyboardKey(0x0010007005f, keyLabel: "7", debugName: foundation_.kReleaseMode ? null : "Numpad 7"); public static readonly LogicalKeyboardKey numpad8 = new LogicalKeyboardKey(0x00100070060, keyLabel: "8", debugName: foundation_.kReleaseMode ? null : "Numpad 8"); public static readonly LogicalKeyboardKey numpad9 = new LogicalKeyboardKey(0x00100070061, keyLabel: "9", debugName: foundation_.kReleaseMode ? null : "Numpad 9"); public static readonly LogicalKeyboardKey numpad0 = new LogicalKeyboardKey(0x00100070062, keyLabel: "0", debugName: foundation_.kReleaseMode ? null : "Numpad 0"); public static readonly LogicalKeyboardKey numpadDecimal = new LogicalKeyboardKey(0x00100070063, keyLabel: ".", debugName: foundation_.kReleaseMode ? null : "Numpad Decimal"); public static readonly LogicalKeyboardKey intlBackslash = new LogicalKeyboardKey(0x00100070064, debugName: foundation_.kReleaseMode ? null : "Intl Backslash"); public static readonly LogicalKeyboardKey contextMenu = new LogicalKeyboardKey(0x00100070065, debugName: foundation_.kReleaseMode ? null : "Context Menu"); public static readonly LogicalKeyboardKey power = new LogicalKeyboardKey(0x00100070066, debugName: foundation_.kReleaseMode ? null : "Powe"); public static readonly LogicalKeyboardKey numpadEqual = new LogicalKeyboardKey(0x00100070067, keyLabel: "=", debugName: foundation_.kReleaseMode ? null : "Numpad Equal"); public static readonly LogicalKeyboardKey f13 = new LogicalKeyboardKey(0x00100070068, debugName: foundation_.kReleaseMode ? null : "F13"); public static readonly LogicalKeyboardKey f14 = new LogicalKeyboardKey(0x00100070069, debugName: foundation_.kReleaseMode ? null : "F14"); public static readonly LogicalKeyboardKey f15 = new LogicalKeyboardKey(0x0010007006a, debugName: foundation_.kReleaseMode ? null : "F15"); public static readonly LogicalKeyboardKey f16 = new LogicalKeyboardKey(0x0010007006b, debugName: foundation_.kReleaseMode ? null : "F16"); public static readonly LogicalKeyboardKey f17 = new LogicalKeyboardKey(0x0010007006c, debugName: foundation_.kReleaseMode ? null : "F17"); public static readonly LogicalKeyboardKey f18 = new LogicalKeyboardKey(0x0010007006d, debugName: foundation_.kReleaseMode ? null : "F18"); public static readonly LogicalKeyboardKey f19 = new LogicalKeyboardKey(0x0010007006e, debugName: foundation_.kReleaseMode ? null : "F19"); public static readonly LogicalKeyboardKey f20 = new LogicalKeyboardKey(0x0010007006f, debugName: foundation_.kReleaseMode ? null : "F20"); public static readonly LogicalKeyboardKey f21 = new LogicalKeyboardKey(0x00100070070, debugName: foundation_.kReleaseMode ? null : "F21"); public static readonly LogicalKeyboardKey f22 = new LogicalKeyboardKey(0x00100070071, debugName: foundation_.kReleaseMode ? null : "F22"); public static readonly LogicalKeyboardKey f23 = new LogicalKeyboardKey(0x00100070072, debugName: foundation_.kReleaseMode ? null : "F23"); public static readonly LogicalKeyboardKey f24 = new LogicalKeyboardKey(0x00100070073, debugName: foundation_.kReleaseMode ? null : "F24"); public static readonly LogicalKeyboardKey open = new LogicalKeyboardKey(0x00100070074, debugName: foundation_.kReleaseMode ? null : "Open"); public static readonly LogicalKeyboardKey help = new LogicalKeyboardKey(0x00100070075, debugName: foundation_.kReleaseMode ? null : "Help"); public static readonly LogicalKeyboardKey select = new LogicalKeyboardKey(0x00100070077, debugName: foundation_.kReleaseMode ? null : "Select"); public static readonly LogicalKeyboardKey again = new LogicalKeyboardKey(0x00100070079, debugName: foundation_.kReleaseMode ? null : "Again"); public static readonly LogicalKeyboardKey undo = new LogicalKeyboardKey(0x0010007007a, debugName: foundation_.kReleaseMode ? null : "Undo"); public static readonly LogicalKeyboardKey cut = new LogicalKeyboardKey(0x0010007007b, debugName: foundation_.kReleaseMode ? null : "Cut"); public static readonly LogicalKeyboardKey copy = new LogicalKeyboardKey(0x0010007007c, debugName: foundation_.kReleaseMode ? null : "Copy"); public static readonly LogicalKeyboardKey paste = new LogicalKeyboardKey(0x0010007007d, debugName: foundation_.kReleaseMode ? null : "Paste"); public static readonly LogicalKeyboardKey find = new LogicalKeyboardKey(0x0010007007e, debugName: foundation_.kReleaseMode ? null : "Find"); public static readonly LogicalKeyboardKey audioVolumeMute = new LogicalKeyboardKey(0x0010007007f, debugName: foundation_.kReleaseMode ? null : "Audio Volume Mute"); public static readonly LogicalKeyboardKey audioVolumeUp = new LogicalKeyboardKey(0x00100070080, debugName: foundation_.kReleaseMode ? null : "Audio Volume Up"); public static readonly LogicalKeyboardKey audioVolumeDown = new LogicalKeyboardKey(0x00100070081, debugName: foundation_.kReleaseMode ? null : "Audio Volume Down"); public static readonly LogicalKeyboardKey numpadComma = new LogicalKeyboardKey(0x00100070085, keyLabel: ",", debugName: foundation_.kReleaseMode ? null : "Numpad Comma"); public static readonly LogicalKeyboardKey intlRo = new LogicalKeyboardKey(0x00100070087, debugName: foundation_.kReleaseMode ? null : "Intl Ro"); public static readonly LogicalKeyboardKey kanaMode = new LogicalKeyboardKey(0x00100070088, debugName: foundation_.kReleaseMode ? null : "Kana Mode"); public static readonly LogicalKeyboardKey intlYen = new LogicalKeyboardKey(0x00100070089, debugName: foundation_.kReleaseMode ? null : "Intl Yen"); public static readonly LogicalKeyboardKey convert = new LogicalKeyboardKey(0x0010007008a, debugName: foundation_.kReleaseMode ? null : "Convert"); public static readonly LogicalKeyboardKey nonConvert = new LogicalKeyboardKey(0x0010007008b, debugName: foundation_.kReleaseMode ? null : "Non Convert"); public static readonly LogicalKeyboardKey lang1 = new LogicalKeyboardKey(0x00100070090, debugName: foundation_.kReleaseMode ? null : "Lang 1"); public static readonly LogicalKeyboardKey lang2 = new LogicalKeyboardKey(0x00100070091, debugName: foundation_.kReleaseMode ? null : "Lang 2"); public static readonly LogicalKeyboardKey lang3 = new LogicalKeyboardKey(0x00100070092, debugName: foundation_.kReleaseMode ? null : "Lang 3"); public static readonly LogicalKeyboardKey lang4 = new LogicalKeyboardKey(0x00100070093, debugName: foundation_.kReleaseMode ? null : "Lang 4"); public static readonly LogicalKeyboardKey lang5 = new LogicalKeyboardKey(0x00100070094, debugName: foundation_.kReleaseMode ? null : "Lang 5"); public static readonly LogicalKeyboardKey abort = new LogicalKeyboardKey(0x0010007009b, debugName: foundation_.kReleaseMode ? null : "Abort"); public static readonly LogicalKeyboardKey props = new LogicalKeyboardKey(0x001000700a3, debugName: foundation_.kReleaseMode ? null : "Props"); public static readonly LogicalKeyboardKey numpadParenLeft = new LogicalKeyboardKey(0x001000700b6, keyLabel: "(", debugName: foundation_.kReleaseMode ? null : "Numpad Paren Left"); public static readonly LogicalKeyboardKey numpadParenRight = new LogicalKeyboardKey(0x001000700b7, keyLabel: ")", debugName: foundation_.kReleaseMode ? null : "Numpad Paren Right"); public static readonly LogicalKeyboardKey numpadBackspace = new LogicalKeyboardKey(0x001000700bb, debugName: foundation_.kReleaseMode ? null : "Numpad Backspace"); public static readonly LogicalKeyboardKey numpadMemoryStore = new LogicalKeyboardKey(0x001000700d0, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Store"); public static readonly LogicalKeyboardKey numpadMemoryRecall = new LogicalKeyboardKey(0x001000700d1, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Recall"); public static readonly LogicalKeyboardKey numpadMemoryClear = new LogicalKeyboardKey(0x001000700d2, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Clea"); public static readonly LogicalKeyboardKey numpadMemoryAdd = new LogicalKeyboardKey(0x001000700d3, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Add"); public static readonly LogicalKeyboardKey numpadMemorySubtract = new LogicalKeyboardKey(0x001000700d4, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Subtract"); public static readonly LogicalKeyboardKey numpadSignChange = new LogicalKeyboardKey(0x001000700d7, debugName: foundation_.kReleaseMode ? null : "Numpad Sign Change"); public static readonly LogicalKeyboardKey numpadClear = new LogicalKeyboardKey(0x001000700d8, debugName: foundation_.kReleaseMode ? null : "Numpad Clea"); public static readonly LogicalKeyboardKey numpadClearEntry = new LogicalKeyboardKey(0x001000700d9, debugName: foundation_.kReleaseMode ? null : "Numpad Clear Entry"); public static readonly LogicalKeyboardKey controlLeft = new LogicalKeyboardKey(0x001000700e0, debugName: foundation_.kReleaseMode ? null : "Control Left"); public static readonly LogicalKeyboardKey shiftLeft = new LogicalKeyboardKey(0x001000700e1, debugName: foundation_.kReleaseMode ? null : "Shift Left"); public static readonly LogicalKeyboardKey altLeft = new LogicalKeyboardKey(0x001000700e2, debugName: foundation_.kReleaseMode ? null : "Alt Left"); public static readonly LogicalKeyboardKey metaLeft = new LogicalKeyboardKey(0x001000700e3, debugName: foundation_.kReleaseMode ? null : "Meta Left"); public static readonly LogicalKeyboardKey controlRight = new LogicalKeyboardKey(0x001000700e4, debugName: foundation_.kReleaseMode ? null : "Control Right"); public static readonly LogicalKeyboardKey shiftRight = new LogicalKeyboardKey(0x001000700e5, debugName: foundation_.kReleaseMode ? null : "Shift Right"); public static readonly LogicalKeyboardKey altRight = new LogicalKeyboardKey(0x001000700e6, debugName: foundation_.kReleaseMode ? null : "Alt Right"); public static readonly LogicalKeyboardKey metaRight = new LogicalKeyboardKey(0x001000700e7, debugName: foundation_.kReleaseMode ? null : "Meta Right"); public static readonly LogicalKeyboardKey info = new LogicalKeyboardKey(0x001000c0060, debugName: foundation_.kReleaseMode ? null : "Info"); public static readonly LogicalKeyboardKey closedCaptionToggle = new LogicalKeyboardKey(0x001000c0061, debugName: foundation_.kReleaseMode ? null : "Closed Caption Toggle"); public static readonly LogicalKeyboardKey brightnessUp = new LogicalKeyboardKey(0x001000c006f, debugName: foundation_.kReleaseMode ? null : "Brightness Up"); public static readonly LogicalKeyboardKey brightnessDown = new LogicalKeyboardKey(0x001000c0070, debugName: foundation_.kReleaseMode ? null : "Brightness Down"); public static readonly LogicalKeyboardKey brightnessToggle = new LogicalKeyboardKey(0x001000c0072, debugName: foundation_.kReleaseMode ? null : "Brightness Toggle"); public static readonly LogicalKeyboardKey brightnessMinimum = new LogicalKeyboardKey(0x001000c0073, debugName: foundation_.kReleaseMode ? null : "Brightness Minimum"); public static readonly LogicalKeyboardKey brightnessMaximum = new LogicalKeyboardKey(0x001000c0074, debugName: foundation_.kReleaseMode ? null : "Brightness Maximum"); public static readonly LogicalKeyboardKey brightnessAuto = new LogicalKeyboardKey(0x001000c0075, debugName: foundation_.kReleaseMode ? null : "Brightness Auto"); public static readonly LogicalKeyboardKey mediaLast = new LogicalKeyboardKey(0x001000c0083, debugName: foundation_.kReleaseMode ? null : "Media Last"); public static readonly LogicalKeyboardKey launchPhone = new LogicalKeyboardKey(0x001000c008c, debugName: foundation_.kReleaseMode ? null : "Launch Phone"); public static readonly LogicalKeyboardKey programGuide = new LogicalKeyboardKey(0x001000c008d, debugName: foundation_.kReleaseMode ? null : "Program Guide"); public static readonly LogicalKeyboardKey exit = new LogicalKeyboardKey(0x001000c0094, debugName: foundation_.kReleaseMode ? null : "Exit"); public static readonly LogicalKeyboardKey channelUp = new LogicalKeyboardKey(0x001000c009c, debugName: foundation_.kReleaseMode ? null : "Channel Up"); public static readonly LogicalKeyboardKey channelDown = new LogicalKeyboardKey(0x001000c009d, debugName: foundation_.kReleaseMode ? null : "Channel Down"); public static readonly LogicalKeyboardKey mediaPlay = new LogicalKeyboardKey(0x001000c00b0, debugName: foundation_.kReleaseMode ? null : "Media Play"); public static readonly LogicalKeyboardKey mediaPause = new LogicalKeyboardKey(0x001000c00b1, debugName: foundation_.kReleaseMode ? null : "Media Pause"); public static readonly LogicalKeyboardKey mediaRecord = new LogicalKeyboardKey(0x001000c00b2, debugName: foundation_.kReleaseMode ? null : "Media Record"); public static readonly LogicalKeyboardKey mediaFastForward = new LogicalKeyboardKey(0x001000c00b3, debugName: foundation_.kReleaseMode ? null : "Media Fast Forward"); public static readonly LogicalKeyboardKey mediaRewind = new LogicalKeyboardKey(0x001000c00b4, debugName: foundation_.kReleaseMode ? null : "Media Rewind"); public static readonly LogicalKeyboardKey mediaTrackNext = new LogicalKeyboardKey(0x001000c00b5, debugName: foundation_.kReleaseMode ? null : "Media Track Next"); public static readonly LogicalKeyboardKey mediaTrackPrevious = new LogicalKeyboardKey(0x001000c00b6, debugName: foundation_.kReleaseMode ? null : "Media Track Previous"); public static readonly LogicalKeyboardKey mediaStop = new LogicalKeyboardKey(0x001000c00b7, debugName: foundation_.kReleaseMode ? null : "Media Stop"); public static readonly LogicalKeyboardKey eject = new LogicalKeyboardKey(0x001000c00b8, debugName: foundation_.kReleaseMode ? null : "Eject"); public static readonly LogicalKeyboardKey mediaPlayPause = new LogicalKeyboardKey(0x001000c00cd, debugName: foundation_.kReleaseMode ? null : "Media Play Pause"); public static readonly LogicalKeyboardKey speechInputToggle = new LogicalKeyboardKey(0x001000c00cf, debugName: foundation_.kReleaseMode ? null : "Speech Input Toggle"); public static readonly LogicalKeyboardKey bassBoost = new LogicalKeyboardKey(0x001000c00e5, debugName: foundation_.kReleaseMode ? null : "Bass Boost"); public static readonly LogicalKeyboardKey mediaSelect = new LogicalKeyboardKey(0x001000c0183, debugName: foundation_.kReleaseMode ? null : "Media Select"); public static readonly LogicalKeyboardKey launchWordProcessor = new LogicalKeyboardKey(0x001000c0184, debugName: foundation_.kReleaseMode ? null : "Launch Word Processo"); public static readonly LogicalKeyboardKey launchSpreadsheet = new LogicalKeyboardKey(0x001000c0186, debugName: foundation_.kReleaseMode ? null : "Launch Spreadsheet"); public static readonly LogicalKeyboardKey launchMail = new LogicalKeyboardKey(0x001000c018a, debugName: foundation_.kReleaseMode ? null : "Launch Mail"); public static readonly LogicalKeyboardKey launchContacts = new LogicalKeyboardKey(0x001000c018d, debugName: foundation_.kReleaseMode ? null : "Launch Contacts"); public static readonly LogicalKeyboardKey launchCalendar = new LogicalKeyboardKey(0x001000c018e, debugName: foundation_.kReleaseMode ? null : "Launch Calenda"); public static readonly LogicalKeyboardKey launchApp2 = new LogicalKeyboardKey(0x001000c0192, debugName: foundation_.kReleaseMode ? null : "Launch App2"); public static readonly LogicalKeyboardKey launchApp1 = new LogicalKeyboardKey(0x001000c0194, debugName: foundation_.kReleaseMode ? null : "Launch App1"); public static readonly LogicalKeyboardKey launchInternetBrowser = new LogicalKeyboardKey(0x001000c0196, debugName: foundation_.kReleaseMode ? null : "Launch Internet Browse"); public static readonly LogicalKeyboardKey logOff = new LogicalKeyboardKey(0x001000c019c, debugName: foundation_.kReleaseMode ? null : "Log Off"); public static readonly LogicalKeyboardKey lockScreen = new LogicalKeyboardKey(0x001000c019e, debugName: foundation_.kReleaseMode ? null : "Lock Screen"); public static readonly LogicalKeyboardKey launchControlPanel = new LogicalKeyboardKey(0x001000c019f, debugName: foundation_.kReleaseMode ? null : "Launch Control Panel"); public static readonly LogicalKeyboardKey selectTask = new LogicalKeyboardKey(0x001000c01a2, debugName: foundation_.kReleaseMode ? null : "Select Task"); public static readonly LogicalKeyboardKey launchDocuments = new LogicalKeyboardKey(0x001000c01a7, debugName: foundation_.kReleaseMode ? null : "Launch Documents"); public static readonly LogicalKeyboardKey spellCheck = new LogicalKeyboardKey(0x001000c01ab, debugName: foundation_.kReleaseMode ? null : "Spell Check"); public static readonly LogicalKeyboardKey launchKeyboardLayout = new LogicalKeyboardKey(0x001000c01ae, debugName: foundation_.kReleaseMode ? null : "Launch Keyboard Layout"); public static readonly LogicalKeyboardKey launchScreenSaver = new LogicalKeyboardKey(0x001000c01b1, debugName: foundation_.kReleaseMode ? null : "Launch Screen Save"); public static readonly LogicalKeyboardKey launchAssistant = new LogicalKeyboardKey(0x001000c01cb, debugName: foundation_.kReleaseMode ? null : "Launch Assistant"); public static readonly LogicalKeyboardKey launchAudioBrowser = new LogicalKeyboardKey(0x001000c01b7, debugName: foundation_.kReleaseMode ? null : "Launch Audio Browse"); public static readonly LogicalKeyboardKey newKey = new LogicalKeyboardKey(0x001000c0201, debugName: foundation_.kReleaseMode ? null : "New Key"); public static readonly LogicalKeyboardKey close = new LogicalKeyboardKey(0x001000c0203, debugName: foundation_.kReleaseMode ? null : "Close"); public static readonly LogicalKeyboardKey save = new LogicalKeyboardKey(0x001000c0207, debugName: foundation_.kReleaseMode ? null : "Save"); public static readonly LogicalKeyboardKey print = new LogicalKeyboardKey(0x001000c0208, debugName: foundation_.kReleaseMode ? null : "Print"); public static readonly LogicalKeyboardKey browserSearch = new LogicalKeyboardKey(0x001000c0221, debugName: foundation_.kReleaseMode ? null : "Browser Search"); public static readonly LogicalKeyboardKey browserHome = new LogicalKeyboardKey(0x001000c0223, debugName: foundation_.kReleaseMode ? null : "Browser Home"); public static readonly LogicalKeyboardKey browserBack = new LogicalKeyboardKey(0x001000c0224, debugName: foundation_.kReleaseMode ? null : "Browser Back"); public static readonly LogicalKeyboardKey browserForward = new LogicalKeyboardKey(0x001000c0225, debugName: foundation_.kReleaseMode ? null : "Browser Forward"); public static readonly LogicalKeyboardKey browserStop = new LogicalKeyboardKey(0x001000c0226, debugName: foundation_.kReleaseMode ? null : "Browser Stop"); public static readonly LogicalKeyboardKey browserRefresh = new LogicalKeyboardKey(0x001000c0227, debugName: foundation_.kReleaseMode ? null : "Browser Refresh"); public static readonly LogicalKeyboardKey browserFavorites = new LogicalKeyboardKey(0x001000c022a, debugName: foundation_.kReleaseMode ? null : "Browser Favorites"); public static readonly LogicalKeyboardKey zoomIn = new LogicalKeyboardKey(0x001000c022d, debugName: foundation_.kReleaseMode ? null : "Zoom In"); public static readonly LogicalKeyboardKey zoomOut = new LogicalKeyboardKey(0x001000c022e, debugName: foundation_.kReleaseMode ? null : "Zoom Out"); public static readonly LogicalKeyboardKey zoomToggle = new LogicalKeyboardKey(0x001000c0232, debugName: foundation_.kReleaseMode ? null : "Zoom Toggle"); public static readonly LogicalKeyboardKey redo = new LogicalKeyboardKey(0x001000c0279, debugName: foundation_.kReleaseMode ? null : "Redo"); public static readonly LogicalKeyboardKey mailReply = new LogicalKeyboardKey(0x001000c0289, debugName: foundation_.kReleaseMode ? null : "Mail Reply"); public static readonly LogicalKeyboardKey mailForward = new LogicalKeyboardKey(0x001000c028b, debugName: foundation_.kReleaseMode ? null : "Mail Forward"); public static readonly LogicalKeyboardKey mailSend = new LogicalKeyboardKey(0x001000c028c, debugName: foundation_.kReleaseMode ? null : "Mail Send"); public static readonly LogicalKeyboardKey keyboardLayoutSelect = new LogicalKeyboardKey(0x001000c029d, debugName: foundation_.kReleaseMode ? null : "Keyboard Layout Select"); public static readonly LogicalKeyboardKey showAllWindows = new LogicalKeyboardKey(0x001000c029f, debugName: foundation_.kReleaseMode ? null : "Show All Windows"); public static readonly LogicalKeyboardKey gameButton1 = new LogicalKeyboardKey(0x0010005ff01, debugName: foundation_.kReleaseMode ? null : "Game Button 1"); public static readonly LogicalKeyboardKey gameButton2 = new LogicalKeyboardKey(0x0010005ff02, debugName: foundation_.kReleaseMode ? null : "Game Button 2"); public static readonly LogicalKeyboardKey gameButton3 = new LogicalKeyboardKey(0x0010005ff03, debugName: foundation_.kReleaseMode ? null : "Game Button 3"); public static readonly LogicalKeyboardKey gameButton4 = new LogicalKeyboardKey(0x0010005ff04, debugName: foundation_.kReleaseMode ? null : "Game Button 4"); public static readonly LogicalKeyboardKey gameButton5 = new LogicalKeyboardKey(0x0010005ff05, debugName: foundation_.kReleaseMode ? null : "Game Button 5"); public static readonly LogicalKeyboardKey gameButton6 = new LogicalKeyboardKey(0x0010005ff06, debugName: foundation_.kReleaseMode ? null : "Game Button 6"); public static readonly LogicalKeyboardKey gameButton7 = new LogicalKeyboardKey(0x0010005ff07, debugName: foundation_.kReleaseMode ? null : "Game Button 7"); public static readonly LogicalKeyboardKey gameButton8 = new LogicalKeyboardKey(0x0010005ff08, debugName: foundation_.kReleaseMode ? null : "Game Button 8"); public static readonly LogicalKeyboardKey gameButton9 = new LogicalKeyboardKey(0x0010005ff09, debugName: foundation_.kReleaseMode ? null : "Game Button 9"); public static readonly LogicalKeyboardKey gameButton10 = new LogicalKeyboardKey(0x0010005ff0a, debugName: foundation_.kReleaseMode ? null : "Game Button 10"); public static readonly LogicalKeyboardKey gameButton11 = new LogicalKeyboardKey(0x0010005ff0b, debugName: foundation_.kReleaseMode ? null : "Game Button 11"); public static readonly LogicalKeyboardKey gameButton12 = new LogicalKeyboardKey(0x0010005ff0c, debugName: foundation_.kReleaseMode ? null : "Game Button 12"); public static readonly LogicalKeyboardKey gameButton13 = new LogicalKeyboardKey(0x0010005ff0d, debugName: foundation_.kReleaseMode ? null : "Game Button 13"); public static readonly LogicalKeyboardKey gameButton14 = new LogicalKeyboardKey(0x0010005ff0e, debugName: foundation_.kReleaseMode ? null : "Game Button 14"); public static readonly LogicalKeyboardKey gameButton15 = new LogicalKeyboardKey(0x0010005ff0f, debugName: foundation_.kReleaseMode ? null : "Game Button 15"); public static readonly LogicalKeyboardKey gameButton16 = new LogicalKeyboardKey(0x0010005ff10, debugName: foundation_.kReleaseMode ? null : "Game Button 16"); public static readonly LogicalKeyboardKey gameButtonA = new LogicalKeyboardKey(0x0010005ff11, debugName: foundation_.kReleaseMode ? null : "Game Button A"); public static readonly LogicalKeyboardKey gameButtonB = new LogicalKeyboardKey(0x0010005ff12, debugName: foundation_.kReleaseMode ? null : "Game Button B"); public static readonly LogicalKeyboardKey gameButtonC = new LogicalKeyboardKey(0x0010005ff13, debugName: foundation_.kReleaseMode ? null : "Game Button C"); public static readonly LogicalKeyboardKey gameButtonLeft1 = new LogicalKeyboardKey(0x0010005ff14, debugName: foundation_.kReleaseMode ? null : "Game Button Left 1"); public static readonly LogicalKeyboardKey gameButtonLeft2 = new LogicalKeyboardKey(0x0010005ff15, debugName: foundation_.kReleaseMode ? null : "Game Button Left 2"); public static readonly LogicalKeyboardKey gameButtonMode = new LogicalKeyboardKey(0x0010005ff16, debugName: foundation_.kReleaseMode ? null : "Game Button Mode"); public static readonly LogicalKeyboardKey gameButtonRight1 = new LogicalKeyboardKey(0x0010005ff17, debugName: foundation_.kReleaseMode ? null : "Game Button Right 1"); public static readonly LogicalKeyboardKey gameButtonRight2 = new LogicalKeyboardKey(0x0010005ff18, debugName: foundation_.kReleaseMode ? null : "Game Button Right 2"); public static readonly LogicalKeyboardKey gameButtonSelect = new LogicalKeyboardKey(0x0010005ff19, debugName: foundation_.kReleaseMode ? null : "Game Button Select"); public static readonly LogicalKeyboardKey gameButtonStart = new LogicalKeyboardKey(0x0010005ff1a, debugName: foundation_.kReleaseMode ? null : "Game Button Start"); public static readonly LogicalKeyboardKey gameButtonThumbLeft = new LogicalKeyboardKey(0x0010005ff1b, debugName: foundation_.kReleaseMode ? null : "Game Button Thumb Left"); public static readonly LogicalKeyboardKey gameButtonThumbRight = new LogicalKeyboardKey(0x0010005ff1c, debugName: foundation_.kReleaseMode ? null : "Game Button Thumb Right"); public static readonly LogicalKeyboardKey gameButtonX = new LogicalKeyboardKey(0x0010005ff1d, debugName: foundation_.kReleaseMode ? null : "Game Button X"); public static readonly LogicalKeyboardKey gameButtonY = new LogicalKeyboardKey(0x0010005ff1e, debugName: foundation_.kReleaseMode ? null : "Game Button Y"); public static readonly LogicalKeyboardKey gameButtonZ = new LogicalKeyboardKey(0x0010005ff1f, debugName: foundation_.kReleaseMode ? null : "Game Button Z"); public static readonly LogicalKeyboardKey fn = new LogicalKeyboardKey(0x00100000012, debugName: foundation_.kReleaseMode ? null : "Fn"); public static readonly LogicalKeyboardKey shift = new LogicalKeyboardKey(0x201000700e1, debugName: foundation_.kReleaseMode ? null : "Shift"); public static readonly LogicalKeyboardKey meta = new LogicalKeyboardKey(0x201000700e3, debugName: foundation_.kReleaseMode ? null : "Meta"); public static readonly LogicalKeyboardKey alt = new LogicalKeyboardKey(0x201000700e2, debugName: foundation_.kReleaseMode ? null : "Alt"); public static readonly LogicalKeyboardKey control = new LogicalKeyboardKey(0x201000700e0, debugName: foundation_.kReleaseMode ? null : "Control"); // A list of all predefined constant LogicalKeyboardKeys so they can be // searched. public static readonly Dictionary _knownLogicalKeys = new Dictionary { {0x0100000000, none}, {0x0100000010, hyper}, {0x0100000011, superKey}, {0x0100000013, fnLock}, {0x0100000014, suspend}, {0x0100000015, resume}, {0x0100000016, turbo}, {0x0100000017, privacyScreenToggle}, {0x0100010082, sleep}, {0x0100010083, wakeUp}, {0x01000100b5, displayToggleIntExt}, {0x0100070000, usbReserved}, {0x0100070001, usbErrorRollOver}, {0x0100070002, usbPostFail}, {0x0100070003, usbErrorUndefined}, {0x0000000061, keyA}, {0x0000000062, keyB}, {0x0000000063, keyC}, {0x0000000064, keyD}, {0x0000000065, keyE}, {0x0000000066, keyF}, {0x0000000067, keyG}, {0x0000000068, keyH}, {0x0000000069, keyI}, {0x000000006a, keyJ}, {0x000000006b, keyK}, {0x000000006c, keyL}, {0x000000006d, keyM}, {0x000000006e, keyN}, {0x000000006f, keyO}, {0x0000000070, keyP}, {0x0000000071, keyQ}, {0x0000000072, keyR}, {0x0000000073, keyS}, {0x0000000074, keyT}, {0x0000000075, keyU}, {0x0000000076, keyV}, {0x0000000077, keyW}, {0x0000000078, keyX}, {0x0000000079, keyY}, {0x000000007a, keyZ}, {0x0000000031, digit1}, {0x0000000032, digit2}, {0x0000000033, digit3}, {0x0000000034, digit4}, {0x0000000035, digit5}, {0x0000000036, digit6}, {0x0000000037, digit7}, {0x0000000038, digit8}, {0x0000000039, digit9}, {0x0000000030, digit0}, {0x0100070028, enter}, {0x0100070029, escape}, {0x010007002a, backspace}, {0x010007002b, tab}, {0x0000000020, space}, {0x000000002d, minus}, {0x000000003d, equal}, {0x000000005b, bracketLeft}, {0x000000005d, bracketRight}, {0x000000005c, backslash}, {0x000000003b, semicolon}, {0x0000000027, quote}, {0x0000000060, backquote}, {0x000000002c, comma}, {0x000000002e, period}, {0x000000002f, slash}, {0x0100070039, capsLock}, {0x010007003a, f1}, {0x010007003b, f2}, {0x010007003c, f3}, {0x010007003d, f4}, {0x010007003e, f5}, {0x010007003f, f6}, {0x0100070040, f7}, {0x0100070041, f8}, {0x0100070042, f9}, {0x0100070043, f10}, {0x0100070044, f11}, {0x0100070045, f12}, {0x0100070046, printScreen}, {0x0100070047, scrollLock}, {0x0100070048, pause}, {0x0100070049, insert}, {0x010007004a, home}, {0x010007004b, pageUp}, {0x010007004c, delete}, {0x010007004d, end}, {0x010007004e, pageDown}, {0x010007004f, arrowRight}, {0x0100070050, arrowLeft}, {0x0100070051, arrowDown}, {0x0100070052, arrowUp}, {0x0100070053, numLock}, {0x0100070054, numpadDivide}, {0x0100070055, numpadMultiply}, {0x0100070056, numpadSubtract}, {0x0100070057, numpadAdd}, {0x0100070058, numpadEnter}, {0x0100070059, numpad1}, {0x010007005a, numpad2}, {0x010007005b, numpad3}, {0x010007005c, numpad4}, {0x010007005d, numpad5}, {0x010007005e, numpad6}, {0x010007005f, numpad7}, {0x0100070060, numpad8}, {0x0100070061, numpad9}, {0x0100070062, numpad0}, {0x0100070063, numpadDecimal}, {0x0100070064, intlBackslash}, {0x0100070065, contextMenu}, {0x0100070066, power}, {0x0100070067, numpadEqual}, {0x0100070068, f13}, {0x0100070069, f14}, {0x010007006a, f15}, {0x010007006b, f16}, {0x010007006c, f17}, {0x010007006d, f18}, {0x010007006e, f19}, {0x010007006f, f20}, {0x0100070070, f21}, {0x0100070071, f22}, {0x0100070072, f23}, {0x0100070073, f24}, {0x0100070074, open}, {0x0100070075, help}, {0x0100070077, select}, {0x0100070079, again}, {0x010007007a, undo}, {0x010007007b, cut}, {0x010007007c, copy}, {0x010007007d, paste}, {0x010007007e, find}, {0x010007007f, audioVolumeMute}, {0x0100070080, audioVolumeUp}, {0x0100070081, audioVolumeDown}, {0x0100070085, numpadComma}, {0x0100070087, intlRo}, {0x0100070088, kanaMode}, {0x0100070089, intlYen}, {0x010007008a, convert}, {0x010007008b, nonConvert}, {0x0100070090, lang1}, {0x0100070091, lang2}, {0x0100070092, lang3}, {0x0100070093, lang4}, {0x0100070094, lang5}, {0x010007009b, abort}, {0x01000700a3, props}, {0x01000700b6, numpadParenLeft}, {0x01000700b7, numpadParenRight}, {0x01000700bb, numpadBackspace}, {0x01000700d0, numpadMemoryStore}, {0x01000700d1, numpadMemoryRecall}, {0x01000700d2, numpadMemoryClear}, {0x01000700d3, numpadMemoryAdd}, {0x01000700d4, numpadMemorySubtract}, {0x01000700d7, numpadSignChange}, {0x01000700d8, numpadClear}, {0x01000700d9, numpadClearEntry}, {0x01000700e0, controlLeft}, {0x01000700e1, shiftLeft}, {0x01000700e2, altLeft}, {0x01000700e3, metaLeft}, {0x01000700e4, controlRight}, {0x01000700e5, shiftRight}, {0x01000700e6, altRight}, {0x01000700e7, metaRight}, {0x01000c0060, info}, {0x01000c0061, closedCaptionToggle}, {0x01000c006f, brightnessUp}, {0x01000c0070, brightnessDown}, {0x01000c0072, brightnessToggle}, {0x01000c0073, brightnessMinimum}, {0x01000c0074, brightnessMaximum}, {0x01000c0075, brightnessAuto}, {0x01000c0083, mediaLast}, {0x01000c008c, launchPhone}, {0x01000c008d, programGuide}, {0x01000c0094, exit}, {0x01000c009c, channelUp}, {0x01000c009d, channelDown}, {0x01000c00b0, mediaPlay}, {0x01000c00b1, mediaPause}, {0x01000c00b2, mediaRecord}, {0x01000c00b3, mediaFastForward}, {0x01000c00b4, mediaRewind}, {0x01000c00b5, mediaTrackNext}, {0x01000c00b6, mediaTrackPrevious}, {0x01000c00b7, mediaStop}, {0x01000c00b8, eject}, {0x01000c00cd, mediaPlayPause}, {0x01000c00cf, speechInputToggle}, {0x01000c00e5, bassBoost}, {0x01000c0183, mediaSelect}, {0x01000c0184, launchWordProcessor}, {0x01000c0186, launchSpreadsheet}, {0x01000c018a, launchMail}, {0x01000c018d, launchContacts}, {0x01000c018e, launchCalendar}, {0x01000c0192, launchApp2}, {0x01000c0194, launchApp1}, {0x01000c0196, launchInternetBrowser}, {0x01000c019c, logOff}, {0x01000c019e, lockScreen}, {0x01000c019f, launchControlPanel}, {0x01000c01a2, selectTask}, {0x01000c01a7, launchDocuments}, {0x01000c01ab, spellCheck}, {0x01000c01ae, launchKeyboardLayout}, {0x01000c01b1, launchScreenSaver}, {0x01000c01cb, launchAssistant}, {0x01000c01b7, launchAudioBrowser}, {0x01000c0201, newKey}, {0x01000c0203, close}, {0x01000c0207, save}, {0x01000c0208, print}, {0x01000c0221, browserSearch}, {0x01000c0223, browserHome}, {0x01000c0224, browserBack}, {0x01000c0225, browserForward}, {0x01000c0226, browserStop}, {0x01000c0227, browserRefresh}, {0x01000c022a, browserFavorites}, {0x01000c022d, zoomIn}, {0x01000c022e, zoomOut}, {0x01000c0232, zoomToggle}, {0x01000c0279, redo}, {0x01000c0289, mailReply}, {0x01000c028b, mailForward}, {0x01000c028c, mailSend}, {0x01000c029d, keyboardLayoutSelect}, {0x01000c029f, showAllWindows}, {0x010005ff01, gameButton1}, {0x010005ff02, gameButton2}, {0x010005ff03, gameButton3}, {0x010005ff04, gameButton4}, {0x010005ff05, gameButton5}, {0x010005ff06, gameButton6}, {0x010005ff07, gameButton7}, {0x010005ff08, gameButton8}, {0x010005ff09, gameButton9}, {0x010005ff0a, gameButton10}, {0x010005ff0b, gameButton11}, {0x010005ff0c, gameButton12}, {0x010005ff0d, gameButton13}, {0x010005ff0e, gameButton14}, {0x010005ff0f, gameButton15}, {0x010005ff10, gameButton16}, {0x010005ff11, gameButtonA}, {0x010005ff12, gameButtonB}, {0x010005ff13, gameButtonC}, {0x010005ff14, gameButtonLeft1}, {0x010005ff15, gameButtonLeft2}, {0x010005ff16, gameButtonMode}, {0x010005ff17, gameButtonRight1}, {0x010005ff18, gameButtonRight2}, {0x010005ff19, gameButtonSelect}, {0x010005ff1a, gameButtonStart}, {0x010005ff1b, gameButtonThumbLeft}, {0x010005ff1c, gameButtonThumbRight}, {0x010005ff1d, gameButtonX}, {0x010005ff1e, gameButtonY}, {0x010005ff1f, gameButtonZ}, {0x0100000012, fn}, {0x201000700e1, shift}, {0x201000700e3, meta}, {0x201000700e2, alt}, {0x201000700e0, control} }; public static readonly Dictionary _synonyms = new Dictionary { {shiftLeft, shift}, {shiftRight, shift}, {metaLeft, meta}, {metaRight, meta}, {altLeft, alt}, {altRight, alt}, {controlLeft, control}, {controlRight, control}, }; } public class PhysicalKeyboardKey : KeyboardKey, IEquatable { protected PhysicalKeyboardKey(int usbHidUsage, string debugName = null) { D.assert(usbHidUsage != null); this.usbHidUsage = usbHidUsage; this.debugName = debugName; } public readonly int usbHidUsage; public readonly string debugName; public static PhysicalKeyboardKey findKeyByCode(int usageCode) { return _knownPhysicalKeys[usageCode]; } public bool Equals(PhysicalKeyboardKey other) { if (ReferenceEquals(null, other)) { return false; } if (ReferenceEquals(this, other)) { return true; } return usbHidUsage == other.usbHidUsage; } public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) { return false; } if (ReferenceEquals(this, obj)) { return true; } if (obj.GetType() != GetType()) { return false; } return Equals((PhysicalKeyboardKey) obj); } public override int GetHashCode() { unchecked { return (usbHidUsage * 397) ^ (debugName?.GetHashCode() ?? 0); } } public override void debugFillProperties(DiagnosticPropertiesBuilder properties) { base.debugFillProperties(properties); properties.add(new StringProperty("usbHidUsage", usbHidUsage.ToString().PadLeft(8, '0'), showName: true)); properties.add(new StringProperty("debugName", debugName, showName: true, defaultValue: null)); } public static PhysicalKeyboardKey none = new PhysicalKeyboardKey(0x00000000, debugName: foundation_.kReleaseMode ? null : "None"); public static PhysicalKeyboardKey hyper = new PhysicalKeyboardKey(0x00000010, debugName: foundation_.kReleaseMode ? null : "Hyper"); public static PhysicalKeyboardKey superKey = new PhysicalKeyboardKey(0x00000011, debugName: foundation_.kReleaseMode ? null : "Super Key"); public static PhysicalKeyboardKey fnLock = new PhysicalKeyboardKey(0x00000013, debugName: foundation_.kReleaseMode ? null : "Fn Lock"); public static PhysicalKeyboardKey suspend = new PhysicalKeyboardKey(0x00000014, debugName: foundation_.kReleaseMode ? null : "Suspend"); public static PhysicalKeyboardKey resume = new PhysicalKeyboardKey(0x00000015, debugName: foundation_.kReleaseMode ? null : "Resume"); public static PhysicalKeyboardKey turbo = new PhysicalKeyboardKey(0x00000016, debugName: foundation_.kReleaseMode ? null : "Turbo"); public static PhysicalKeyboardKey privacyScreenToggle = new PhysicalKeyboardKey(0x00000017, debugName: foundation_.kReleaseMode ? null : "Privacy Screen Toggle"); public static PhysicalKeyboardKey sleep = new PhysicalKeyboardKey(0x00010082, debugName: foundation_.kReleaseMode ? null : "Sleep"); public static PhysicalKeyboardKey wakeUp = new PhysicalKeyboardKey(0x00010083, debugName: foundation_.kReleaseMode ? null : "Wake Up"); public static PhysicalKeyboardKey displayToggleIntExt = new PhysicalKeyboardKey(0x000100b5, debugName: foundation_.kReleaseMode ? null : "Display Toggle Int Ext"); public static PhysicalKeyboardKey usbReserved = new PhysicalKeyboardKey(0x00070000, debugName: foundation_.kReleaseMode ? null : "Usb Reserved"); public static PhysicalKeyboardKey usbErrorRollOver = new PhysicalKeyboardKey(0x00070001, debugName: foundation_.kReleaseMode ? null : "Usb Error Roll Over"); public static PhysicalKeyboardKey usbPostFail = new PhysicalKeyboardKey(0x00070002, debugName: foundation_.kReleaseMode ? null : "Usb Post Fail"); public static PhysicalKeyboardKey usbErrorUndefined = new PhysicalKeyboardKey(0x00070003, debugName: foundation_.kReleaseMode ? null : "Usb Error Undefined"); public static PhysicalKeyboardKey keyA = new PhysicalKeyboardKey(0x00070004, debugName: foundation_.kReleaseMode ? null : "Key A"); public static PhysicalKeyboardKey keyB = new PhysicalKeyboardKey(0x00070005, debugName: foundation_.kReleaseMode ? null : "Key B"); public static PhysicalKeyboardKey keyC = new PhysicalKeyboardKey(0x00070006, debugName: foundation_.kReleaseMode ? null : "Key C"); public static PhysicalKeyboardKey keyD = new PhysicalKeyboardKey(0x00070007, debugName: foundation_.kReleaseMode ? null : "Key D"); public static PhysicalKeyboardKey keyE = new PhysicalKeyboardKey(0x00070008, debugName: foundation_.kReleaseMode ? null : "Key E"); public static PhysicalKeyboardKey keyF = new PhysicalKeyboardKey(0x00070009, debugName: foundation_.kReleaseMode ? null : "Key F"); public static PhysicalKeyboardKey keyG = new PhysicalKeyboardKey(0x0007000a, debugName: foundation_.kReleaseMode ? null : "Key G"); public static PhysicalKeyboardKey keyH = new PhysicalKeyboardKey(0x0007000b, debugName: foundation_.kReleaseMode ? null : "Key H"); public static PhysicalKeyboardKey keyI = new PhysicalKeyboardKey(0x0007000c, debugName: foundation_.kReleaseMode ? null : "Key I"); public static PhysicalKeyboardKey keyJ = new PhysicalKeyboardKey(0x0007000d, debugName: foundation_.kReleaseMode ? null : "Key J"); public static PhysicalKeyboardKey keyK = new PhysicalKeyboardKey(0x0007000e, debugName: foundation_.kReleaseMode ? null : "Key K"); public static PhysicalKeyboardKey keyL = new PhysicalKeyboardKey(0x0007000f, debugName: foundation_.kReleaseMode ? null : "Key L"); public static PhysicalKeyboardKey keyM = new PhysicalKeyboardKey(0x00070010, debugName: foundation_.kReleaseMode ? null : "Key M"); public static PhysicalKeyboardKey keyN = new PhysicalKeyboardKey(0x00070011, debugName: foundation_.kReleaseMode ? null : "Key N"); public static PhysicalKeyboardKey keyO = new PhysicalKeyboardKey(0x00070012, debugName: foundation_.kReleaseMode ? null : "Key O"); public static PhysicalKeyboardKey keyP = new PhysicalKeyboardKey(0x00070013, debugName: foundation_.kReleaseMode ? null : "Key P"); public static PhysicalKeyboardKey keyQ = new PhysicalKeyboardKey(0x00070014, debugName: foundation_.kReleaseMode ? null : "Key Q"); public static PhysicalKeyboardKey keyR = new PhysicalKeyboardKey(0x00070015, debugName: foundation_.kReleaseMode ? null : "Key R"); public static PhysicalKeyboardKey keyS = new PhysicalKeyboardKey(0x00070016, debugName: foundation_.kReleaseMode ? null : "Key S"); public static PhysicalKeyboardKey keyT = new PhysicalKeyboardKey(0x00070017, debugName: foundation_.kReleaseMode ? null : "Key T"); public static PhysicalKeyboardKey keyU = new PhysicalKeyboardKey(0x00070018, debugName: foundation_.kReleaseMode ? null : "Key U"); public static PhysicalKeyboardKey keyV = new PhysicalKeyboardKey(0x00070019, debugName: foundation_.kReleaseMode ? null : "Key V"); public static PhysicalKeyboardKey keyW = new PhysicalKeyboardKey(0x0007001a, debugName: foundation_.kReleaseMode ? null : "Key W"); public static PhysicalKeyboardKey keyX = new PhysicalKeyboardKey(0x0007001b, debugName: foundation_.kReleaseMode ? null : "Key X"); public static PhysicalKeyboardKey keyY = new PhysicalKeyboardKey(0x0007001c, debugName: foundation_.kReleaseMode ? null : "Key Y"); public static PhysicalKeyboardKey keyZ = new PhysicalKeyboardKey(0x0007001d, debugName: foundation_.kReleaseMode ? null : "Key Z"); public static PhysicalKeyboardKey digit1 = new PhysicalKeyboardKey(0x0007001e, debugName: foundation_.kReleaseMode ? null : "Digit 1"); public static PhysicalKeyboardKey digit2 = new PhysicalKeyboardKey(0x0007001f, debugName: foundation_.kReleaseMode ? null : "Digit 2"); public static PhysicalKeyboardKey digit3 = new PhysicalKeyboardKey(0x00070020, debugName: foundation_.kReleaseMode ? null : "Digit 3"); public static PhysicalKeyboardKey digit4 = new PhysicalKeyboardKey(0x00070021, debugName: foundation_.kReleaseMode ? null : "Digit 4"); public static PhysicalKeyboardKey digit5 = new PhysicalKeyboardKey(0x00070022, debugName: foundation_.kReleaseMode ? null : "Digit 5"); public static PhysicalKeyboardKey digit6 = new PhysicalKeyboardKey(0x00070023, debugName: foundation_.kReleaseMode ? null : "Digit 6"); public static PhysicalKeyboardKey digit7 = new PhysicalKeyboardKey(0x00070024, debugName: foundation_.kReleaseMode ? null : "Digit 7"); public static PhysicalKeyboardKey digit8 = new PhysicalKeyboardKey(0x00070025, debugName: foundation_.kReleaseMode ? null : "Digit 8"); public static PhysicalKeyboardKey digit9 = new PhysicalKeyboardKey(0x00070026, debugName: foundation_.kReleaseMode ? null : "Digit 9"); public static PhysicalKeyboardKey digit0 = new PhysicalKeyboardKey(0x00070027, debugName: foundation_.kReleaseMode ? null : "Digit 0"); public static PhysicalKeyboardKey enter = new PhysicalKeyboardKey(0x00070028, debugName: foundation_.kReleaseMode ? null : "Enter"); public static PhysicalKeyboardKey escape = new PhysicalKeyboardKey(0x00070029, debugName: foundation_.kReleaseMode ? null : "Escape"); public static PhysicalKeyboardKey backspace = new PhysicalKeyboardKey(0x0007002a, debugName: foundation_.kReleaseMode ? null : "Backspace"); public static PhysicalKeyboardKey tab = new PhysicalKeyboardKey(0x0007002b, debugName: foundation_.kReleaseMode ? null : "Tab"); public static PhysicalKeyboardKey space = new PhysicalKeyboardKey(0x0007002c, debugName: foundation_.kReleaseMode ? null : "Space"); public static PhysicalKeyboardKey minus = new PhysicalKeyboardKey(0x0007002d, debugName: foundation_.kReleaseMode ? null : "Minus"); public static PhysicalKeyboardKey equal = new PhysicalKeyboardKey(0x0007002e, debugName: foundation_.kReleaseMode ? null : "Equal"); public static PhysicalKeyboardKey bracketLeft = new PhysicalKeyboardKey(0x0007002f, debugName: foundation_.kReleaseMode ? null : "Bracket Left"); public static PhysicalKeyboardKey bracketRight = new PhysicalKeyboardKey(0x00070030, debugName: foundation_.kReleaseMode ? null : "Bracket Right"); public static PhysicalKeyboardKey backslash = new PhysicalKeyboardKey(0x00070031, debugName: foundation_.kReleaseMode ? null : "Backslash"); public static PhysicalKeyboardKey semicolon = new PhysicalKeyboardKey(0x00070033, debugName: foundation_.kReleaseMode ? null : "Semicolon"); public static PhysicalKeyboardKey quote = new PhysicalKeyboardKey(0x00070034, debugName: foundation_.kReleaseMode ? null : "Quote"); public static PhysicalKeyboardKey backquote = new PhysicalKeyboardKey(0x00070035, debugName: foundation_.kReleaseMode ? null : "Backquote"); public static PhysicalKeyboardKey comma = new PhysicalKeyboardKey(0x00070036, debugName: foundation_.kReleaseMode ? null : "Comma"); public static PhysicalKeyboardKey period = new PhysicalKeyboardKey(0x00070037, debugName: foundation_.kReleaseMode ? null : "Period"); public static PhysicalKeyboardKey slash = new PhysicalKeyboardKey(0x00070038, debugName: foundation_.kReleaseMode ? null : "Slash"); public static PhysicalKeyboardKey capsLock = new PhysicalKeyboardKey(0x00070039, debugName: foundation_.kReleaseMode ? null : "Caps Lock"); public static PhysicalKeyboardKey f1 = new PhysicalKeyboardKey(0x0007003a, debugName: foundation_.kReleaseMode ? null : "F1"); public static PhysicalKeyboardKey f2 = new PhysicalKeyboardKey(0x0007003b, debugName: foundation_.kReleaseMode ? null : "F2"); public static PhysicalKeyboardKey f3 = new PhysicalKeyboardKey(0x0007003c, debugName: foundation_.kReleaseMode ? null : "F3"); public static PhysicalKeyboardKey f4 = new PhysicalKeyboardKey(0x0007003d, debugName: foundation_.kReleaseMode ? null : "F4"); public static PhysicalKeyboardKey f5 = new PhysicalKeyboardKey(0x0007003e, debugName: foundation_.kReleaseMode ? null : "F5"); public static PhysicalKeyboardKey f6 = new PhysicalKeyboardKey(0x0007003f, debugName: foundation_.kReleaseMode ? null : "F6"); public static PhysicalKeyboardKey f7 = new PhysicalKeyboardKey(0x00070040, debugName: foundation_.kReleaseMode ? null : "F7"); public static PhysicalKeyboardKey f8 = new PhysicalKeyboardKey(0x00070041, debugName: foundation_.kReleaseMode ? null : "F8"); public static PhysicalKeyboardKey f9 = new PhysicalKeyboardKey(0x00070042, debugName: foundation_.kReleaseMode ? null : "F9"); public static PhysicalKeyboardKey f10 = new PhysicalKeyboardKey(0x00070043, debugName: foundation_.kReleaseMode ? null : "F10"); public static PhysicalKeyboardKey f11 = new PhysicalKeyboardKey(0x00070044, debugName: foundation_.kReleaseMode ? null : "F11"); public static PhysicalKeyboardKey f12 = new PhysicalKeyboardKey(0x00070045, debugName: foundation_.kReleaseMode ? null : "F12"); public static PhysicalKeyboardKey printScreen = new PhysicalKeyboardKey(0x00070046, debugName: foundation_.kReleaseMode ? null : "Print Screen"); public static PhysicalKeyboardKey scrollLock = new PhysicalKeyboardKey(0x00070047, debugName: foundation_.kReleaseMode ? null : "Scroll Lock"); public static PhysicalKeyboardKey pause = new PhysicalKeyboardKey(0x00070048, debugName: foundation_.kReleaseMode ? null : "Pause"); public static PhysicalKeyboardKey insert = new PhysicalKeyboardKey(0x00070049, debugName: foundation_.kReleaseMode ? null : "Insert"); public static PhysicalKeyboardKey home = new PhysicalKeyboardKey(0x0007004a, debugName: foundation_.kReleaseMode ? null : "Home"); public static PhysicalKeyboardKey pageUp = new PhysicalKeyboardKey(0x0007004b, debugName: foundation_.kReleaseMode ? null : "Page Up"); public static PhysicalKeyboardKey delete = new PhysicalKeyboardKey(0x0007004c, debugName: foundation_.kReleaseMode ? null : "Delete"); public static PhysicalKeyboardKey end = new PhysicalKeyboardKey(0x0007004d, debugName: foundation_.kReleaseMode ? null : "End"); public static PhysicalKeyboardKey pageDown = new PhysicalKeyboardKey(0x0007004e, debugName: foundation_.kReleaseMode ? null : "Page Down"); public static PhysicalKeyboardKey arrowRight = new PhysicalKeyboardKey(0x0007004f, debugName: foundation_.kReleaseMode ? null : "Arrow Right"); public static PhysicalKeyboardKey arrowLeft = new PhysicalKeyboardKey(0x00070050, debugName: foundation_.kReleaseMode ? null : "Arrow Left"); public static PhysicalKeyboardKey arrowDown = new PhysicalKeyboardKey(0x00070051, debugName: foundation_.kReleaseMode ? null : "Arrow Down"); public static PhysicalKeyboardKey arrowUp = new PhysicalKeyboardKey(0x00070052, debugName: foundation_.kReleaseMode ? null : "Arrow Up"); public static PhysicalKeyboardKey numLock = new PhysicalKeyboardKey(0x00070053, debugName: foundation_.kReleaseMode ? null : "Num Lock"); public static PhysicalKeyboardKey numpadDivide = new PhysicalKeyboardKey(0x00070054, debugName: foundation_.kReleaseMode ? null : "Numpad Divide"); public static PhysicalKeyboardKey numpadMultiply = new PhysicalKeyboardKey(0x00070055, debugName: foundation_.kReleaseMode ? null : "Numpad Multiply"); public static PhysicalKeyboardKey numpadSubtract = new PhysicalKeyboardKey(0x00070056, debugName: foundation_.kReleaseMode ? null : "Numpad Subtract"); public static PhysicalKeyboardKey numpadAdd = new PhysicalKeyboardKey(0x00070057, debugName: foundation_.kReleaseMode ? null : "Numpad Add"); public static PhysicalKeyboardKey numpadEnter = new PhysicalKeyboardKey(0x00070058, debugName: foundation_.kReleaseMode ? null : "Numpad Enter"); public static PhysicalKeyboardKey numpad1 = new PhysicalKeyboardKey(0x00070059, debugName: foundation_.kReleaseMode ? null : "Numpad 1"); public static PhysicalKeyboardKey numpad2 = new PhysicalKeyboardKey(0x0007005a, debugName: foundation_.kReleaseMode ? null : "Numpad 2"); public static PhysicalKeyboardKey numpad3 = new PhysicalKeyboardKey(0x0007005b, debugName: foundation_.kReleaseMode ? null : "Numpad 3"); public static PhysicalKeyboardKey numpad4 = new PhysicalKeyboardKey(0x0007005c, debugName: foundation_.kReleaseMode ? null : "Numpad 4"); public static PhysicalKeyboardKey numpad5 = new PhysicalKeyboardKey(0x0007005d, debugName: foundation_.kReleaseMode ? null : "Numpad 5"); public static PhysicalKeyboardKey numpad6 = new PhysicalKeyboardKey(0x0007005e, debugName: foundation_.kReleaseMode ? null : "Numpad 6"); public static PhysicalKeyboardKey numpad7 = new PhysicalKeyboardKey(0x0007005f, debugName: foundation_.kReleaseMode ? null : "Numpad 7"); public static PhysicalKeyboardKey numpad8 = new PhysicalKeyboardKey(0x00070060, debugName: foundation_.kReleaseMode ? null : "Numpad 8"); public static PhysicalKeyboardKey numpad9 = new PhysicalKeyboardKey(0x00070061, debugName: foundation_.kReleaseMode ? null : "Numpad 9"); public static PhysicalKeyboardKey numpad0 = new PhysicalKeyboardKey(0x00070062, debugName: foundation_.kReleaseMode ? null : "Numpad 0"); public static PhysicalKeyboardKey numpadDecimal = new PhysicalKeyboardKey(0x00070063, debugName: foundation_.kReleaseMode ? null : "Numpad Decimal"); public static PhysicalKeyboardKey intlBackslash = new PhysicalKeyboardKey(0x00070064, debugName: foundation_.kReleaseMode ? null : "Intl Backslash"); public static PhysicalKeyboardKey contextMenu = new PhysicalKeyboardKey(0x00070065, debugName: foundation_.kReleaseMode ? null : "Context Menu"); public static PhysicalKeyboardKey power = new PhysicalKeyboardKey(0x00070066, debugName: foundation_.kReleaseMode ? null : "Power"); public static PhysicalKeyboardKey numpadEqual = new PhysicalKeyboardKey(0x00070067, debugName: foundation_.kReleaseMode ? null : "Numpad Equal"); public static PhysicalKeyboardKey f13 = new PhysicalKeyboardKey(0x00070068, debugName: foundation_.kReleaseMode ? null : "F13"); public static PhysicalKeyboardKey f14 = new PhysicalKeyboardKey(0x00070069, debugName: foundation_.kReleaseMode ? null : "F14"); public static PhysicalKeyboardKey f15 = new PhysicalKeyboardKey(0x0007006a, debugName: foundation_.kReleaseMode ? null : "F15"); public static PhysicalKeyboardKey f16 = new PhysicalKeyboardKey(0x0007006b, debugName: foundation_.kReleaseMode ? null : "F16"); public static PhysicalKeyboardKey f17 = new PhysicalKeyboardKey(0x0007006c, debugName: foundation_.kReleaseMode ? null : "F17"); public static PhysicalKeyboardKey f18 = new PhysicalKeyboardKey(0x0007006d, debugName: foundation_.kReleaseMode ? null : "F18"); public static PhysicalKeyboardKey f19 = new PhysicalKeyboardKey(0x0007006e, debugName: foundation_.kReleaseMode ? null : "F19"); public static PhysicalKeyboardKey f20 = new PhysicalKeyboardKey(0x0007006f, debugName: foundation_.kReleaseMode ? null : "F20"); public static PhysicalKeyboardKey f21 = new PhysicalKeyboardKey(0x00070070, debugName: foundation_.kReleaseMode ? null : "F21"); public static PhysicalKeyboardKey f22 = new PhysicalKeyboardKey(0x00070071, debugName: foundation_.kReleaseMode ? null : "F22"); public static PhysicalKeyboardKey f23 = new PhysicalKeyboardKey(0x00070072, debugName: foundation_.kReleaseMode ? null : "F23"); public static PhysicalKeyboardKey f24 = new PhysicalKeyboardKey(0x00070073, debugName: foundation_.kReleaseMode ? null : "F24"); public static PhysicalKeyboardKey open = new PhysicalKeyboardKey(0x00070074, debugName: foundation_.kReleaseMode ? null : "Open"); public static PhysicalKeyboardKey help = new PhysicalKeyboardKey(0x00070075, debugName: foundation_.kReleaseMode ? null : "Help"); public static PhysicalKeyboardKey select = new PhysicalKeyboardKey(0x00070077, debugName: foundation_.kReleaseMode ? null : "Select"); public static PhysicalKeyboardKey again = new PhysicalKeyboardKey(0x00070079, debugName: foundation_.kReleaseMode ? null : "Again"); public static PhysicalKeyboardKey undo = new PhysicalKeyboardKey(0x0007007a, debugName: foundation_.kReleaseMode ? null : "Undo"); public static PhysicalKeyboardKey cut = new PhysicalKeyboardKey(0x0007007b, debugName: foundation_.kReleaseMode ? null : "Cut"); public static PhysicalKeyboardKey copy = new PhysicalKeyboardKey(0x0007007c, debugName: foundation_.kReleaseMode ? null : "Copy"); public static PhysicalKeyboardKey paste = new PhysicalKeyboardKey(0x0007007d, debugName: foundation_.kReleaseMode ? null : "Paste"); public static PhysicalKeyboardKey find = new PhysicalKeyboardKey(0x0007007e, debugName: foundation_.kReleaseMode ? null : "Find"); public static PhysicalKeyboardKey audioVolumeMute = new PhysicalKeyboardKey(0x0007007f, debugName: foundation_.kReleaseMode ? null : "Audio Volume Mute"); public static PhysicalKeyboardKey audioVolumeUp = new PhysicalKeyboardKey(0x00070080, debugName: foundation_.kReleaseMode ? null : "Audio Volume Up"); public static PhysicalKeyboardKey audioVolumeDown = new PhysicalKeyboardKey(0x00070081, debugName: foundation_.kReleaseMode ? null : "Audio Volume Down"); public static PhysicalKeyboardKey numpadComma = new PhysicalKeyboardKey(0x00070085, debugName: foundation_.kReleaseMode ? null : "Numpad Comma"); public static PhysicalKeyboardKey intlRo = new PhysicalKeyboardKey(0x00070087, debugName: foundation_.kReleaseMode ? null : "Intl Ro"); public static PhysicalKeyboardKey kanaMode = new PhysicalKeyboardKey(0x00070088, debugName: foundation_.kReleaseMode ? null : "Kana Mode"); public static PhysicalKeyboardKey intlYen = new PhysicalKeyboardKey(0x00070089, debugName: foundation_.kReleaseMode ? null : "Intl Yen"); public static PhysicalKeyboardKey convert = new PhysicalKeyboardKey(0x0007008a, debugName: foundation_.kReleaseMode ? null : "Convert"); public static PhysicalKeyboardKey nonConvert = new PhysicalKeyboardKey(0x0007008b, debugName: foundation_.kReleaseMode ? null : "Non Convert"); public static PhysicalKeyboardKey lang1 = new PhysicalKeyboardKey(0x00070090, debugName: foundation_.kReleaseMode ? null : "Lang 1"); public static PhysicalKeyboardKey lang2 = new PhysicalKeyboardKey(0x00070091, debugName: foundation_.kReleaseMode ? null : "Lang 2"); public static PhysicalKeyboardKey lang3 = new PhysicalKeyboardKey(0x00070092, debugName: foundation_.kReleaseMode ? null : "Lang 3"); public static PhysicalKeyboardKey lang4 = new PhysicalKeyboardKey(0x00070093, debugName: foundation_.kReleaseMode ? null : "Lang 4"); public static PhysicalKeyboardKey lang5 = new PhysicalKeyboardKey(0x00070094, debugName: foundation_.kReleaseMode ? null : "Lang 5"); public static PhysicalKeyboardKey abort = new PhysicalKeyboardKey(0x0007009b, debugName: foundation_.kReleaseMode ? null : "Abort"); public static PhysicalKeyboardKey props = new PhysicalKeyboardKey(0x000700a3, debugName: foundation_.kReleaseMode ? null : "Props"); public static PhysicalKeyboardKey numpadParenLeft = new PhysicalKeyboardKey(0x000700b6, debugName: foundation_.kReleaseMode ? null : "Numpad Paren Left"); public static PhysicalKeyboardKey numpadParenRight = new PhysicalKeyboardKey(0x000700b7, debugName: foundation_.kReleaseMode ? null : "Numpad Paren Right"); public static PhysicalKeyboardKey numpadBackspace = new PhysicalKeyboardKey(0x000700bb, debugName: foundation_.kReleaseMode ? null : "Numpad Backspace"); public static PhysicalKeyboardKey numpadMemoryStore = new PhysicalKeyboardKey(0x000700d0, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Store"); public static PhysicalKeyboardKey numpadMemoryRecall = new PhysicalKeyboardKey(0x000700d1, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Recall"); public static PhysicalKeyboardKey numpadMemoryClear = new PhysicalKeyboardKey(0x000700d2, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Clear"); public static PhysicalKeyboardKey numpadMemoryAdd = new PhysicalKeyboardKey(0x000700d3, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Add"); public static PhysicalKeyboardKey numpadMemorySubtract = new PhysicalKeyboardKey(0x000700d4, debugName: foundation_.kReleaseMode ? null : "Numpad Memory Subtract"); public static PhysicalKeyboardKey numpadSignChange = new PhysicalKeyboardKey(0x000700d7, debugName: foundation_.kReleaseMode ? null : "Numpad Sign Change"); public static PhysicalKeyboardKey numpadClear = new PhysicalKeyboardKey(0x000700d8, debugName: foundation_.kReleaseMode ? null : "Numpad Clear"); public static PhysicalKeyboardKey numpadClearEntry = new PhysicalKeyboardKey(0x000700d9, debugName: foundation_.kReleaseMode ? null : "Numpad Clear Entry"); public static PhysicalKeyboardKey controlLeft = new PhysicalKeyboardKey(0x000700e0, debugName: foundation_.kReleaseMode ? null : "Control Left"); public static PhysicalKeyboardKey shiftLeft = new PhysicalKeyboardKey(0x000700e1, debugName: foundation_.kReleaseMode ? null : "Shift Left"); public static PhysicalKeyboardKey altLeft = new PhysicalKeyboardKey(0x000700e2, debugName: foundation_.kReleaseMode ? null : "Alt Left"); public static PhysicalKeyboardKey metaLeft = new PhysicalKeyboardKey(0x000700e3, debugName: foundation_.kReleaseMode ? null : "Meta Left"); public static PhysicalKeyboardKey controlRight = new PhysicalKeyboardKey(0x000700e4, debugName: foundation_.kReleaseMode ? null : "Control Right"); public static PhysicalKeyboardKey shiftRight = new PhysicalKeyboardKey(0x000700e5, debugName: foundation_.kReleaseMode ? null : "Shift Right"); public static PhysicalKeyboardKey altRight = new PhysicalKeyboardKey(0x000700e6, debugName: foundation_.kReleaseMode ? null : "Alt Right"); public static PhysicalKeyboardKey metaRight = new PhysicalKeyboardKey(0x000700e7, debugName: foundation_.kReleaseMode ? null : "Meta Right"); public static PhysicalKeyboardKey info = new PhysicalKeyboardKey(0x000c0060, debugName: foundation_.kReleaseMode ? null : "Info"); public static PhysicalKeyboardKey closedCaptionToggle = new PhysicalKeyboardKey(0x000c0061, debugName: foundation_.kReleaseMode ? null : "Closed Caption Toggle"); public static PhysicalKeyboardKey brightnessUp = new PhysicalKeyboardKey(0x000c006f, debugName: foundation_.kReleaseMode ? null : "Brightness Up"); public static PhysicalKeyboardKey brightnessDown = new PhysicalKeyboardKey(0x000c0070, debugName: foundation_.kReleaseMode ? null : "Brightness Down"); public static PhysicalKeyboardKey brightnessToggle = new PhysicalKeyboardKey(0x000c0072, debugName: foundation_.kReleaseMode ? null : "Brightness Toggle"); public static PhysicalKeyboardKey brightnessMinimum = new PhysicalKeyboardKey(0x000c0073, debugName: foundation_.kReleaseMode ? null : "Brightness Minimum"); public static PhysicalKeyboardKey brightnessMaximum = new PhysicalKeyboardKey(0x000c0074, debugName: foundation_.kReleaseMode ? null : "Brightness Maximum"); public static PhysicalKeyboardKey brightnessAuto = new PhysicalKeyboardKey(0x000c0075, debugName: foundation_.kReleaseMode ? null : "Brightness Auto"); public static PhysicalKeyboardKey mediaLast = new PhysicalKeyboardKey(0x000c0083, debugName: foundation_.kReleaseMode ? null : "Media Last"); public static PhysicalKeyboardKey launchPhone = new PhysicalKeyboardKey(0x000c008c, debugName: foundation_.kReleaseMode ? null : "Launch Phone"); public static PhysicalKeyboardKey programGuide = new PhysicalKeyboardKey(0x000c008d, debugName: foundation_.kReleaseMode ? null : "Program Guide"); public static PhysicalKeyboardKey exit = new PhysicalKeyboardKey(0x000c0094, debugName: foundation_.kReleaseMode ? null : "Exit"); public static PhysicalKeyboardKey channelUp = new PhysicalKeyboardKey(0x000c009c, debugName: foundation_.kReleaseMode ? null : "Channel Up"); public static PhysicalKeyboardKey channelDown = new PhysicalKeyboardKey(0x000c009d, debugName: foundation_.kReleaseMode ? null : "Channel Down"); public static PhysicalKeyboardKey mediaPlay = new PhysicalKeyboardKey(0x000c00b0, debugName: foundation_.kReleaseMode ? null : "Media Play"); public static PhysicalKeyboardKey mediaPause = new PhysicalKeyboardKey(0x000c00b1, debugName: foundation_.kReleaseMode ? null : "Media Pause"); public static PhysicalKeyboardKey mediaRecord = new PhysicalKeyboardKey(0x000c00b2, debugName: foundation_.kReleaseMode ? null : "Media Record"); public static PhysicalKeyboardKey mediaFastForward = new PhysicalKeyboardKey(0x000c00b3, debugName: foundation_.kReleaseMode ? null : "Media Fast Forward"); public static PhysicalKeyboardKey mediaRewind = new PhysicalKeyboardKey(0x000c00b4, debugName: foundation_.kReleaseMode ? null : "Media Rewind"); public static PhysicalKeyboardKey mediaTrackNext = new PhysicalKeyboardKey(0x000c00b5, debugName: foundation_.kReleaseMode ? null : "Media Track Next"); public static PhysicalKeyboardKey mediaTrackPrevious = new PhysicalKeyboardKey(0x000c00b6, debugName: foundation_.kReleaseMode ? null : "Media Track Previous"); public static PhysicalKeyboardKey mediaStop = new PhysicalKeyboardKey(0x000c00b7, debugName: foundation_.kReleaseMode ? null : "Media Stop"); public static PhysicalKeyboardKey eject = new PhysicalKeyboardKey(0x000c00b8, debugName: foundation_.kReleaseMode ? null : "Eject"); public static PhysicalKeyboardKey mediaPlayPause = new PhysicalKeyboardKey(0x000c00cd, debugName: foundation_.kReleaseMode ? null : "Media Play Pause"); public static PhysicalKeyboardKey speechInputToggle = new PhysicalKeyboardKey(0x000c00cf, debugName: foundation_.kReleaseMode ? null : "Speech Input Toggle"); public static PhysicalKeyboardKey bassBoost = new PhysicalKeyboardKey(0x000c00e5, debugName: foundation_.kReleaseMode ? null : "Bass Boost"); public static PhysicalKeyboardKey mediaSelect = new PhysicalKeyboardKey(0x000c0183, debugName: foundation_.kReleaseMode ? null : "Media Select"); public static PhysicalKeyboardKey launchWordProcessor = new PhysicalKeyboardKey(0x000c0184, debugName: foundation_.kReleaseMode ? null : "Launch Word Processor"); public static PhysicalKeyboardKey launchSpreadsheet = new PhysicalKeyboardKey(0x000c0186, debugName: foundation_.kReleaseMode ? null : "Launch Spreadsheet"); public static PhysicalKeyboardKey launchMail = new PhysicalKeyboardKey(0x000c018a, debugName: foundation_.kReleaseMode ? null : "Launch Mail"); public static PhysicalKeyboardKey launchContacts = new PhysicalKeyboardKey(0x000c018d, debugName: foundation_.kReleaseMode ? null : "Launch Contacts"); public static PhysicalKeyboardKey launchCalendar = new PhysicalKeyboardKey(0x000c018e, debugName: foundation_.kReleaseMode ? null : "Launch Calendar"); public static PhysicalKeyboardKey launchApp2 = new PhysicalKeyboardKey(0x000c0192, debugName: foundation_.kReleaseMode ? null : "Launch App2"); public static PhysicalKeyboardKey launchApp1 = new PhysicalKeyboardKey(0x000c0194, debugName: foundation_.kReleaseMode ? null : "Launch App1"); public static PhysicalKeyboardKey launchInternetBrowser = new PhysicalKeyboardKey(0x000c0196, debugName: foundation_.kReleaseMode ? null : "Launch Internet Browser"); public static PhysicalKeyboardKey logOff = new PhysicalKeyboardKey(0x000c019c, debugName: foundation_.kReleaseMode ? null : "Log Off"); public static PhysicalKeyboardKey lockScreen = new PhysicalKeyboardKey(0x000c019e, debugName: foundation_.kReleaseMode ? null : "Lock Screen"); public static PhysicalKeyboardKey launchControlPanel = new PhysicalKeyboardKey(0x000c019f, debugName: foundation_.kReleaseMode ? null : "Launch Control Panel"); public static PhysicalKeyboardKey selectTask = new PhysicalKeyboardKey(0x000c01a2, debugName: foundation_.kReleaseMode ? null : "Select Task"); public static PhysicalKeyboardKey launchDocuments = new PhysicalKeyboardKey(0x000c01a7, debugName: foundation_.kReleaseMode ? null : "Launch Documents"); public static PhysicalKeyboardKey spellCheck = new PhysicalKeyboardKey(0x000c01ab, debugName: foundation_.kReleaseMode ? null : "Spell Check"); public static PhysicalKeyboardKey launchKeyboardLayout = new PhysicalKeyboardKey(0x000c01ae, debugName: foundation_.kReleaseMode ? null : "Launch Keyboard Layout"); public static PhysicalKeyboardKey launchScreenSaver = new PhysicalKeyboardKey(0x000c01b1, debugName: foundation_.kReleaseMode ? null : "Launch Screen Saver"); public static PhysicalKeyboardKey launchAssistant = new PhysicalKeyboardKey(0x000c01cb, debugName: foundation_.kReleaseMode ? null : "Launch Assistant"); public static PhysicalKeyboardKey launchAudioBrowser = new PhysicalKeyboardKey(0x000c01b7, debugName: foundation_.kReleaseMode ? null : "Launch Audio Browser"); public static PhysicalKeyboardKey newKey = new PhysicalKeyboardKey(0x000c0201, debugName: foundation_.kReleaseMode ? null : "New Key"); public static PhysicalKeyboardKey close = new PhysicalKeyboardKey(0x000c0203, debugName: foundation_.kReleaseMode ? null : "Close"); public static PhysicalKeyboardKey save = new PhysicalKeyboardKey(0x000c0207, debugName: foundation_.kReleaseMode ? null : "Save"); public static PhysicalKeyboardKey print = new PhysicalKeyboardKey(0x000c0208, debugName: foundation_.kReleaseMode ? null : "Print"); public static PhysicalKeyboardKey browserSearch = new PhysicalKeyboardKey(0x000c0221, debugName: foundation_.kReleaseMode ? null : "Browser Search"); public static PhysicalKeyboardKey browserHome = new PhysicalKeyboardKey(0x000c0223, debugName: foundation_.kReleaseMode ? null : "Browser Home"); public static PhysicalKeyboardKey browserBack = new PhysicalKeyboardKey(0x000c0224, debugName: foundation_.kReleaseMode ? null : "Browser Back"); public static PhysicalKeyboardKey browserForward = new PhysicalKeyboardKey(0x000c0225, debugName: foundation_.kReleaseMode ? null : "Browser Forward"); public static PhysicalKeyboardKey browserStop = new PhysicalKeyboardKey(0x000c0226, debugName: foundation_.kReleaseMode ? null : "Browser Stop"); public static PhysicalKeyboardKey browserRefresh = new PhysicalKeyboardKey(0x000c0227, debugName: foundation_.kReleaseMode ? null : "Browser Refresh"); public static PhysicalKeyboardKey browserFavorites = new PhysicalKeyboardKey(0x000c022a, debugName: foundation_.kReleaseMode ? null : "Browser Favorites"); public static PhysicalKeyboardKey zoomIn = new PhysicalKeyboardKey(0x000c022d, debugName: foundation_.kReleaseMode ? null : "Zoom In"); public static PhysicalKeyboardKey zoomOut = new PhysicalKeyboardKey(0x000c022e, debugName: foundation_.kReleaseMode ? null : "Zoom Out"); public static PhysicalKeyboardKey zoomToggle = new PhysicalKeyboardKey(0x000c0232, debugName: foundation_.kReleaseMode ? null : "Zoom Toggle"); public static PhysicalKeyboardKey redo = new PhysicalKeyboardKey(0x000c0279, debugName: foundation_.kReleaseMode ? null : "Redo"); public static PhysicalKeyboardKey mailReply = new PhysicalKeyboardKey(0x000c0289, debugName: foundation_.kReleaseMode ? null : "Mail Reply"); public static PhysicalKeyboardKey mailForward = new PhysicalKeyboardKey(0x000c028b, debugName: foundation_.kReleaseMode ? null : "Mail Forward"); public static PhysicalKeyboardKey mailSend = new PhysicalKeyboardKey(0x000c028c, debugName: foundation_.kReleaseMode ? null : "Mail Send"); public static PhysicalKeyboardKey keyboardLayoutSelect = new PhysicalKeyboardKey(0x000c029d, debugName: foundation_.kReleaseMode ? null : "Keyboard Layout Select"); public static PhysicalKeyboardKey showAllWindows = new PhysicalKeyboardKey(0x000c029f, debugName: foundation_.kReleaseMode ? null : "Show All Windows"); public static PhysicalKeyboardKey gameButton1 = new PhysicalKeyboardKey(0x0005ff01, debugName: foundation_.kReleaseMode ? null : "Game Button 1"); public static PhysicalKeyboardKey gameButton2 = new PhysicalKeyboardKey(0x0005ff02, debugName: foundation_.kReleaseMode ? null : "Game Button 2"); public static PhysicalKeyboardKey gameButton3 = new PhysicalKeyboardKey(0x0005ff03, debugName: foundation_.kReleaseMode ? null : "Game Button 3"); public static PhysicalKeyboardKey gameButton4 = new PhysicalKeyboardKey(0x0005ff04, debugName: foundation_.kReleaseMode ? null : "Game Button 4"); public static PhysicalKeyboardKey gameButton5 = new PhysicalKeyboardKey(0x0005ff05, debugName: foundation_.kReleaseMode ? null : "Game Button 5"); public static PhysicalKeyboardKey gameButton6 = new PhysicalKeyboardKey(0x0005ff06, debugName: foundation_.kReleaseMode ? null : "Game Button 6"); public static PhysicalKeyboardKey gameButton7 = new PhysicalKeyboardKey(0x0005ff07, debugName: foundation_.kReleaseMode ? null : "Game Button 7"); public static PhysicalKeyboardKey gameButton8 = new PhysicalKeyboardKey(0x0005ff08, debugName: foundation_.kReleaseMode ? null : "Game Button 8"); public static PhysicalKeyboardKey gameButton9 = new PhysicalKeyboardKey(0x0005ff09, debugName: foundation_.kReleaseMode ? null : "Game Button 9"); public static PhysicalKeyboardKey gameButton10 = new PhysicalKeyboardKey(0x0005ff0a, debugName: foundation_.kReleaseMode ? null : "Game Button 10"); public static PhysicalKeyboardKey gameButton11 = new PhysicalKeyboardKey(0x0005ff0b, debugName: foundation_.kReleaseMode ? null : "Game Button 11"); public static PhysicalKeyboardKey gameButton12 = new PhysicalKeyboardKey(0x0005ff0c, debugName: foundation_.kReleaseMode ? null : "Game Button 12"); public static PhysicalKeyboardKey gameButton13 = new PhysicalKeyboardKey(0x0005ff0d, debugName: foundation_.kReleaseMode ? null : "Game Button 13"); public static PhysicalKeyboardKey gameButton14 = new PhysicalKeyboardKey(0x0005ff0e, debugName: foundation_.kReleaseMode ? null : "Game Button 14"); public static PhysicalKeyboardKey gameButton15 = new PhysicalKeyboardKey(0x0005ff0f, debugName: foundation_.kReleaseMode ? null : "Game Button 15"); public static PhysicalKeyboardKey gameButton16 = new PhysicalKeyboardKey(0x0005ff10, debugName: foundation_.kReleaseMode ? null : "Game Button 16"); public static PhysicalKeyboardKey gameButtonA = new PhysicalKeyboardKey(0x0005ff11, debugName: foundation_.kReleaseMode ? null : "Game Button A"); public static PhysicalKeyboardKey gameButtonB = new PhysicalKeyboardKey(0x0005ff12, debugName: foundation_.kReleaseMode ? null : "Game Button B"); public static PhysicalKeyboardKey gameButtonC = new PhysicalKeyboardKey(0x0005ff13, debugName: foundation_.kReleaseMode ? null : "Game Button C"); public static PhysicalKeyboardKey gameButtonLeft1 = new PhysicalKeyboardKey(0x0005ff14, debugName: foundation_.kReleaseMode ? null : "Game Button Left 1"); public static PhysicalKeyboardKey gameButtonLeft2 = new PhysicalKeyboardKey(0x0005ff15, debugName: foundation_.kReleaseMode ? null : "Game Button Left 2"); public static PhysicalKeyboardKey gameButtonMode = new PhysicalKeyboardKey(0x0005ff16, debugName: foundation_.kReleaseMode ? null : "Game Button Mode"); public static PhysicalKeyboardKey gameButtonRight1 = new PhysicalKeyboardKey(0x0005ff17, debugName: foundation_.kReleaseMode ? null : "Game Button Right 1"); public static PhysicalKeyboardKey gameButtonRight2 = new PhysicalKeyboardKey(0x0005ff18, debugName: foundation_.kReleaseMode ? null : "Game Button Right 2"); public static PhysicalKeyboardKey gameButtonSelect = new PhysicalKeyboardKey(0x0005ff19, debugName: foundation_.kReleaseMode ? null : "Game Button Select"); public static PhysicalKeyboardKey gameButtonStart = new PhysicalKeyboardKey(0x0005ff1a, debugName: foundation_.kReleaseMode ? null : "Game Button Start"); public static PhysicalKeyboardKey gameButtonThumbLeft = new PhysicalKeyboardKey(0x0005ff1b, debugName: foundation_.kReleaseMode ? null : "Game Button Thumb Left"); public static PhysicalKeyboardKey gameButtonThumbRight = new PhysicalKeyboardKey(0x0005ff1c, debugName: foundation_.kReleaseMode ? null : "Game Button Thumb Right"); public static PhysicalKeyboardKey gameButtonX = new PhysicalKeyboardKey(0x0005ff1d, debugName: foundation_.kReleaseMode ? null : "Game Button X"); public static PhysicalKeyboardKey gameButtonY = new PhysicalKeyboardKey(0x0005ff1e, debugName: foundation_.kReleaseMode ? null : "Game Button Y"); public static PhysicalKeyboardKey gameButtonZ = new PhysicalKeyboardKey(0x0005ff1f, debugName: foundation_.kReleaseMode ? null : "Game Button Z"); public static PhysicalKeyboardKey fn = new PhysicalKeyboardKey(0x00000012, debugName: foundation_.kReleaseMode ? null : "Fn"); public static readonly Dictionary _knownPhysicalKeys = new Dictionary() { {0x00000000, none}, {0x00000010, hyper}, {0x00000011, superKey}, {0x00000013, fnLock}, {0x00000014, suspend}, {0x00000015, resume}, {0x00000016, turbo}, {0x00000017, privacyScreenToggle}, {0x00010082, sleep}, {0x00010083, wakeUp}, {0x000100b5, displayToggleIntExt}, {0x00070000, usbReserved}, {0x00070001, usbErrorRollOver}, {0x00070002, usbPostFail}, {0x00070003, usbErrorUndefined}, {0x00070004, keyA}, {0x00070005, keyB}, {0x00070006, keyC}, {0x00070007, keyD}, {0x00070008, keyE}, {0x00070009, keyF}, {0x0007000a, keyG}, {0x0007000b, keyH}, {0x0007000c, keyI}, {0x0007000d, keyJ}, {0x0007000e, keyK}, {0x0007000f, keyL}, {0x00070010, keyM}, {0x00070011, keyN}, {0x00070012, keyO}, {0x00070013, keyP}, {0x00070014, keyQ}, {0x00070015, keyR}, {0x00070016, keyS}, {0x00070017, keyT}, {0x00070018, keyU}, {0x00070019, keyV}, {0x0007001a, keyW}, {0x0007001b, keyX}, {0x0007001c, keyY}, {0x0007001d, keyZ}, {0x0007001e, digit1}, {0x0007001f, digit2}, {0x00070020, digit3}, {0x00070021, digit4}, {0x00070022, digit5}, {0x00070023, digit6}, {0x00070024, digit7}, {0x00070025, digit8}, {0x00070026, digit9}, {0x00070027, digit0}, {0x00070028, enter}, {0x00070029, escape}, {0x0007002a, backspace}, {0x0007002b, tab}, {0x0007002c, space}, {0x0007002d, minus}, {0x0007002e, equal}, {0x0007002f, bracketLeft}, {0x00070030, bracketRight}, {0x00070031, backslash}, {0x00070033, semicolon}, {0x00070034, quote}, {0x00070035, backquote}, {0x00070036, comma}, {0x00070037, period}, {0x00070038, slash}, {0x00070039, capsLock}, {0x0007003a, f1}, {0x0007003b, f2}, {0x0007003c, f3}, {0x0007003d, f4}, {0x0007003e, f5}, {0x0007003f, f6}, {0x00070040, f7}, {0x00070041, f8}, {0x00070042, f9}, {0x00070043, f10}, {0x00070044, f11}, {0x00070045, f12}, {0x00070046, printScreen}, {0x00070047, scrollLock}, {0x00070048, pause}, {0x00070049, insert}, {0x0007004a, home}, {0x0007004b, pageUp}, {0x0007004c, delete}, {0x0007004d, end}, {0x0007004e, pageDown}, {0x0007004f, arrowRight}, {0x00070050, arrowLeft}, {0x00070051, arrowDown}, {0x00070052, arrowUp}, {0x00070053, numLock}, {0x00070054, numpadDivide}, {0x00070055, numpadMultiply}, {0x00070056, numpadSubtract}, {0x00070057, numpadAdd}, {0x00070058, numpadEnter}, {0x00070059, numpad1}, {0x0007005a, numpad2}, {0x0007005b, numpad3}, {0x0007005c, numpad4}, {0x0007005d, numpad5}, {0x0007005e, numpad6}, {0x0007005f, numpad7}, {0x00070060, numpad8}, {0x00070061, numpad9}, {0x00070062, numpad0}, {0x00070063, numpadDecimal}, {0x00070064, intlBackslash}, {0x00070065, contextMenu}, {0x00070066, power}, {0x00070067, numpadEqual}, {0x00070068, f13}, {0x00070069, f14}, {0x0007006a, f15}, {0x0007006b, f16}, {0x0007006c, f17}, {0x0007006d, f18}, {0x0007006e, f19}, {0x0007006f, f20}, {0x00070070, f21}, {0x00070071, f22}, {0x00070072, f23}, {0x00070073, f24}, {0x00070074, open}, {0x00070075, help}, {0x00070077, select}, {0x00070079, again}, {0x0007007a, undo}, {0x0007007b, cut}, {0x0007007c, copy}, {0x0007007d, paste}, {0x0007007e, find}, {0x0007007f, audioVolumeMute}, {0x00070080, audioVolumeUp}, {0x00070081, audioVolumeDown}, {0x00070085, numpadComma}, {0x00070087, intlRo}, {0x00070088, kanaMode}, {0x00070089, intlYen}, {0x0007008a, convert}, {0x0007008b, nonConvert}, {0x00070090, lang1}, {0x00070091, lang2}, {0x00070092, lang3}, {0x00070093, lang4}, {0x00070094, lang5}, {0x0007009b, abort}, {0x000700a3, props}, {0x000700b6, numpadParenLeft}, {0x000700b7, numpadParenRight}, {0x000700bb, numpadBackspace}, {0x000700d0, numpadMemoryStore}, {0x000700d1, numpadMemoryRecall}, {0x000700d2, numpadMemoryClear}, {0x000700d3, numpadMemoryAdd}, {0x000700d4, numpadMemorySubtract}, {0x000700d7, numpadSignChange}, {0x000700d8, numpadClear}, {0x000700d9, numpadClearEntry}, {0x000700e0, controlLeft}, {0x000700e1, shiftLeft}, {0x000700e2, altLeft}, {0x000700e3, metaLeft}, {0x000700e4, controlRight}, {0x000700e5, shiftRight}, {0x000700e6, altRight}, {0x000700e7, metaRight}, {0x000c0060, info}, {0x000c0061, closedCaptionToggle}, {0x000c006f, brightnessUp}, {0x000c0070, brightnessDown}, {0x000c0072, brightnessToggle}, {0x000c0073, brightnessMinimum}, {0x000c0074, brightnessMaximum}, {0x000c0075, brightnessAuto}, {0x000c0083, mediaLast}, {0x000c008c, launchPhone}, {0x000c008d, programGuide}, {0x000c0094, exit}, {0x000c009c, channelUp}, {0x000c009d, channelDown}, {0x000c00b0, mediaPlay}, {0x000c00b1, mediaPause}, {0x000c00b2, mediaRecord}, {0x000c00b3, mediaFastForward}, {0x000c00b4, mediaRewind}, {0x000c00b5, mediaTrackNext}, {0x000c00b6, mediaTrackPrevious}, {0x000c00b7, mediaStop}, {0x000c00b8, eject}, {0x000c00cd, mediaPlayPause}, {0x000c00cf, speechInputToggle}, {0x000c00e5, bassBoost}, {0x000c0183, mediaSelect}, {0x000c0184, launchWordProcessor}, {0x000c0186, launchSpreadsheet}, {0x000c018a, launchMail}, {0x000c018d, launchContacts}, {0x000c018e, launchCalendar}, {0x000c0192, launchApp2}, {0x000c0194, launchApp1}, {0x000c0196, launchInternetBrowser}, {0x000c019c, logOff}, {0x000c019e, lockScreen}, {0x000c019f, launchControlPanel}, {0x000c01a2, selectTask}, {0x000c01a7, launchDocuments}, {0x000c01ab, spellCheck}, {0x000c01ae, launchKeyboardLayout}, {0x000c01b1, launchScreenSaver}, {0x000c01cb, launchAssistant}, {0x000c01b7, launchAudioBrowser}, {0x000c0201, newKey}, {0x000c0203, close}, {0x000c0207, save}, {0x000c0208, print}, {0x000c0221, browserSearch}, {0x000c0223, browserHome}, {0x000c0224, browserBack}, {0x000c0225, browserForward}, {0x000c0226, browserStop}, {0x000c0227, browserRefresh}, {0x000c022a, browserFavorites}, {0x000c022d, zoomIn}, {0x000c022e, zoomOut}, {0x000c0232, zoomToggle}, {0x000c0279, redo}, {0x000c0289, mailReply}, {0x000c028b, mailForward}, {0x000c028c, mailSend}, {0x000c029d, keyboardLayoutSelect}, {0x000c029f, showAllWindows}, {0x0005ff01, gameButton1}, {0x0005ff02, gameButton2}, {0x0005ff03, gameButton3}, {0x0005ff04, gameButton4}, {0x0005ff05, gameButton5}, {0x0005ff06, gameButton6}, {0x0005ff07, gameButton7}, {0x0005ff08, gameButton8}, {0x0005ff09, gameButton9}, {0x0005ff0a, gameButton10}, {0x0005ff0b, gameButton11}, {0x0005ff0c, gameButton12}, {0x0005ff0d, gameButton13}, {0x0005ff0e, gameButton14}, {0x0005ff0f, gameButton15}, {0x0005ff10, gameButton16}, {0x0005ff11, gameButtonA}, {0x0005ff12, gameButtonB}, {0x0005ff13, gameButtonC}, {0x0005ff14, gameButtonLeft1}, {0x0005ff15, gameButtonLeft2}, {0x0005ff16, gameButtonMode}, {0x0005ff17, gameButtonRight1}, {0x0005ff18, gameButtonRight2}, {0x0005ff19, gameButtonSelect}, {0x0005ff1a, gameButtonStart}, {0x0005ff1b, gameButtonThumbLeft}, {0x0005ff1c, gameButtonThumbRight}, {0x0005ff1d, gameButtonX}, {0x0005ff1e, gameButtonY}, {0x0005ff1f, gameButtonZ}, {0x00000012, fn} }; } }