Move "special" keys into the Unicode PUA rather than making them high a top bit

set, some compilers cannot handle enums that are larger than int. GitHub issue
2673.
This commit is contained in:
Nicholas Marriott
2021-04-28 09:18:04 +01:00
parent cb2943faab
commit 059580e0f7
4 changed files with 29 additions and 14 deletions

View File

@@ -238,7 +238,7 @@ key_string_lookup_string(const char *string)
}
/* Convert the standard control keys. */
if (key < KEYC_BASE &&
if (KEYC_IS_UNICODE(key) &&
(modifiers & KEYC_CTRL) &&
strchr(other, key) == NULL &&
key != 9 &&
@@ -368,8 +368,8 @@ key_string_lookup_key(key_code key, int with_flags)
goto out;
}
/* Is this a UTF-8 key? */
if (key > 127 && key < KEYC_BASE) {
/* Is this a Unicode key? */
if (KEYC_IS_UNICODE(key)) {
utf8_to_data(key, &ud);
off = strlen(out);
memcpy(out + off, ud.data, ud.size);