Alexandros Frantzis (@afrantzis) commented about dlls/winewayland.drv/wayland_keyboard.c:
+ FIXME("rate=%d delay=%d stub!\n", rate, delay); +} + +static const struct wl_keyboard_listener keyboard_listener = { + keyboard_handle_keymap, + keyboard_handle_enter, + keyboard_handle_leave, + keyboard_handle_key, + keyboard_handle_modifiers, + keyboard_handle_repeat_info, +}; + +/*********************************************************************** + * wayland_keyboard_init + */ +void wayland_keyboard_init(struct wayland_keyboard *keyboard, struct wayland *wayland, In upstream (in contrast to the exp. branch) we have a single `process_wayland` so there is no need to explicitly pass it around. The same applies to `struct wayland_keyboard` (i.e. `process_wayland.keyboard`).
In the future we may want to support multiple seats/keyboards/pointers, but for now we use this simplified model and code. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4102#note_50610