Merge branch 'jorth/gamescope' into 'master'

xwayland: Run key behaviors and actions on gamescope

See merge request xorg/xserver!2093
This commit is contained in:
Julian Orth 2026-01-28 10:26:41 +01:00
commit db540d6873
3 changed files with 8 additions and 2 deletions

View file

@ -1692,7 +1692,8 @@ add_device(struct xwl_seat *xwl_seat,
dev->public.devicePrivate = xwl_seat;
dev->type = SLAVE;
dev->spriteInfo->spriteOwner = FALSE;
dev->ignoreXkbActionsBehaviors = TRUE;
if (!xwl_seat->xwl_screen->is_gamescope)
dev->ignoreXkbActionsBehaviors = TRUE;
return dev;
}
@ -3656,7 +3657,8 @@ InitInput(int argc, char *argv[])
mieqInit();
inputInfo.keyboard->ignoreXkbActionsBehaviors = TRUE;
if (!xwl_screen->is_gamescope)
inputInfo.keyboard->ignoreXkbActionsBehaviors = TRUE;
xwl_screen->input_registry = wl_display_get_registry(xwl_screen->display);
wl_registry_add_listener(xwl_screen->input_registry, &input_listener,
xwl_screen);

View file

@ -554,6 +554,9 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
xwl_screen->fractional_scale_manager =
wl_registry_bind(registry, id, &wp_fractional_scale_manager_v1_interface, 1);
}
else if (strcmp(interface, "gamescope_private") == 0) {
xwl_screen->is_gamescope = TRUE;
}
#ifdef XWL_HAS_GLAMOR
else if (xwl_screen->glamor) {
xwl_glamor_init_wl_registry(xwl_screen, registry, id, interface,

View file

@ -54,6 +54,7 @@ struct xwl_screen {
int wm_client_id;
int expecting_event;
enum RootClipMode root_clip_mode;
Bool is_gamescope;
Bool active;
int rootless;