Port Wayland clients to new xkbcommon API
A little different from Daniels initial patch. We look up the common
modifiers at xkb init time and convert the xkb serialized modifier mask
to our own modifier bitmask.
diff --git a/clients/terminal.c b/clients/terminal.c
index 4fbc1ff..c8818d0 100644
--- a/clients/terminal.c
+++ b/clients/terminal.c
@@ -272,9 +272,9 @@
int mod_num = 0;
int len;
- if (modifiers & XKB_COMMON_SHIFT_MASK) mod_num |= 1;
- if (modifiers & XKB_COMMON_MOD1_MASK) mod_num |= 2;
- if (modifiers & XKB_COMMON_CONTROL_MASK) mod_num |= 4;
+ if (modifiers & MOD_SHIFT_MASK) mod_num |= 1;
+ if (modifiers & MOD_ALT_MASK) mod_num |= 2;
+ if (modifiers & MOD_CONTROL_MASK) mod_num |= 4;
if (mod_num != 0)
len = snprintf(response, MAX_RESPONSE, "\e[%d;%d%c",
@@ -2078,8 +2078,8 @@
int len = 0;
modifiers = input_get_modifiers(input);
- if ((modifiers & XKB_COMMON_CONTROL_MASK) &&
- (modifiers & XKB_COMMON_SHIFT_MASK) &&
+ if ((modifiers & MOD_CONTROL_MASK) &&
+ (modifiers & MOD_SHIFT_MASK) &&
state && handle_bound_key(terminal, input, sym, time))
return;
@@ -2173,7 +2173,7 @@
len = apply_key_map(terminal->key_mode, sym, modifiers, ch);
if (len != 0) break;
- if (modifiers & XKB_COMMON_CONTROL_MASK) {
+ if (modifiers & MOD_CONTROL_MASK) {
if (sym >= '3' && sym <= '7')
sym = (sym & 0x1f) + 8;
@@ -2184,10 +2184,10 @@
else if (sym == '/') sym = 0x1F;
else if (sym == '8' || sym == '?') sym = 0x7F;
} else if ((terminal->mode & MODE_ALT_SENDS_ESC) &&
- (modifiers & XKB_COMMON_MOD1_MASK))
+ (modifiers & MOD_ALT_MASK))
{
ch[len++] = 0x1b;
- } else if (modifiers & XKB_COMMON_MOD1_MASK) {
+ } else if (modifiers & MOD_ALT_MASK) {
sym = sym | 0x80;
}