diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-07 21:43:00 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-07 21:43:00 +0100 |
commit | 55f63935ab9319da8e145b49edc1a7ae3e6782c6 (patch) | |
tree | a854f1068b7360952835b38bc38a1138bf1de7f0 /include | |
parent | 8f5de70c93b2afaab0dd7d384c58ff3d3007193c (diff) | |
download | sway-55f63935ab9319da8e145b49edc1a7ae3e6782c6.tar.xz |
Implement bindsym --release
This is a "simple" version of --release (same as i3) that only supports
a binding that contain one normal key. e.g.:
bindsym --release $mod+x exec somthing-fun
I didn't bother implementing it for a combination like `$mod+x+z` since
it is a bit tricky to get right and also a bit weird to actually do on a
keyboard.
Diffstat (limited to 'include')
-rw-r--r-- | include/config.h | 1 | ||||
-rw-r--r-- | include/input_state.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h index 5e1c39f3..8220f804 100644 --- a/include/config.h +++ b/include/config.h @@ -22,6 +22,7 @@ struct sway_variable { */ struct sway_binding { int order; + bool release; list_t *keys; uint32_t modifiers; char *command; diff --git a/include/input_state.h b/include/input_state.h index 79e27d91..903301fb 100644 --- a/include/input_state.h +++ b/include/input_state.h @@ -9,6 +9,9 @@ // returns true if key has been pressed, otherwise false bool check_key(uint32_t key_sym, uint32_t key_code); +// returns true if key_sym matches latest released key. +bool check_released_key(uint32_t key_sym); + // sets a key as pressed void press_key(uint32_t key_sym, uint32_t key_code); |