aboutsummaryrefslogtreecommitdiffstats
path: root/src/keysym.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/keysym.h')
-rw-r--r--src/keysym.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/keysym.h b/src/keysym.h
index 17e5e87..7737284 100644
--- a/src/keysym.h
+++ b/src/keysym.h
@@ -7,7 +7,7 @@
#define MASK(hi, lo) ((1U << (hi)) - (1U << (lo)))
-#define IS_CODE(x) (!((x) & ~MASK(B_TOGGLE, 0)))
+#define IS_KC(x) (!((x) & ~MASK(B_TOGGLE, 0)))
#define IS_CTRL(x) ((x) & (1 << B_CTRL))
#define IS_SHIFT(x) ((x) & (1 << B_SHIFT))
#define IS_ALT(x) ((x) & (1 << B_ALT))
@@ -15,10 +15,21 @@
#define IS_RIGHT(x) ((x) & (1 << B_RIGHT))
#define IS_TOGGLE(x) ((x) & (1 << B_TOGGLE))
#define IS_SWITCH(x) ((x) & (1 << B_SWITCH))
-#define IS_MODSWT(x) ((x) & (1 << B_MODSWT))
-#define IS_SPECIAL(x) ((x) & (1 << B_SPECIAL))
+#define IS_USER(x) ((x) & (1 << B_USER))
-#define TO_CODE(x) ((x) & 0xFF)
+#define IS_LEFT_CTRL(x) (IS_CTRL(x) && !IS_RIGHT(x))
+#define IS_RIGHT_CTRL(x) (IS_CTRL(x) && IS_RIGHT(x))
+#define IS_LEFT_SHIFT(x) (IS_SHIFT(x) && !IS_RIGHT(x))
+#define IS_RIGHT_SHIFT(x) (IS_SHIFT(x) && IS_RIGHT(x))
+#define IS_LEFT_ALT(x) (IS_ALT(x) && !IS_RIGHT(x))
+#define IS_RIGHT_ALT(x) (IS_ALT(x) && IS_RIGHT(x))
+#define IS_LEFT_GUI(x) (IS_GUI(x) && !IS_RIGHT(x))
+#define IS_RIGHT_GUI(x) (IS_GUI(x) && IS_RIGHT(x))
+
+#define IS_MOD(x) ((x) & MASK(B_TOGGLE, 8))
+
+#define TO_KC(x) ((x) & 0xFF)
+#define TO_SYM(x) ((x) & 0xFF)
#define TO_LAYER(x) ((x) & 0xFF)
#define LCTL(x) ((x) | (1 << B_CTRL))
@@ -32,8 +43,7 @@
#define SW(x) ((x) | (1 << B_SWITCH))
#define TO(x) ((x) | (1 << B_TOGGLE))
-#define MO(x) ((x) | (1 << B_MODSWT))
-#define SX(x) ((x) | (1 << B_SPECIAL))
+#define SX(x) ((x) | (1 << B_USER))
#define LOPT(x) LALT(x)
#define LCMD(x) LGUI(x)
@@ -47,8 +57,8 @@
#define A(x) LALT(x)
#define G(x) LGUI(x)
-#define CS(x) C(MO(x))
-#define GS(x) G(MO(x))
+#define CS(x) C(SW(x))
+#define GS(x) G(SW(x))
enum {
B_CTRL = 8,
@@ -58,7 +68,6 @@ enum {
B_RIGHT,
B_TOGGLE,
B_SWITCH,
- B_MODSWT,
- B_SPECIAL
+ B_USER
};