kitty: report-alternate: apply base-layout key to composed characters

This commit is contained in:
Daniel Eklöf 2021-12-07 21:48:42 +01:00
parent 9b57ef07f1
commit c0cfec89e0
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

28
input.c
View file

@ -1437,22 +1437,24 @@ emit_escapes:
if (key == 0)
key = sym_to_use;
if (report_alternate) {
/* The *shifted* key. May be the same as the unshifted
* key - if so, this is filtered out below, when
* emitting the CSI */
if (report_alternate)
alternate = xkb_keysym_to_utf32(sym);
}
/* Base layout key. I.e the symbol the pressed key
* produces in the base/default layout (layout idx
* 0) */
const xkb_keysym_t *base_syms;
int base_sym_count = xkb_keymap_key_get_syms_by_level(
seat->kbd.xkb_keymap, ctx->key, 0, 0, &base_syms);
if (report_alternate) {
/* The *shifted* key. May be the same as the unshifted
* key - if so, this is filtered out below, when
* emitting the CSI */
if (base_sym_count > 0)
base = xkb_keysym_to_utf32(base_syms[0]);
}
/* Base layout key. I.e the symbol the pressed key
* produces in the base/default layout (layout idx
* 0) */
const xkb_keysym_t *base_syms;
int base_sym_count = xkb_keymap_key_get_syms_by_level(
seat->kbd.xkb_keymap, ctx->key, 0, 0, &base_syms);
if (base_sym_count > 0)
base = xkb_keysym_to_utf32(base_syms[0]);
}
final = 'u';