diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 02d2f0c99d5..14a2ebfa462 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -809,7 +809,13 @@ void OS_Windows::process_key_events() { k.mod = ke.mod_state; k.pressed = (ke.uMsg == WM_KEYDOWN); - k.scancode = KeyMappingWindows::get_keysym(ke.wParam); + if ((ke.lParam & (1 << 24)) && (ke.wParam == VK_RETURN)) { + // Special case for Numpad Enter key + k.scancode = KEY_ENTER; + } else { + k.scancode = KeyMappingWindows::get_keysym(ke.wParam); + } + if (i + 1 < key_event_pos && key_event_buffer[i + 1].uMsg == WM_CHAR) k.unicode = key_event_buffer[i + 1].wParam; if (k.unicode && gr_mem) {