Allow adding keys with Unicode names on macOS

This commit is contained in:
Luflosi 2019-09-01 11:38:52 +02:00
parent 3f926dfd8b
commit f05eefcc20
No known key found for this signature in database
GPG Key ID: 14140F703B7D8362

View File

@ -288,10 +288,16 @@ static int translateKey(unsigned int key, bool apply_keymap)
{
if (apply_keymap) {
// Look for the effective key name after applying any keyboard layouts/mappings
const char *name = _glfwPlatformGetScancodeName(key);
if (name && name[1] == 0) {
// Single letter key name
switch(name[0]) {
const char *name_chars = _glfwPlatformGetScancodeName(key);
uint32_t name = 0;
for (int i = 0; i < 4; i++) {
if (!name_chars[i]) break;
name <<= 8;
name |= (uint8_t)name_chars[i];
}
if (name) {
// Key name
switch(name) {
#define K(ch, name) case ch: return GLFW_KEY_##name
K('A', A); K('a', A);
K('B', B); K('b', B);