diff options
Diffstat (limited to 'src/keysym.h')
| -rw-r--r-- | src/keysym.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/keysym.h b/src/keysym.h index 3a7720c..1e6b103 100644 --- a/src/keysym.h +++ b/src/keysym.h @@ -3,6 +3,9 @@ #define XXXXXXX KC_NO #define _______ KC_TRNS +#define MASK(hi, lo) ((1 << hi) - (1 << lo)) + +#define IS_CODE(x) (!((x) & MASK(B_MAX, 8))) #define IS_CTRL(x) ((x) & (1 << B_CTRL)) #define IS_SHIFT(x) ((x) & (1 << B_SHIFT)) #define IS_ALT(x) ((x) & (1 << B_ALT)) @@ -10,6 +13,7 @@ #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 TO_CODE(x) ((x) & 0xFF) #define TO_LAYER(x) ((x) & 0xFF) @@ -35,13 +39,22 @@ #define A(x) LALT(x) #define G(x) LGUI(x) +#define SW(x) ((x) | (1 << B_SWITCH)) +#define TO(x) ((x) | (1 << B_TOGGLE)) +#define MO(x) ((x) | (1 << B_MODSWT)) + +#define CS(x) C(MO(x)) +#define GS(x) G(MO(x)) + enum { B_CTRL = 8, B_SHIFT, B_ALT, B_GUI, - R_RIGHT, + B_RIGHT, B_TOGGLE, B_SWITCH, + B_MODSWT, + B_MAX }; |
