aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-01-07 21:43:00 +0100
committerMikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-01-07 21:43:00 +0100
commit55f63935ab9319da8e145b49edc1a7ae3e6782c6 (patch)
treea854f1068b7360952835b38bc38a1138bf1de7f0 /include
parent8f5de70c93b2afaab0dd7d384c58ff3d3007193c (diff)
downloadsway-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.h1
-rw-r--r--include/input_state.h3
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);