From b34b29cf277ff068c53cf5e3730419685ca44dee Mon Sep 17 00:00:00 2001 From: Patrick Desaulniers Date: Mon, 26 Aug 2019 18:21:46 -0400 Subject: [PATCH] Expose keycodes in Base.hpp --- dgl/Base.hpp | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/dgl/Base.hpp b/dgl/Base.hpp index 90377883..0feda98a 100644 --- a/dgl/Base.hpp +++ b/dgl/Base.hpp @@ -86,6 +86,140 @@ enum Key { kKeySuper }; +/** + Layout-independent keycodes. + These keycodes are relative to an US QWERTY keyboard. + Therefore, the keycode for the letter 'A' on an AZERTY keyboard will be equal to kKeyCodeQ. + */ +enum KeyCode { + /* Zero, does not correspond to any key. */ + kKeyCodeNone = 0, + + kKeyCodeA = 4, + kKeyCodeB = 5, + kKeyCodeC = 6, + kKeyCodeD = 7, + kKeyCodeE = 8, + kKeyCodeF = 9, + kKeyCodeG = 10, + kKeyCodeH = 11, + kKeyCodeI = 12, + kKeyCodeJ = 13, + kKeyCodeK = 14, + kKeyCodeL = 15, + kKeyCodeM = 16, + kKeyCodeN = 17, + kKeyCodeO = 18, + kKeyCodeP = 19, + kKeyCodeQ = 20, + kKeyCodeR = 21, + kKeyCodeS = 22, + kKeyCodeT = 23, + kKeyCodeU = 24, + kKeyCodeV = 25, + kKeyCodeW = 26, + kKeyCodeX = 27, + kKeyCodeY = 28, + kKeyCodeZ = 29, + kKeyCode1 = 30, + kKeyCode2 = 31, + kKeyCode3 = 32, + kKeyCode4 = 33, + kKeyCode5 = 34, + kKeyCode6 = 35, + kKeyCode7 = 36, + kKeyCode8 = 37, + kKeyCode9 = 38, + kKeyCode0 = 39, + kKeyCodeEscape = 41, + kKeyCodeDelete = 42, + kKeyCodeTab = 43, + kKeyCodeSpace = 44, + kKeyCodeMinus = 45, + kKeyCodeEquals = 46, + kKeyCodeLeftBracket = 47, + kKeyCodeRightBracket = 48, + kKeyCodeBackslash = 49, + kKeyCodeSemicolon = 51, + kKeyCodeQuote = 52, + kKeyCodeGrave = 53, + kKeyCodeComma = 54, + kKeyCodePeriod = 55, + kKeyCodeSlash = 56, + kKeyCodeCapsLock = 57, + kKeyCodeF1 = 58, + kKeyCodeF2 = 59, + kKeyCodeF3 = 60, + kKeyCodeF4 = 61, + kKeyCodeF5 = 62, + kKeyCodeF6 = 63, + kKeyCodeF7 = 64, + kKeyCodeF8 = 65, + kKeyCodeF9 = 66, + kKeyCodeF10 = 67, + kKeyCodeF11 = 68, + kKeyCodeF12 = 69, + kKeyCodePrintScreen = 70, + kKeyCodeScrollLock = 71, + kKeyCodePause = 72, + kKeyCodeInsert = 73, + kKeyCodeHome = 74, + kKeyCodePageUp = 75, + kKeyCodeDeleteForward = 76, + kKeyCodeEnd = 77, + kKeyCodePageDown = 78, + kKeyCodeRight = 79, + kKeyCodeLeft = 80, + kKeyCodeDown = 81, + kKeyCodeUp = 82, + kKeyCodeKP_NumLock = 83, + kKeyCodeKP_Divide = 84, + kKeyCodeKP_Multiply = 85, + kKeyCodeKP_Subtract = 86, + kKeyCodeKP_Add = 87, + kKeyCodeKP_Enter = 88, + kKeyCodeKP_1 = 89, + kKeyCodeKP_2 = 90, + kKeyCodeKP_3 = 91, + kKeyCodeKP_4 = 92, + kKeyCodeKP_5 = 93, + kKeyCodeKP_6 = 94, + kKeyCodeKP_7 = 95, + kKeyCodeKP_8 = 96, + kKeyCodeKP_9 = 97, + kKeyCodeKP_0 = 98, + kKeyCodePoint = 99, + kKeyCodeNonUSBackslash = 100, + kKeyCodeKP_Equals = 103, + kKeyCodeF13 = 104, + kKeyCodeF14 = 105, + kKeyCodeF15 = 106, + kKeyCodeF16 = 107, + kKeyCodeF17 = 108, + kKeyCodeF18 = 109, + kKeyCodeF19 = 110, + kKeyCodeF20 = 111, + kKeyCodeF21 = 112, + kKeyCodeF22 = 113, + kKeyCodeF23 = 114, + kKeyCodeF24 = 115, + kKeyCodeHelp = 117, + kKeyCodeMenu = 118, + kKeyCodeMute = 127, + kKeyCodeSysReq = 154, + kKeyCodeReturn = 158, + kKeyCodeKP_Clear = 216, + kKeyCodeKP_Decimal = 220, + kKeyCodeLeftControl = 224, + kKeyCodeLeftShift = 225, + kKeyCodeLeftAlt = 226, + kKeyCodeLeftGUI = 227, + kKeyCodeRightControl = 228, + kKeyCodeRightShift = 229, + kKeyCodeRightAlt = 230, + kKeyCodeRightGUI = 231 +}; + // ----------------------------------------------------------------------- // Base DGL classes