mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-19 14:23: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) {
|
if (strlen(k) == 1) {
|
||||||
*key = keyCodeForChar(*k);
|
*key = keyCodeForChar(*k);
|
||||||
|
if (*key == K_NOT_A_KEY)
|
||||||
|
return -2;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ MMKeyCode keyCodeForChar(const char c){
|
|||||||
128,
|
128,
|
||||||
&kCFCopyStringDictionaryKeyCallBacks,
|
&kCFCopyStringDictionaryKeyCallBacks,
|
||||||
NULL);
|
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. */
|
/* Loop through every keycode (0 - 127) to find its current mapping. */
|
||||||
for (i = 0; i < 128; ++i) {
|
for (i = 0; i < 128; ++i) {
|
||||||
@ -100,9 +100,18 @@ MMKeyCode keyCodeForChar(const char c){
|
|||||||
}
|
}
|
||||||
|
|
||||||
CFRelease(charStr);
|
CFRelease(charStr);
|
||||||
|
|
||||||
|
if (code == UINT16_MAX) {
|
||||||
|
return K_NOT_A_KEY;
|
||||||
|
}
|
||||||
|
|
||||||
return (MMKeyCode)code;
|
return (MMKeyCode)code;
|
||||||
#elif defined(IS_WINDOWS)
|
#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)
|
#elif defined(USE_X11)
|
||||||
MMKeyCode code;
|
MMKeyCode code;
|
||||||
|
|
||||||
@ -125,6 +134,9 @@ MMKeyCode keyCodeForChar(const char c){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (code == NoSymbol)
|
||||||
|
return K_NOT_A_KEY;
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user