X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fprocess_keycode%2Fprocess_key_lock.c;h=50cc0a5ccbb2415c7091fb57655f2e72935e9abf;hb=f4949fdd32604ebf7b6cf2ac8919b57be8d0bc35;hp=b1ba397a026576d2b321601d2ee31b1dfc8b7a37;hpb=a3e1d9a8cc8b3d376d52f86aacae6315b15efebf;p=qmk_firmware.git diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index b1ba397a0..50cc0a5cc 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c @@ -18,14 +18,14 @@ #include "stdint.h" #include "process_key_lock.h" -#define SHIFT(shift) (((uint64_t)1) << (shift)) +#define BV_64(shift) (((uint64_t)1) << (shift)) #define GET_KEY_ARRAY(code) (((code) < 0x40) ? key_state[0] : \ ((code) < 0x80) ? key_state[1] : \ ((code) < 0xC0) ? key_state[2] : key_state[3]) #define GET_CODE_INDEX(code) (((code) < 0x40) ? (code) : \ ((code) < 0x80) ? (code) - 0x40 : \ ((code) < 0xC0) ? (code) - 0x80 : (code) - 0xC0) -#define KEY_STATE(code) (GET_KEY_ARRAY(code) & SHIFT(GET_CODE_INDEX(code))) == SHIFT(GET_CODE_INDEX(code)) +#define KEY_STATE(code) (GET_KEY_ARRAY(code) & BV_64(GET_CODE_INDEX(code))) == BV_64(GET_CODE_INDEX(code)) #define SET_KEY_ARRAY_STATE(code, val) do { \ switch (code) { \ case 0x00 ... 0x3F: \ @@ -42,8 +42,8 @@ break; \ } \ } while(0) -#define SET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code) | SHIFT(GET_CODE_INDEX(code)))) -#define UNSET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code)) & ~(SHIFT(GET_CODE_INDEX(code)))) +#define SET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code) | BV_64(GET_CODE_INDEX(code)))) +#define UNSET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code)) & ~(BV_64(GET_CODE_INDEX(code)))) #define IS_STANDARD_KEYCODE(code) ((code) <= 0xFF) // Locked key state. This is an array of 256 bits, one for each of the standard keys supported qmk. @@ -51,7 +51,7 @@ uint64_t key_state[4] = { 0x0, 0x0, 0x0, 0x0 }; bool watching = false; // Translate any OSM keycodes back to their unmasked versions. -uint16_t inline translate_keycode(uint16_t keycode) { +static inline uint16_t translate_keycode(uint16_t keycode) { if (keycode > QK_ONE_SHOT_MOD && keycode <= QK_ONE_SHOT_MOD_MAX) { return keycode ^ QK_ONE_SHOT_MOD; } else {