Wayland: Fix repeated key not released on defocus

Platform code should not generate key events with GLFW_REPEAT.
GLFW_PRESS is translated into GLFW_REPEAT by shared code based on the
key state cache.

This confused the automatic key release logic into not generating an
event with GLFW_RELEASE for a key being repeated when the window lost
input focus.

(cherry picked from commit 3f5dfeaf29)
This commit is contained in:
Camilla Löwy 2021-12-26 22:51:20 +01:00
parent 5f0b316c24
commit ec934edfbf
2 changed files with 2 additions and 1 deletions

View File

@ -128,6 +128,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: Activating a window would emit two input focus events
- [Wayland] Bugfix: Disable key repeat mechanism when window loses input focus
- [Wayland] Bugfix: Window hiding and showing did not work (#1492,#1731)
- [Wayland] Bugfix: A key being repeated was not released when window lost focus
## Contact

View File

@ -870,7 +870,7 @@ static void handleEvents(int timeout)
_glfwInputKey(_glfw.wl.keyboardFocus,
_glfw.wl.keyboardLastKey,
_glfw.wl.keyboardLastScancode,
GLFW_REPEAT,
GLFW_PRESS,
_glfw.wl.xkb.modifiers);
}
}