Compare commits

...

3 Commits

Author SHA1 Message Date
nee-wom
813795f776
Merge 66e8a81fa7 into 0d2d85d19c 2025-08-18 12:02:19 +00:00
Doug Binks
0d2d85d19c Revert "Wayland: Keyboard leave event handler now processes key repeats" 2025-08-15 11:27:59 +02:00
nee-wom
66e8a81fa7 EGL: GLFW_ANGLE_PLATFORM_TYPE_VULKAN on macOS 2024-07-17 12:45:11 +02:00
4 changed files with 8 additions and 18 deletions

View File

@ -296,6 +296,7 @@ video tutorials.
- Jonas Ådahl - Jonas Ådahl
- Lasse Öörni - Lasse Öörni
- Leonard König - Leonard König
- nee-wom
- All the unmentioned and anonymous contributors in the GLFW community, for bug - All the unmentioned and anonymous contributors in the GLFW community, for bug
reports, patches, feedback, testing and encouragement reports, patches, feedback, testing and encouragement

View File

@ -144,6 +144,7 @@ information on what to include when reporting a bug.
- [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless` - [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 - [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to
`GLFW_NATIVE_CONTEXT_API` (#2518) `GLFW_NATIVE_CONTEXT_API` (#2518)
- [EGL] Enabled init hint parameter `GLFW_ANGLE_PLATFORM_TYPE_VULKAN` for macOS
## Contact ## Contact

View File

@ -1899,6 +1899,12 @@ EGLenum _glfwGetEGLPlatformCocoa(EGLint** attribs)
type = EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE; type = EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE;
} }
if (_glfw.egl.ANGLE_platform_angle_vulkan)
{
if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_VULKAN)
type = EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE;
}
if (type) if (type)
{ {
*attribs = _glfw_calloc(3, sizeof(EGLint)); *attribs = _glfw_calloc(3, sizeof(EGLint));

View File

@ -1778,24 +1778,6 @@ static void keyboardHandleLeave(void* userData,
if (!window) if (!window)
return; return;
// Handle any key repeats up to this point. We don't poll as this should be infrequent.
uint64_t repeats;
if (read(_glfw.wl.keyRepeatTimerfd, &repeats, sizeof(repeats)) == 8)
{
if(_glfw.wl.keyboardFocus)
{
for (uint64_t i = 0; i < repeats; i++)
{
_glfwInputKey(_glfw.wl.keyboardFocus,
translateKey(_glfw.wl.keyRepeatScancode),
_glfw.wl.keyRepeatScancode,
GLFW_PRESS,
_glfw.wl.xkb.modifiers);
inputText(_glfw.wl.keyboardFocus, _glfw.wl.keyRepeatScancode);
}
}
}
struct itimerspec timer = {0}; struct itimerspec timer = {0};
timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL); timerfd_settime(_glfw.wl.keyRepeatTimerfd, 0, &timer, NULL);