MCPcopy Create free account
hub / github.com/bluescan/tacentview / InitKeyNameTables

Method InitKeyNameTables

Src/InputBindings.cpp:53–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51
52
53void Bindings::InitKeyNameTables()
54{
55 tMemset(KeyNameTable, 0, tNumElements(KeyNameTable));
56
57 tsPrintf(KeyNameTable[GLFW_KEY_SPACE], "Space");
58 KeyNameTable[GLFW_KEY_APOSTROPHE][0] = GLFW_KEY_APOSTROPHE;
59 KeyNameTable[GLFW_KEY_COMMA][0] = '<';
60 KeyNameTable[GLFW_KEY_MINUS][0] = GLFW_KEY_MINUS;
61 KeyNameTable[GLFW_KEY_PERIOD][0] = '>';
62 KeyNameTable[GLFW_KEY_SLASH][0] = GLFW_KEY_SLASH;
63
64 // We do blocks of consecutive values when we can. Most of the glfw keys map to ascii.
65 for (int key = GLFW_KEY_0; key <= GLFW_KEY_9; key++)
66 KeyNameTable[key][0] = key;
67
68 KeyNameTable[GLFW_KEY_SEMICOLON][0] = GLFW_KEY_SEMICOLON;
69 KeyNameTable[GLFW_KEY_EQUAL][0] = GLFW_KEY_EQUAL;
70
71 for (int key = GLFW_KEY_A; key <= GLFW_KEY_Z; key++)
72 KeyNameTable[key][0] = key;
73
74 KeyNameTable[GLFW_KEY_LEFT_BRACKET][0] = GLFW_KEY_LEFT_BRACKET;
75 KeyNameTable[GLFW_KEY_BACKSLASH][0] = GLFW_KEY_BACKSLASH;
76 KeyNameTable[GLFW_KEY_RIGHT_BRACKET][0] = GLFW_KEY_RIGHT_BRACKET;
77 KeyNameTable[GLFW_KEY_GRAVE_ACCENT][0] = '~';
78
79 tsPrintf(KeyNameTable[GLFW_KEY_ESCAPE], "Esc");
80 tsPrintf(KeyNameTable[GLFW_KEY_ENTER], "Enter");
81 tsPrintf(KeyNameTable[GLFW_KEY_TAB], "Tab");
82 tsPrintf(KeyNameTable[GLFW_KEY_BACKSPACE], "Back");
83 tsPrintf(KeyNameTable[GLFW_KEY_INSERT], "Ins");
84 tsPrintf(KeyNameTable[GLFW_KEY_DELETE], "Del");
85
86 tsPrintf(KeyNameTable[GLFW_KEY_RIGHT], "Right");
87 tsPrintf(KeyNameTable[GLFW_KEY_LEFT], "Left");
88 tsPrintf(KeyNameTable[GLFW_KEY_DOWN], "Down");
89 tsPrintf(KeyNameTable[GLFW_KEY_UP], "Up");
90
91 tsPrintf(KeyNameTable[GLFW_KEY_PAGE_UP], "PgUp");
92 tsPrintf(KeyNameTable[GLFW_KEY_PAGE_DOWN], "PgDn");
93 tsPrintf(KeyNameTable[GLFW_KEY_HOME], "Home");
94 tsPrintf(KeyNameTable[GLFW_KEY_END], "End");
95
96 // We're going to skip F13 to F25 here. No normal keyboard has them.
97 for (int idx = 0; idx <= GLFW_KEY_F12-GLFW_KEY_F1; idx++)
98 tsPrintf(KeyNameTable[GLFW_KEY_F1+idx], "F%d", idx+1);
99
100 for (int idx = 0; idx <= GLFW_KEY_KP_9-GLFW_KEY_KP_0; idx++)
101 tsPrintf(KeyNameTable[GLFW_KEY_KP_0+idx], "KP%d", idx);
102
103 tsPrintf(KeyNameTable[GLFW_KEY_KP_DECIMAL], "KP.");
104 tsPrintf(KeyNameTable[GLFW_KEY_KP_DIVIDE], "KP/");
105 tsPrintf(KeyNameTable[GLFW_KEY_KP_MULTIPLY], "KP*");
106 tsPrintf(KeyNameTable[GLFW_KEY_KP_SUBTRACT], "KP-");
107 tsPrintf(KeyNameTable[GLFW_KEY_KP_ADD], "KP+");
108 tsPrintf(KeyNameTable[GLFW_KEY_KP_ENTER], "KP-Ent");
109 tsPrintf(KeyNameTable[GLFW_KEY_KP_EQUAL], "KP=");
110}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected