diff options
Diffstat (limited to 'src/keysym.h')
| -rw-r--r-- | src/keysym.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/keysym.h b/src/keysym.h index 620ef31..17e5e87 100644 --- a/src/keysym.h +++ b/src/keysym.h @@ -5,17 +5,18 @@ #define XXXXXXX KC_NO #define _______ KC_TRNS -#define MASK(hi, lo) ((1 << (hi)) - (1 << (lo))) +#define MASK(hi, lo) ((1U << (hi)) - (1U << (lo))) -#define IS_CODE(x) (!((x) & MASK(B_MODMAX+1, B_MODMIN))) -#define IS_CTRL(x) ((x) & (1 << B_CTRL)) -#define IS_SHIFT(x) ((x) & (1 << B_SHIFT)) -#define IS_ALT(x) ((x) & (1 << B_ALT)) -#define IS_GUI(x) ((x) & (1 << B_GUI)) -#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_CODE(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)) +#define IS_GUI(x) ((x) & (1 << B_GUI)) +#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 TO_CODE(x) ((x) & 0xFF) #define TO_LAYER(x) ((x) & 0xFF) @@ -29,6 +30,11 @@ #define RALT(x) (LALT(x) | (1 << B_RIGHT)) #define RGUI(x) (LGUI(x) | (1 << B_RIGHT)) +#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 LOPT(x) LALT(x) #define LCMD(x) LGUI(x) #define LWIN(x) LGUI(x) @@ -41,16 +47,9 @@ #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)) -#define B_MODMIN B_TOGGLE -#define B_MODMAX B_MODSWT - enum { B_CTRL = 8, B_SHIFT, @@ -60,5 +59,6 @@ enum { B_TOGGLE, B_SWITCH, B_MODSWT, + B_SPECIAL }; |
