diff options
| author | skullY <skullydazed@gmail.com> | 2019-08-30 11:19:03 -0700 |
|---|---|---|
| committer | skullydazed <skullydazed@users.noreply.github.com> | 2019-08-30 15:01:52 -0700 |
| commit | b624f32f944acdc59dcb130674c09090c5c404cb (patch) | |
| tree | bc13adbba137d122d9a2c2fb2fafcbb08ac10e25 /quantum/process_keycode/process_key_lock.c | |
| parent | 61af76a10d00aba185b8338604171de490a13e3b (diff) | |
| download | qmk_firmware-b624f32f944acdc59dcb130674c09090c5c404cb.tar.gz qmk_firmware-b624f32f944acdc59dcb130674c09090c5c404cb.zip | |
clang-format changes
Diffstat (limited to 'quantum/process_keycode/process_key_lock.c')
| -rw-r--r-- | quantum/process_keycode/process_key_lock.c | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index 50cc0a5cc..602127a74 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c | |||
| @@ -19,36 +19,33 @@ | |||
| 19 | #include "process_key_lock.h" | 19 | #include "process_key_lock.h" |
| 20 | 20 | ||
| 21 | #define BV_64(shift) (((uint64_t)1) << (shift)) | 21 | #define BV_64(shift) (((uint64_t)1) << (shift)) |
| 22 | #define GET_KEY_ARRAY(code) (((code) < 0x40) ? key_state[0] : \ | 22 | #define GET_KEY_ARRAY(code) (((code) < 0x40) ? key_state[0] : ((code) < 0x80) ? key_state[1] : ((code) < 0xC0) ? key_state[2] : key_state[3]) |
| 23 | ((code) < 0x80) ? key_state[1] : \ | 23 | #define GET_CODE_INDEX(code) (((code) < 0x40) ? (code) : ((code) < 0x80) ? (code)-0x40 : ((code) < 0xC0) ? (code)-0x80 : (code)-0xC0) |
| 24 | ((code) < 0xC0) ? key_state[2] : key_state[3]) | 24 | #define KEY_STATE(code) (GET_KEY_ARRAY(code) & BV_64(GET_CODE_INDEX(code))) == BV_64(GET_CODE_INDEX(code)) |
| 25 | #define GET_CODE_INDEX(code) (((code) < 0x40) ? (code) : \ | 25 | #define SET_KEY_ARRAY_STATE(code, val) \ |
| 26 | ((code) < 0x80) ? (code) - 0x40 : \ | 26 | do { \ |
| 27 | ((code) < 0xC0) ? (code) - 0x80 : (code) - 0xC0) | 27 | switch (code) { \ |
| 28 | #define KEY_STATE(code) (GET_KEY_ARRAY(code) & BV_64(GET_CODE_INDEX(code))) == BV_64(GET_CODE_INDEX(code)) | 28 | case 0x00 ... 0x3F: \ |
| 29 | #define SET_KEY_ARRAY_STATE(code, val) do { \ | 29 | key_state[0] = (val); \ |
| 30 | switch (code) { \ | 30 | break; \ |
| 31 | case 0x00 ... 0x3F: \ | 31 | case 0x40 ... 0x7F: \ |
| 32 | key_state[0] = (val); \ | 32 | key_state[1] = (val); \ |
| 33 | break; \ | 33 | break; \ |
| 34 | case 0x40 ... 0x7F: \ | 34 | case 0x80 ... 0xBF: \ |
| 35 | key_state[1] = (val); \ | 35 | key_state[2] = (val); \ |
| 36 | break; \ | 36 | break; \ |
| 37 | case 0x80 ... 0xBF: \ | 37 | case 0xC0 ... 0xFF: \ |
| 38 | key_state[2] = (val); \ | 38 | key_state[3] = (val); \ |
| 39 | break; \ | 39 | break; \ |
| 40 | case 0xC0 ... 0xFF: \ | 40 | } \ |
| 41 | key_state[3] = (val); \ | 41 | } while (0) |
| 42 | break; \ | ||
| 43 | } \ | ||
| 44 | } while(0) | ||
| 45 | #define SET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code) | BV_64(GET_CODE_INDEX(code)))) | 42 | #define SET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code) | BV_64(GET_CODE_INDEX(code)))) |
| 46 | #define UNSET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code)) & ~(BV_64(GET_CODE_INDEX(code)))) | 43 | #define UNSET_KEY_STATE(code) SET_KEY_ARRAY_STATE(code, (GET_KEY_ARRAY(code)) & ~(BV_64(GET_CODE_INDEX(code)))) |
| 47 | #define IS_STANDARD_KEYCODE(code) ((code) <= 0xFF) | 44 | #define IS_STANDARD_KEYCODE(code) ((code) <= 0xFF) |
| 48 | 45 | ||
| 49 | // Locked key state. This is an array of 256 bits, one for each of the standard keys supported qmk. | 46 | // Locked key state. This is an array of 256 bits, one for each of the standard keys supported qmk. |
| 50 | uint64_t key_state[4] = { 0x0, 0x0, 0x0, 0x0 }; | 47 | uint64_t key_state[4] = {0x0, 0x0, 0x0, 0x0}; |
| 51 | bool watching = false; | 48 | bool watching = false; |
| 52 | 49 | ||
| 53 | // Translate any OSM keycodes back to their unmasked versions. | 50 | // Translate any OSM keycodes back to their unmasked versions. |
| 54 | static inline uint16_t translate_keycode(uint16_t keycode) { | 51 | static inline uint16_t translate_keycode(uint16_t keycode) { |
| @@ -135,4 +132,3 @@ bool process_key_lock(uint16_t *keycode, keyrecord_t *record) { | |||
| 135 | return !(IS_STANDARD_KEYCODE(translated_keycode) && KEY_STATE(translated_keycode)); | 132 | return !(IS_STANDARD_KEYCODE(translated_keycode) && KEY_STATE(translated_keycode)); |
| 136 | } | 133 | } |
| 137 | } | 134 | } |
| 138 | |||
