Remove dedicated CodeMod

This commit is contained in:
Stacy Harper 2021-08-23 15:55:15 +02:00 committed by John Sullivan
parent 9e4cf69137
commit e58e63f2da

View File

@ -13,7 +13,6 @@ enum key_type {
EndRow, EndRow,
Last, Last,
Compose, Compose,
CodeMod,
Copy, Copy,
}; };
@ -170,20 +169,12 @@ void
kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) { kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
uint8_t mods_before; uint8_t mods_before;
switch (k->type) { switch (k->type) {
case CodeMod:
mods_before = kb->mods;
kb->mods ^= k->code_mod;
kb->last_press = k;
kbd_draw_key(kb, k, true);
zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
zwp_virtual_keyboard_v1_key(kb->vkbd, time, kb->last_press->code,
WL_KEYBOARD_KEY_STATE_PRESSED);
kb->mods = mods_before;
zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
break;
case Code: case Code:
if (k->code_mod) {
mods_before = kb->mods;
kb->mods = k->code_mod;
zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
}
if (compose == 1) { if (compose == 1) {
if (k->layout) { if (k->layout) {
compose++; compose++;
@ -204,6 +195,10 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
compose++; compose++;
} }
} }
if (k->code_mod) {
kb->mods = mods_before;
zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
}
break; break;
case Mod: case Mod:
kb->mods ^= k->code; kb->mods ^= k->code;