aboutsummaryrefslogtreecommitdiff
path: root/include/input_state.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2016-01-06 07:26:54 -0500
committerDrew DeVault <sir@cmpwn.com>2016-01-06 07:26:54 -0500
commit8f5de70c93b2afaab0dd7d384c58ff3d3007193c (patch)
tree4826eca48ec5d4d2b827477c74de7d500f39f0fa /include/input_state.h
parent18f81850114af1ca969387e0715d9284e77b0148 (diff)
parent843e2ad2c140288733110691f7dc8252fbe4dc16 (diff)
Merge pull request #434 from mikkeloscar/detect-modifier
Send IPC modifier event on bar_modifier up/down
Diffstat (limited to 'include/input_state.h')
-rw-r--r--include/input_state.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/input_state.h b/include/input_state.h
index a1f238e1..79e27d91 100644
--- a/include/input_state.h
+++ b/include/input_state.h
@@ -60,6 +60,12 @@ extern struct pointer_state {
int mode;
} pointer_state;
+enum modifier_state {
+ MOD_STATE_UNCHANGED = 0,
+ MOD_STATE_PRESSED = 1,
+ MOD_STATE_RELEASED = 2
+};
+
void pointer_position_set(struct wlc_origin *new_origin, bool force_focus);
void center_pointer_on(swayc_t *view);
@@ -75,5 +81,19 @@ void pointer_mode_reset(void);
void input_init(void);
+/**
+ * Check if state of mod changed from current state to new_state.
+ *
+ * Returns MOD_STATE_UNCHANGED if the state didn't change, MOD_STATE_PRESSED if
+ * the state changed to pressed and MOD_STATE_RELEASED if the state changed to
+ * released.
+ */
+uint32_t modifier_state_changed(uint32_t new_state, uint32_t mod);
+
+/**
+ * Update the current modifiers state to new_state.
+ */
+void modifiers_state_update(uint32_t new_state);
+
#endif