diff options
| author | Maarten van Gompel <proycon@anaproy.nl> | 2021-08-24 00:43:01 +0200 |
|---|---|---|
| committer | John Sullivan <jsullivan@csumb.edu> | 2021-10-19 23:12:01 -0700 |
| commit | 3e73b613ed3bc666f918edcf96b93cf37d28cd88 (patch) | |
| tree | 763468467bc30197be229a74f808e026c0b3ba0c /keyboard.h | |
| parent | 3a362b1f785aa9298097034f5b78edb6fefc3f1c (diff) | |
| download | suggpicker-3e73b613ed3bc666f918edcf96b93cf37d28cd88.tar.gz | |
Also release shift after key release
Diffstat (limited to 'keyboard.h')
| -rw-r--r-- | keyboard.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/keyboard.h b/keyboard.h index e37b63c..a327fe2 100644 --- a/keyboard.h +++ b/keyboard.h @@ -57,8 +57,8 @@ struct key { struct layout { struct key *keys; - uint32_t keyheight; //absolute height (pixels) const char * keymap_name; + uint32_t keyheight; //absolute height (pixels) }; struct kbd { @@ -167,14 +167,19 @@ kbd_unpress_key(struct kbd *kb, uint32_t time) { } kb->last_press = NULL; + if (compose >= 2) { compose = 0; if ((!kb->prevlayout) || (strcmp(kb->prevlayout->keymap_name, kb->layout->keymap_name) != 0)) { create_and_upload_keymap(kb->layout->keymap_name, 0, 0); } kb->layout = kb->prevlayout; + if (kb->mods & Shift == Shift) kb->mods ^= Shift; + kbd_draw_layout(kb); + } else if (kb->mods & Shift == Shift) { + kb->mods ^= Shift; kbd_draw_layout(kb); - } + } } } |
