qemu-keymap: fix altgr modifier lookup for newer xkeyboard-config
xkeyboard-config 2.37 removed the "AltGr" virtual modifier in favor of mapping upper groups directly to Mod5. Since then, xkb_keymap_mod_get_index(map, "AltGr") returns XKB_MOD_INVALID, so AltGr-based keysyms were never generated. See: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/commit/473f9bc32f9ba869829cc0d06a75cd1f2560aa60 Try "AltGr" first, and fall back to "Mod5" for compatibility with both old and new xkeyboard-config versions. Signed-off-by: Dietmar Maurer <dietmar@proxmox.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20260408091459.4001711-1-dietmar@proxmox.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Dietmar Maurer committed
Apr 8, 2026 at 11:14 UTC
4e6fb62fb0f33c815b089d0b59e1313b768c55d0
1 file changed
+3
qemu-keymap.c
+3
@@ -230,6 +230,9 @@ int main(int argc, char *argv[])
230
shift = get_mod(map, "Shift");
231
ctrl = get_mod(map, "Control");
232
altgr = get_mod(map, "AltGr");
233
+ if (!altgr) {
234
+ altgr = get_mod(map, "Mod5");
235
+ }
236
numlock = get_mod(map, "NumLock");
237
238
state = xkb_state_new(map);