Matteo Bruni (@Mystral) commented about dlls/winex11.drv/keyboard.c:
void x11drv_init_keyboard( Display *display ) { XkbUseExtension( display, NULL, NULL ); + +#ifdef HAVE_XKBCOMMON_XKBREGISTRY_H + if (!(rxkb_context = rxkb_context_new( RXKB_CONTEXT_NO_FLAGS )) || + !rxkb_context_parse_default_ruleset( rxkb_context )) + { + ERR( "Failed to parse default Xkb ruleset\n" ); + return; + } +#endif I'm less sure about this. I guess the main question is: do we want to dynamically load xkbregistry and call `rxkb_` functions through function pointers? Or in other words, do we want to allow xkbregistry to be an optional runtime dependency for winex11?
I think that was my original intention but I forgot and ended up with those `#ifdef SONAME_LIBXKBREGISTRY` which aren't helpful... -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10689#note_136778