10:58 narodnik: hey so i implemented key repreat using the recommended method of catching the key state, and storing/removing it from a hashset: https://github.com/not-fl3/miniquad/commit/2f716f5664551c28e8d8c0e90187e1b629cffc94
10:59 narodnik: *key repeat
10:59 narodnik: however when leaving the window, i don't get the key state anymore so the key keeps repeating. what's the recommended way to do this?
11:00 narodnik: for example: super + < will switch workspace on my WM, after hitting that, the wayland app is stuck sending LEFT_SUPER events nonstop
11:00 narodnik: should i clear the hashset when focus leaves the window? what happens if the user is holding a key and refocuses the window?
11:00 narodnik: i couldn't find any guidelines on how key repeat should be implemented properly
11:06 any1: protocol spec says that logical state is reset on wl_keyboard_leave and wl_keyboard_modifiers should follow wl_keyboard_enter
11:06 any1: https://wayland.app/protocols/wayland#wl_keyboard
11:08 narodnik: oh thanks, i'll look more into what's happening
16:25 Fya: wl_surface::frame event should occur as often as the frame rate right?
16:25 Fya: Given that the surface is visible.
16:26 Fya: s/frame rate/monitor's refresh rate
16:26 vyivel: not necessarily
16:26 emersion: in general that's what happens, but that's not guaranteed
16:26 emersion: maybe the compositor wants to save power, maybe screen capture at a higher frame rate is ongoing, maybe it's visible as a thumbnail
16:27 emersion: etc
17:04 Fya: Ok, odd, I am not getting a frame events despite the window being visible. Any reason for the compositor not emit a frame event despite being visible?
17:05 Fya: As a regular window.
17:05 vyivel: if it decides there's nothing to redraw
17:05 vyivel: maybe you're not submitting damage
17:09 Fya: Would graphic APIs such as Vulkan or OpenGL do this in my stead or would I need to tell the compositor that the contents of the surface have changed?
17:14 emersion: maybe this is relevant https://emersion.fr/blog/2018/wayland-rendering-loop/
17:17 Ermine: ddevault's wayland-book covers that too
17:31 Fya: Good thing we have WAYLAND_DEBUG=1, seems my Vulkan impl, is doing the damage on my behalf. "{mesa vk display queue} -> wl_surface#6.damage(0, 0, 2147483647, 2147483647)"
17:32 Fya: Still have some Vulkan validation errors I've got to fix, maybe it'll work then.