diff options
Diffstat (limited to 'src/keysym.h')
| -rw-r--r-- | src/keysym.h | 29 |
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 }; |
