summaryrefslogtreecommitdiff
path: root/xkbcommon
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2012-08-08 14:26:23 +0200
committerDaniel Stone <daniel@fooishbar.org>2012-08-08 16:23:31 +0200
commit2f1f1bca5b28807293920e613de6c9ff705853bf (patch)
treeefab8d8ff9fa163e3e254ba9e4ecd5bf5ae97845 /xkbcommon
parent5e276adb9209749f1b5152853c640ec444df7051 (diff)
Add xkb_map_mod_mask_remove_consumed
A fairly simple helper which, given an xkb_mod_mask_t, removes all modifiers which are consumed during processing of a particular key. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Diffstat (limited to 'xkbcommon')
-rw-r--r--xkbcommon/xkbcommon.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/xkbcommon/xkbcommon.h b/xkbcommon/xkbcommon.h
index 6afe5e1..0c2f06f 100644
--- a/xkbcommon/xkbcommon.h
+++ b/xkbcommon/xkbcommon.h
@@ -657,6 +657,15 @@ xkb_key_mod_index_is_consumed(struct xkb_state *state, xkb_keycode_t key,
xkb_mod_index_t idx);
/**
+ * Takes the given modifier mask, and removes all modifiers which are
+ * marked as 'consumed' (see xkb_key_mod_index_is_consumed definition)
+ * for that particular key.
+ */
+xkb_mod_mask_t
+xkb_key_mod_mask_remove_consumed(struct xkb_state *state, xkb_keycode_t key,
+ xkb_mod_mask_t mask);
+
+/**
* Returns 1 if the modifiers specified by the varargs (treated as
* xkb_mod_index_t, terminated with XKB_MOD_INVALID) are active in the manner
* specified by 'match' and 'type', 0 otherwise, or -1 if the modifier does not