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,
Last,
Compose,
CodeMod,
Copy,
};
@ -170,20 +169,12 @@ void
kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
uint8_t mods_before;
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:
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 (k->layout) {
compose++;
@ -204,6 +195,10 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
compose++;
}
}
if (k->code_mod) {
kb->mods = mods_before;
zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
}
break;
case Mod:
kb->mods ^= k->code;