21 Nov
2023
21 Nov
'23
3:44 p.m.
Alexandros Frantzis (@afrantzis) commented about dlls/winewayland.drv/wayland_keyboard.c:
static void keyboard_handle_repeat_info(void *data, struct wl_keyboard *wl_keyboard, int rate, int delay) { - FIXME("rate=%d delay=%d stub!\n", rate, delay); + TRACE("rate=%d delay=%d\n", rate, delay); + + /* Handle non-negative rate values, ignore invalid (negative) values. A + * rate of 0 disables repeat. */ + rate = max(0, min(80, rate)) * 400 / 1000 - 1; The updated calculation gives -1 for wayland rate < 3. Is this on purpose? Perhaps use `max(3, ...` ?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4399#note_53107