mirror of
https://github.com/glfw/glfw.git
synced 2025-12-19 21:51:56 +00:00
Compare commits
3 Commits
fe9a61e027
...
fee8f81f48
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fee8f81f48 | ||
|
|
feb2a6b728 | ||
|
|
7235dddefd |
@ -132,10 +132,12 @@ information on what to include when reporting a bug.
|
||||
- [Wayland] Bugfix: `glfwInit` would segfault on compositor with no seat (#2517)
|
||||
- [Wayland] Bugfix: A drag entering a non-GLFW surface could cause a segfault
|
||||
- [Wayland] Bugfix: Ignore key repeat events when no window has keyboard focus (#2727)
|
||||
- [Wayland] Bugfix: Reset key repeat timer when window destroyed (#2741,#2727)
|
||||
- [X11] Bugfix: Running without a WM could trigger an assert (#2593,#2601,#2631)
|
||||
- [Null] Added Vulkan 'window' surface creation via `VK_EXT_headless_surface`
|
||||
- [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless`
|
||||
- [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to
|
||||
- [Win32] Bugfix: Extended scancode of 0 was not being processed correctly
|
||||
`GLFW_NATIVE_CONTEXT_API` (#2518)
|
||||
|
||||
|
||||
|
||||
@ -711,11 +711,11 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l
|
||||
const int mods = getKeyMods();
|
||||
|
||||
scancode = (HIWORD(lParam) & (KF_EXTENDED | 0xff));
|
||||
if (!scancode)
|
||||
if (scancode == 0x100)
|
||||
{
|
||||
// NOTE: Some synthetic key messages have a scancode of zero
|
||||
// NOTE: Some synthetic key messages have a scancode of extended zero
|
||||
// HACK: Map the virtual key back to a usable scancode
|
||||
scancode = MapVirtualKeyW((UINT) wParam, MAPVK_VK_TO_VSC);
|
||||
scancode = KF_EXTENDED | MapVirtualKeyW((UINT) wParam, MAPVK_VK_TO_VSC);
|
||||
}
|
||||
|
||||
// HACK: Alt+PrtSc has a different scancode than just PrtSc
|
||||
|
||||
@ -2187,7 +2187,12 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window)
|
||||
_glfw.wl.pointerFocus = NULL;
|
||||
|
||||
if (window == _glfw.wl.keyboardFocus)
|
||||
{
|
||||
struct itimerspec timer = {0};
|
||||
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
|
||||
|
||||
_glfw.wl.keyboardFocus = NULL;
|
||||
}
|
||||
|
||||
if (window->wl.fractionalScale)
|
||||
wp_fractional_scale_v1_destroy(window->wl.fractionalScale);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user