Win32: Fix glfwGetKeyScancode for GLFW_KEY_PAUSE

The bug described in 03cfe957e7 was
already present for another key where modifiers changes its scancode.

Related to #1993
This commit is contained in:
Camilla Löwy
2022-03-15 19:22:21 +01:00
parent 03cfe957e7
commit 8d9231fe5e
3 changed files with 6 additions and 1 deletions

View File

@@ -253,7 +253,6 @@ static void createKeyTables(void)
_glfw.win32.keycodes[0x151] = GLFW_KEY_PAGE_DOWN;
_glfw.win32.keycodes[0x149] = GLFW_KEY_PAGE_UP;
_glfw.win32.keycodes[0x045] = GLFW_KEY_PAUSE;
_glfw.win32.keycodes[0x146] = GLFW_KEY_PAUSE;
_glfw.win32.keycodes[0x039] = GLFW_KEY_SPACE;
_glfw.win32.keycodes[0x00F] = GLFW_KEY_TAB;
_glfw.win32.keycodes[0x03A] = GLFW_KEY_CAPS_LOCK;

View File

@@ -756,6 +756,10 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l
if (scancode == 0x54)
scancode = 0x137;
// HACK: Ctrl+Pause has a different scancode than just Pause
if (scancode == 0x146)
scancode = 0x45;
key = _glfw.win32.keycodes[scancode];
// The Ctrl keys require special handling