MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / getKeyString

Method getKeyString

Engine/source/sim/actionMap.cpp:1117–1177  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1115
1116//------------------------------------------------------------------------------
1117bool ActionMap::getKeyString(const U32 action, char* buffer)
1118{
1119 U16 asciiCode = 0;
1120
1121 // This is a special case.... numpad keys do have ascii values
1122 // but for the purposes of this method we want to return the
1123 // description from the gVirtualMap.
1124 if ( !( KEY_NUMPAD0 <= action && action <= KEY_NUMPAD9 ) )
1125 asciiCode = Input::getAscii( action, STATE_LOWER );
1126
1127// if (action >= KEY_A && action <= KEY_Z) {
1128// buffer[0] = char(action - KEY_A + 'a');
1129// buffer[1] = '\0';
1130// return true;
1131// } else if (action >= KEY_0 && action <= KEY_9) {
1132// buffer[0] = char(action - KEY_0 + '0');
1133// buffer[1] = '\0';
1134 if ( (asciiCode != 0) && dIsDecentChar((char)asciiCode))
1135 {
1136 for (U32 i = 0; gAsciiMap[i].asciiCode != 0xFFFF; i++) {
1137 if (gAsciiMap[i].asciiCode == asciiCode)
1138 {
1139 dStrcpy(buffer, gAsciiMap[i].pDescription, 16);
1140 return true;
1141 }
1142 }
1143 // Must not have found a string for that ascii code just record the char
1144 buffer[0] = char(asciiCode);
1145 buffer[1] = '\0';
1146 return true;
1147 }
1148 else
1149 {
1150 if (action >= KEY_A && action <= KEY_Z)
1151 {
1152 buffer[0] = char(action - KEY_A + 'a');
1153 buffer[1] = '\0';
1154 return true;
1155 }
1156 else if (action >= KEY_0 && action <= KEY_9) {
1157 buffer[0] = char(action - KEY_0 + '0');
1158 buffer[1] = '\0';
1159 return true;
1160 }
1161 //for (U32 i = 0; gVirtualMap[i].code != 0xFFFFFFFF; i++) {
1162 // if (gVirtualMap[i].code == action) {
1163 // dStrcpy(buffer, gVirtualMap[i].pDescription, 16);
1164 // return true;
1165 // }
1166 //}
1167 const char* desc = INPUTMGR->findVirtualMapDescFromCode(action);
1168 if(desc)
1169 {
1170 dStrcpy(buffer, desc, 16);
1171 return true;
1172 }
1173 }
1174

Callers

nothing calls this directly

Calls 4

dIsDecentCharFunction · 0.85
dStrcpyFunction · 0.85
errorfFunction · 0.50

Tested by

no test coverage detected