diff options
| author | taiyu <taiyu.len@gmail.com> | 2015-08-19 20:22:15 -0700 |
|---|---|---|
| committer | taiyu <taiyu.len@gmail.com> | 2015-08-19 20:22:15 -0700 |
| commit | 5ff0619ca1cab044004df044c253c9170b8316c3 (patch) | |
| tree | 7872a66e494acb90dd08ffc76665557b0e0ca874 /include/input_state.h | |
| parent | 470b4dfbae146d83c0061b39534c16b5aad90f1c (diff) | |
input state, find_container_in_direction
Diffstat (limited to 'include/input_state.h')
| -rw-r--r-- | include/input_state.h | 49 |
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 + |
