aboutsummaryrefslogtreecommitdiff
path: root/include/input_state.h
diff options
context:
space:
mode:
authorHalf-Shot <half-shot@molrams.com>2015-08-20 21:32:08 +0100
committerHalf-Shot <half-shot@molrams.com>2015-08-20 21:32:08 +0100
commit5a9ba261bca4ca709ec7a14d2019b55d9ce06994 (patch)
treefe1a924cf8055b2b722566db6ab98295dcf08ce7 /include/input_state.h
parent2a62c5c7fb71fc815663281793ba6a89d2b246ed (diff)
parent1100335ea01ecd56df68568622580db14e72b6c7 (diff)
Merge branch 'master' of https://github.com/SirCmpwn/sway
Diffstat (limited to 'include/input_state.h')
-rw-r--r--include/input_state.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/include/input_state.h b/include/input_state.h
new file mode 100644
index 00000000..782b4b19
--- /dev/null
+++ b/include/input_state.h
@@ -0,0 +1,49 @@
+#ifndef _SWAY_KEY_STATE_H
+#define _SWAY_KEY_STATE_H
+#include <stdbool.h>
+#include <stdint.h>
+#include "container.h"
+
+/* Keyboard state */
+
+typedef uint32_t keycode;
+
+// returns true if key has been pressed, otherwise false
+bool check_key(keycode key);
+
+// sets a key as pressed
+void press_key(keycode key);
+
+// unsets a key as pressed
+void release_key(keycode key);
+
+/* Pointer state */
+
+enum pointer_values {
+ M_LEFT_CLICK = 272,
+ M_RIGHT_CLICK = 273,
+ M_SCROLL_CLICK = 274,
+ M_SCROLL_UP = 275,
+ M_SCROLL_DOWN = 276,
+};
+
+extern struct pointer_state {
+ bool l_held;
+ bool r_held;
+ struct pointer_floating {
+ bool drag;
+ bool resize;
+ } floating;
+ struct pointer_lock {
+ bool left;
+ bool right;
+ bool top;
+ bool bottom;
+ } lock;
+} pointer_state;
+
+void start_floating(swayc_t *view);
+void reset_floating(swayc_t *view);
+
+#endif
+