Richard Henderson <richard.hender...@linaro.org> writes:
> On 6/26/23 23:59, Alex Bennée wrote: >> We can return XKB_MOD_INVALID which rightly gets flagged by sanitisers >> as an overly wide shift attempt. >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >> --- >> qemu-keymap.c | 24 ++++++++++++++++-------- >> 1 file changed, 16 insertions(+), 8 deletions(-) >> diff --git a/qemu-keymap.c b/qemu-keymap.c >> index 229866e004..8c80f7a4ed 100644 >> --- a/qemu-keymap.c >> +++ b/qemu-keymap.c >> @@ -140,6 +140,18 @@ static void usage(FILE *out) >> names.options ?: "-"); >> } >> +static xkb_mod_mask_t get_mod(struct xkb_keymap *map, const char >> *name) >> +{ >> + xkb_mod_index_t mod; >> + xkb_mod_mask_t mask = 0; >> + >> + mod = xkb_keymap_mod_get_index(map, name); >> + if (mod != XKB_MOD_INVALID) { >> + mask = (1 << mod); >> + } >> + return mask; >> +} > > You have yet to answer Peter's question -- asked twice -- about what > changes in the keymaps with this. If nothing, should it in fact be an > assert instead? Ahh in the other thread. No change, it looks like AltGr just doesn't exist for some keymaps: 🕙21:20:36 alex@zen:qemu.git/builds/all (399fc0c) (REBASING 2/22) [$!?] ➜ diff -ub gb.before gb.after 🕙21:20:43 alex@zen:qemu.git/builds/all (399fc0c) (REBASING 2/22) [$!?] ➜ diff -ub ara.before ara.after 🕙21:20:50 alex@zen:qemu.git/builds/all (399fc0c) (REBASING 2/22) [$!?] ➜ ag "Alt" ara.after 21:# 9: Alt 23:# 11: LAlt 24:# 12: RAlt 29:# 17: AltGr 294:Alt_L 0x38 1711:Alt_R 0xb8 🕙21:22:14 alex@zen:qemu.git/builds/all (399fc0c) (REBASING 2/22) [$!?] ➜ ag "Alt" gb.after 21:# 9: Alt 23:# 11: LAlt 24:# 12: RAlt 29:# 17: AltGr 338:Alt_L 0x38 1757:Alt_R 0xb8 -- Alex Bennée Virtualisation Tech Lead @ Linaro