Compare commits

...

5 Commits

Author SHA1 Message Date
WillyJL
185eaaece5
Merge eb96b4aad5 into 768e81a0eb 2025-08-14 17:55:00 +02:00
Jan Hendrik Farr
768e81a0eb Wayland: Fix key repeat halting
Key repeat shoud only be halted when the repeating key
is released, not when another key is released.
2025-08-14 15:35:04 +02:00
Willy-JL
eb96b4aad5 Last missing _GNU_SOURCE 2024-11-22 05:59:44 +00:00
Willy-JL
80b7713126 Fix linux/input-event-codes.h when not present 2024-11-22 05:50:28 +00:00
Willy-JL
e3b41e1cf1 Fix time.h includes missing _GNU_SOURCE 2024-11-22 05:44:51 +00:00
7 changed files with 15 additions and 2 deletions

View File

@ -68,6 +68,7 @@ video tutorials.
- Jan Ekström
- Siavash Eliasi
- er-azh
- Jan Hendrik Farr
- Ahmad Fatoum
- Nikita Fediuchin
- Felipe Ferreira

View File

@ -138,6 +138,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: Retrieved cursor position would be incorrect when hovering over
fallback decorations
- [Wayland] Bugfix: Fallback decorations would report scroll events
- [Wayland] Bugfix: Keyboard repeat events halted when any key is released (#2568)
- [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`

View File

@ -24,6 +24,8 @@
//
//========================================================================
#define _GNU_SOURCE
#if defined(_MSC_VER)
// Make MS math.h define M_PI
#define _USE_MATH_DEFINES

View File

@ -25,6 +25,8 @@
//
//========================================================================
#define _GNU_SOURCE
#include "internal.h"
#if defined(GLFW_BUILD_LINUX_JOYSTICK)

View File

@ -25,6 +25,8 @@
//
//========================================================================
#define _GNU_SOURCE
#include "internal.h"
#if defined(GLFW_BUILD_POSIX_TIMER)

View File

@ -24,6 +24,8 @@
//
//========================================================================
#define _GNU_SOURCE
#include "internal.h"
#if defined(_GLFW_WAYLAND)

View File

@ -40,7 +40,9 @@
#include <sys/mman.h>
#include <sys/timerfd.h>
#include <poll.h>
#if __has_include(<linux/input-event-codes.h>)
#include <linux/input-event-codes.h>
#endif
#include "wayland-client-protocol.h"
#include "xdg-shell-client-protocol.h"
@ -1838,11 +1840,12 @@ static void keyboardHandleKey(void* userData,
timer.it_value.tv_sec = _glfw.wl.keyRepeatDelay / 1000;
timer.it_value.tv_nsec = (_glfw.wl.keyRepeatDelay % 1000) * 1000000;
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
}
} else if (scancode == _glfw.wl.keyRepeatScancode) {
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
}
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);
_glfwInputKey(window, key, scancode, action, _glfw.wl.xkb.modifiers);
if (action == GLFW_PRESS)