mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-05-31 06:13:55 +00:00
returns "Invalid key code specified." if specified character is not valid
This commit is contained in:
parent
484e86d55f
commit
12fb240b56
@ -143,6 +143,8 @@ int CheckKeyCodes(char* k, MMKeyCode *key){
|
||||
|
||||
if (strlen(k) == 1) {
|
||||
*key = keyCodeForChar(*k);
|
||||
if (*key == K_NOT_A_KEY)
|
||||
return -2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ MMKeyCode keyCodeForChar(const char c){
|
||||
128,
|
||||
&kCFCopyStringDictionaryKeyCallBacks,
|
||||
NULL);
|
||||
if (charToCodeDict == NULL) return UINT16_MAX;
|
||||
if (charToCodeDict == NULL) return K_NOT_A_KEY;
|
||||
|
||||
/* Loop through every keycode (0 - 127) to find its current mapping. */
|
||||
for (i = 0; i < 128; ++i) {
|
||||
@ -100,9 +100,18 @@ MMKeyCode keyCodeForChar(const char c){
|
||||
}
|
||||
|
||||
CFRelease(charStr);
|
||||
|
||||
if (code == UINT16_MAX) {
|
||||
return K_NOT_A_KEY;
|
||||
}
|
||||
|
||||
return (MMKeyCode)code;
|
||||
#elif defined(IS_WINDOWS)
|
||||
return VkKeyScan(c);
|
||||
CGKeyCode code;
|
||||
code = VkKeyScan(c);
|
||||
if (code == 0xFFFF)
|
||||
return K_NOT_A_KEY;
|
||||
return code;
|
||||
#elif defined(USE_X11)
|
||||
MMKeyCode code;
|
||||
|
||||
@ -125,6 +134,9 @@ MMKeyCode keyCodeForChar(const char c){
|
||||
}
|
||||
}
|
||||
|
||||
if (code == NoSymbol)
|
||||
return K_NOT_A_KEY;
|
||||
|
||||
return code;
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user