macOS: Fix JIS Eisu and Kana keys not working

This commit is contained in:
pagedown 2022-06-25 19:01:02 +08:00
parent 0a462ad706
commit 2cc506476b
No known key found for this signature in database
GPG Key ID: E921CF18AC8FF6EB

View File

@ -770,6 +770,11 @@ is_useful_apple_global_shortcut(int sc) {
} }
} }
static bool
is_apple_jis_layout_function_key(NSEvent *event) {
return [event keyCode] == 0x66 /* kVK_JIS_Eisu */ || [event keyCode] == 0x68 /* kVK_JIS_Kana */;
}
GLFWAPI GLFWapplicationshouldhandlereopenfun glfwSetApplicationShouldHandleReopen(GLFWapplicationshouldhandlereopenfun callback) { GLFWAPI GLFWapplicationshouldhandlereopenfun glfwSetApplicationShouldHandleReopen(GLFWapplicationshouldhandlereopenfun callback) {
GLFWapplicationshouldhandlereopenfun previous = handle_reopen_callback; GLFWapplicationshouldhandlereopenfun previous = handle_reopen_callback;
handle_reopen_callback = callback; handle_reopen_callback = callback;
@ -837,6 +842,14 @@ int _glfwPlatformInit(void)
last_keydown_shortcut_event.timestamp = [event timestamp]; last_keydown_shortcut_event.timestamp = [event timestamp];
return event; return event;
} }
// check for JIS keyboard layout function keys
if (is_apple_jis_layout_function_key(event)) {
debug_key("keyDown triggerred JIS layout function key ignoring\n");
last_keydown_shortcut_event.virtual_key_code = [event keyCode];
last_keydown_shortcut_event.input_source_switch_modifiers = 0;
last_keydown_shortcut_event.timestamp = [event timestamp];
return event;
}
} }
last_keydown_shortcut_event.virtual_key_code = 0xffff; last_keydown_shortcut_event.virtual_key_code = 0xffff;
NSWindow *kw = [NSApp keyWindow]; NSWindow *kw = [NSApp keyWindow];