Code
168int CvHotKeyInfo::GetHotKeyInt(const char* pszHotKeyVal)169{170 // SPEEDUP171 struct CvKeyBoardMapping172 {173 char szDefineString[25];174 int iIntVal;175 };176177178 const int iNumKeyBoardMappings=108;179 const CvKeyBoardMapping asCvKeyBoardMapping[iNumKeyBoardMappings] =180 {181 {"KB_ESCAPE",FKBInputDevice::KB_ESCAPE},182 {"KB_0",FKBInputDevice::KB_0},183 {"KB_1",FKBInputDevice::KB_1},184 {"KB_2",FKBInputDevice::KB_2},185 {"KB_3",FKBInputDevice::KB_3},186 {"KB_4",FKBInputDevice::KB_4},187 {"KB_5",FKBInputDevice::KB_5},188 {"KB_6",FKBInputDevice::KB_6},189 {"KB_7",FKBInputDevice::KB_7},190 {"KB_8",FKBInputDevice::KB_8},191 {"KB_9",FKBInputDevice::KB_9},192 {"KB_MINUS",FKBInputDevice::KB_MINUS}, /* - on main keyboard */193 {"KB_A",FKBInputDevice::KB_A},194 {"KB_B",FKBInputDevice::KB_B},195 {"KB_C",FKBInputDevice::KB_C},196 {"KB_D",FKBInputDevice::KB_D},197 {"KB_E",FKBInputDevice::KB_E},198 {"KB_F",FKBInputDevice::KB_F},199 {"KB_G",FKBInputDevice::KB_G},200 {"KB_H",FKBInputDevice::KB_H},201 {"KB_I",FKBInputDevice::KB_I},202 {"KB_J",FKBInputDevice::KB_J},203 {"KB_K",FKBInputDevice::KB_K},204 {"KB_L",FKBInputDevice::KB_L},205 {"KB_M",FKBInputDevice::KB_M},206 {"KB_N",FKBInputDevice::KB_N},207 {"KB_O",FKBInputDevice::KB_O},208 {"KB_P",FKBInputDevice::KB_P},209 {"KB_Q",FKBInputDevice::KB_Q},210 {"KB_R",FKBInputDevice::KB_R},211 {"KB_S",FKBInputDevice::KB_S},212 {"KB_T",FKBInputDevice::KB_T},213 {"KB_U",FKBInputDevice::KB_U},214 {"KB_V",FKBInputDevice::KB_V},215 {"KB_W",FKBInputDevice::KB_W},216 {"KB_X",FKBInputDevice::KB_X},217 {"KB_Y",FKBInputDevice::KB_Y},218 {"KB_Z",FKBInputDevice::KB_Z},219 {"KB_EQUALS",FKBInputDevice::KB_EQUALS},220 {"KB_BACKSPACE",FKBInputDevice::KB_BACKSPACE},221 {"KB_TAB",FKBInputDevice::KB_TAB},222 {"KB_LBRACKET",FKBInputDevice::KB_LBRACKET},223 {"KB_RBRACKET",FKBInputDevice::KB_RBRACKET},224 {"KB_RETURN",FKBInputDevice::KB_RETURN}, /* Enter on main keyboard */225 {"KB_LCONTROL",FKBInputDevice::KB_LCONTROL},226 {"KB_SEMICOLON",FKBInputDevice::KB_SEMICOLON},227 {"KB_APOSTROPHE",FKBInputDevice::KB_APOSTROPHE},228 {"KB_GRAVE",FKBInputDevice::KB_GRAVE}, /* accent grave */229 {"KB_LSHIFT",FKBInputDevice::KB_LSHIFT},230 {"KB_BACKSLASH",FKBInputDevice::KB_BACKSLASH},231 {"KB_COMMA",FKBInputDevice::KB_COMMA},232 {"KB_PERIOD",FKBInputDevice::KB_PERIOD},233 {"KB_SLASH",FKBInputDevice::KB_SLASH},234 {"KB_RSHIFT",FKBInputDevice::KB_RSHIFT},235 {"KB_NUMPADSTAR",FKBInputDevice::KB_NUMPADSTAR},236 {"KB_LALT",FKBInputDevice::KB_LALT},237 {"KB_SPACE",FKBInputDevice::KB_SPACE},238 {"KB_CAPSLOCK",FKBInputDevice::KB_CAPSLOCK},239 {"KB_F1",FKBInputDevice::KB_F1},240 {"KB_F2",FKBInputDevice::KB_F2},241 {"KB_F3",FKBInputDevice::KB_F3},242 {"KB_F4",FKBInputDevice::KB_F4},243 {"KB_F5",FKBInputDevice::KB_F5},244 {"KB_F6",FKBInputDevice::KB_F6},245 {"KB_F7",FKBInputDevice::KB_F7},246 {"KB_F8",FKBInputDevice::KB_F8},247 {"KB_F9",FKBInputDevice::KB_F9},248 {"KB_F10",FKBInputDevice::KB_F10},249 {"KB_NUMLOCK",FKBInputDevice::KB_NUMLOCK},250 {"KB_SCROLL",FKBInputDevice::KB_SCROLL},251 {"KB_NUMPAD7",FKBInputDevice::KB_NUMPAD7},252 {"KB_NUMPAD8",FKBInputDevice::KB_NUMPAD8},253 {"KB_NUMPAD9",FKBInputDevice::KB_NUMPAD9},254 {"KB_NUMPADMINUS",FKBInputDevice::KB_NUMPADMINUS},255 {"KB_NUMPAD4",FKBInputDevice::KB_NUMPAD4},256 {"KB_NUMPAD5",FKBInputDevice::KB_NUMPAD5},257 {"KB_NUMPAD6",FKBInputDevice::KB_NUMPAD6},258 {"KB_NUMPADPLUS",FKBInputDevice::KB_NUMPADPLUS},259 {"KB_NUMPAD1",FKBInputDevice::KB_NUMPAD1},260 {"KB_NUMPAD2",FKBInputDevice::KB_NUMPAD2},261 {"KB_NUMPAD3",FKBInputDevice::KB_NUMPAD3},262 {"KB_NUMPAD0",FKBInputDevice::KB_NUMPAD0},263 {"KB_NUMPADPERIOD",FKBInputDevice::KB_NUMPADPERIOD},264 {"KB_F11",FKBInputDevice::KB_F11},265 {"KB_F12",FKBInputDevice::KB_F12},266 {"KB_NUMPADEQUALS",FKBInputDevice::KB_NUMPADEQUALS},267 {"KB_AT",FKBInputDevice::KB_AT},268 {"KB_UNDERLINE",FKBInputDevice::KB_UNDERLINE},269 {"KB_COLON",FKBInputDevice::KB_COLON},270 {"KB_NUMPADENTER",FKBInputDevice::KB_NUMPADENTER},271 {"KB_RCONTROL",FKBInputDevice::KB_RCONTROL},272 {"KB_VOLUMEDOWN",FKBInputDevice::KB_VOLUMEDOWN},273 {"KB_VOLUMEUP",FKBInputDevice::KB_VOLUMEUP},274 {"KB_NUMPADCOMMA",FKBInputDevice::KB_NUMPADCOMMA},275 {"KB_NUMPADSLASH",FKBInputDevice::KB_NUMPADSLASH},276 {"KB_SYSRQ",FKBInputDevice::KB_SYSRQ},277 {"KB_RALT",FKBInputDevice::KB_RALT},278 {"KB_PAUSE",FKBInputDevice::KB_PAUSE},279 {"KB_HOME",FKBInputDevice::KB_HOME},280 {"KB_UP",FKBInputDevice::KB_UP},281 {"KB_PGUP",FKBInputDevice::KB_PGUP},282 {"KB_LEFT",FKBInputDevice::KB_LEFT},283 {"KB_RIGHT",FKBInputDevice::KB_RIGHT},284 {"KB_END",FKBInputDevice::KB_END},285 {"KB_DOWN",FKBInputDevice::KB_DOWN},286 {"KB_PGDN",FKBInputDevice::KB_PGDN},287 {"KB_INSERT",FKBInputDevice::KB_INSERT},288 {"KB_DELETE",FKBInputDevice::KB_DELETE},289 };290291 if(pszHotKeyVal)292 {293 for(int i = 0; i < iNumKeyBoardMappings; ++i)294 {295 if(strcmp(asCvKeyBoardMapping [i].szDefineString, pszHotKeyVal) == 0)296 {297 return asCvKeyBoardMapping[i].iIntVal;298 }299 }300 }301302303 return -1;304}