aboutsummaryrefslogtreecommitdiffstats
path: root/src/keysym.h
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-01-09 13:39:17 +0100
committerLouis Burda <quent.burda@gmail.com>2023-01-09 13:39:17 +0100
commitc70a527d0418b4f32437873f682680f451fa4fb8 (patch)
tree485c66f56f417f039f02968658e81945a6790520 /src/keysym.h
parent2c1db6b9b0ee16f7da7ef18164ce96fda7b4a572 (diff)
downloadsxkbd-c70a527d0418b4f32437873f682680f451fa4fb8.tar.gz
sxkbd-c70a527d0418b4f32437873f682680f451fa4fb8.zip
Fix macro_send for multiple held keys
Diffstat (limited to 'src/keysym.h')
-rw-r--r--src/keysym.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/keysym.h b/src/keysym.h
index 7e3f6f2..c62bd8f 100644
--- a/src/keysym.h
+++ b/src/keysym.h
@@ -23,8 +23,9 @@
#define IS_MACRO_HOLD(x) ((x) & (1U << B_MACRO_HOLD))
#define IS_MACRO_RELEASE(x) ((x) & (1U << B_MACRO_RELEASE))
-#define IS_MACRO_PRESS(x) (!IS_MACRO_HOLD(x) && !IS_MACRO_RELEASE(x))
#define IS_MACRO_DELAY(x) ((x) & (1U << B_MACRO_DELAY))
+#define IS_MACRO_PRESS(x) (!IS_MACRO_HOLD(x) && !IS_MACRO_RELEASE(x) \
+ && !IS_MACRO_DELAY(x))
#define IS_LEFT_CTRL(x) (IS_CTRL(x) && !IS_RIGHT(x))
#define IS_RIGHT_CTRL(x) (IS_CTRL(x) && IS_RIGHT(x))
@@ -38,9 +39,10 @@
#define IS_MOD(x) ((x) & MASK(B_TOGGLE, B_CTRL))
#define TO_SPECIAL(x) (((x) >> B_SPECIAL_SEL) & 0b11)
-#define TO_KC(x) ((x) & 0xFF)
-#define TO_SYM(x) ((x) & 0xFF)
+#define TO_KC(x) ((x) & 0xFF)
+#define TO_USER(x) ((x) & 0xFF)
#define TO_LAYER(x) ((x) & 0xFF)
+#define TO_SYM(x) ((x) & 0xFFFF)
#define TO_DELAY(x) ((x) & 0xFFFF)
#define SPECIAL(x, g) ((x) | (1U << B_SPECIAL) | ((g) << B_SPECIAL_SEL))