From b624f32f944acdc59dcb130674c09090c5c404cb Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 30 Aug 2019 11:19:03 -0700 Subject: clang-format changes --- tmk_core/common/action.c | 671 ++++++++++++++++++++++++----------------------- 1 file changed, 343 insertions(+), 328 deletions(-) (limited to 'tmk_core/common/action.c') diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index f47fd20fc..1ba38a285 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -29,9 +29,9 @@ along with this program. If not, see . #include "wait.h" #ifdef DEBUG_ACTION -#include "debug.h" +# include "debug.h" #else -#include "nodebug.h" +# include "nodebug.h" #endif int tp_buttons; @@ -41,24 +41,25 @@ int retro_tapping_counter = 0; #endif #ifdef FAUXCLICKY_ENABLE -#include +# include #endif #ifndef TAP_CODE_DELAY -# define TAP_CODE_DELAY 0 +# define TAP_CODE_DELAY 0 #endif #ifndef TAP_HOLD_CAPS_DELAY -# define TAP_HOLD_CAPS_DELAY 80 +# define TAP_HOLD_CAPS_DELAY 80 #endif /** \brief Called to execute an action. * * FIXME: Needs documentation. */ -void action_exec(keyevent_t event) -{ +void action_exec(keyevent_t event) { if (!IS_NOEVENT(event)) { dprint("\n---- action_exec: start -----\n"); - dprint("EVENT: "); debug_event(event); dprintln(); + dprint("EVENT: "); + debug_event(event); + dprintln(); #ifdef RETRO_TAPPING retro_tapping_counter++; #endif @@ -80,7 +81,7 @@ void action_exec(keyevent_t event) } #endif - keyrecord_t record = { .event = event }; + keyrecord_t record = {.event = event}; #if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) if (has_oneshot_layer_timed_out()) { @@ -96,14 +97,16 @@ void action_exec(keyevent_t event) #else process_record(&record); if (!IS_NOEVENT(record.event)) { - dprint("processed: "); debug_record(record); dprintln(); + dprint("processed: "); + debug_record(record); + dprintln(); } #endif } #ifdef SWAP_HANDS_ENABLE bool swap_hands = false; -bool swap_held = false; +bool swap_held = false; /** \brief Process Hand Swap * @@ -112,10 +115,9 @@ bool swap_held = false; void process_hand_swap(keyevent_t *event) { static swap_state_row_t swap_state[MATRIX_ROWS]; - keypos_t pos = event->key; - swap_state_row_t col_bit = (swap_state_row_t)1<pressed ? swap_hands : - swap_state[pos.row] & (col_bit); + keypos_t pos = event->key; + swap_state_row_t col_bit = (swap_state_row_t)1 << pos.col; + bool do_swap = event->pressed ? swap_hands : swap_state[pos.row] & (col_bit); if (do_swap) { event->key = hand_swap_config[pos.row][pos.col]; @@ -129,44 +131,36 @@ void process_hand_swap(keyevent_t *event) { #if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE) bool disable_action_cache = false; -void process_record_nocache(keyrecord_t *record) -{ +void process_record_nocache(keyrecord_t *record) { disable_action_cache = true; process_record(record); disable_action_cache = false; } #else -void process_record_nocache(keyrecord_t *record) -{ - process_record(record); -} +void process_record_nocache(keyrecord_t *record) { process_record(record); } #endif -__attribute__ ((weak)) -bool process_record_quantum(keyrecord_t *record) { - return true; -} +__attribute__((weak)) bool process_record_quantum(keyrecord_t *record) { return true; } #ifndef NO_ACTION_TAPPING /** \brief Allows for handling tap-hold actions immediately instead of waiting for TAPPING_TERM or another keypress. * * FIXME: Needs documentation. */ -void process_record_tap_hint(keyrecord_t *record) -{ +void process_record_tap_hint(keyrecord_t *record) { action_t action = layer_switch_get_action(record->event.key); switch (action.kind.id) { -#ifdef SWAP_HANDS_ENABLE +# ifdef SWAP_HANDS_ENABLE case ACT_SWAP_HANDS: switch (action.swap.code) { case OP_SH_TAP_TOGGLE: default: swap_hands = !swap_hands; - swap_held = true; + swap_held = true; } break; -#endif +# endif } } #endif @@ -175,18 +169,21 @@ void process_record_tap_hint(keyrecord_t *record) * * FIXME: Needs documentation. */ -void process_record(keyrecord_t *record) -{ - if (IS_NOEVENT(record->event)) { return; } - - if(!process_record_quantum(record)) +void process_record(keyrecord_t *record) { + if (IS_NOEVENT(record->event)) { return; + } + + if (!process_record_quantum(record)) return; action_t action = store_or_get_action(record->event.pressed, record->event.key); - dprint("ACTION: "); debug_action(action); + dprint("ACTION: "); + debug_action(action); #ifndef NO_ACTION_LAYER - dprint(" layer_state: "); layer_debug(); - dprint(" default_layer_state: "); default_layer_debug(); + dprint(" layer_state: "); + layer_debug(); + dprint(" default_layer_state: "); + default_layer_debug(); #endif dprintln(); @@ -197,8 +194,7 @@ void process_record(keyrecord_t *record) * * FIXME: Needs documentation. */ -void process_action(keyrecord_t *record, action_t action) -{ +void process_action(keyrecord_t *record, action_t action) { keyevent_t event = record->event; #ifndef NO_ACTION_TAPPING uint8_t tap_count = record->tap.count; @@ -221,131 +217,125 @@ void process_action(keyrecord_t *record, action_t action) switch (action.kind.id) { /* Key and Mods */ case ACT_LMODS: - case ACT_RMODS: - { - uint8_t mods = (action.kind.id == ACT_LMODS) ? action.key.mods : - action.key.mods<<4; - if (event.pressed) { - if (mods) { - if (IS_MOD(action.key.code) || action.key.code == KC_NO) { - // e.g. LSFT(KC_LGUI): we don't want the LSFT to be weak as it would make it useless. - // This also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT). - // Same applies for some keys like KC_MEH which are declared as MEH(KC_NO). - add_mods(mods); - } else { - add_weak_mods(mods); - } - send_keyboard_report(); + case ACT_RMODS: { + uint8_t mods = (action.kind.id == ACT_LMODS) ? action.key.mods : action.key.mods << 4; + if (event.pressed) { + if (mods) { + if (IS_MOD(action.key.code) || action.key.code == KC_NO) { + // e.g. LSFT(KC_LGUI): we don't want the LSFT to be weak as it would make it useless. + // This also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT). + // Same applies for some keys like KC_MEH which are declared as MEH(KC_NO). + add_mods(mods); + } else { + add_weak_mods(mods); } - register_code(action.key.code); - } else { - unregister_code(action.key.code); - if (mods) { - if (IS_MOD(action.key.code) || action.key.code == KC_NO) { - del_mods(mods); - } else { - del_weak_mods(mods); - } - send_keyboard_report(); + send_keyboard_report(); + } + register_code(action.key.code); + } else { + unregister_code(action.key.code); + if (mods) { + if (IS_MOD(action.key.code) || action.key.code == KC_NO) { + del_mods(mods); + } else { + del_weak_mods(mods); } + send_keyboard_report(); } } - break; + } break; #ifndef NO_ACTION_TAPPING case ACT_LMODS_TAP: - case ACT_RMODS_TAP: - { - uint8_t mods = (action.kind.id == ACT_LMODS_TAP) ? action.key.mods : - action.key.mods<<4; - switch (action.layer_tap.code) { - #ifndef NO_ACTION_ONESHOT - case MODS_ONESHOT: - // Oneshot modifier - if (event.pressed) { - if (tap_count == 0) { - dprint("MODS_TAP: Oneshot: 0\n"); - register_mods(mods | get_oneshot_mods()); - } else if (tap_count == 1) { - dprint("MODS_TAP: Oneshot: start\n"); - set_oneshot_mods(mods | get_oneshot_mods()); - #if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 - } else if (tap_count == ONESHOT_TAP_TOGGLE) { - dprint("MODS_TAP: Toggling oneshot"); - clear_oneshot_mods(); - set_oneshot_locked_mods(mods); - register_mods(mods); - #endif - } else { - register_mods(mods | get_oneshot_mods()); - } + case ACT_RMODS_TAP: { + uint8_t mods = (action.kind.id == ACT_LMODS_TAP) ? action.key.mods : action.key.mods << 4; + switch (action.layer_tap.code) { +# ifndef NO_ACTION_ONESHOT + case MODS_ONESHOT: + // Oneshot modifier + if (event.pressed) { + if (tap_count == 0) { + dprint("MODS_TAP: Oneshot: 0\n"); + register_mods(mods | get_oneshot_mods()); + } else if (tap_count == 1) { + dprint("MODS_TAP: Oneshot: start\n"); + set_oneshot_mods(mods | get_oneshot_mods()); +# if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 + } else if (tap_count == ONESHOT_TAP_TOGGLE) { + dprint("MODS_TAP: Toggling oneshot"); + clear_oneshot_mods(); + set_oneshot_locked_mods(mods); + register_mods(mods); +# endif } else { - if (tap_count == 0) { - clear_oneshot_mods(); - unregister_mods(mods); - } else if (tap_count == 1) { - // Retain Oneshot mods - #if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 - if (mods & get_mods()) { - clear_oneshot_locked_mods(); - clear_oneshot_mods(); - unregister_mods(mods); - } - } else if (tap_count == ONESHOT_TAP_TOGGLE) { - // Toggle Oneshot Layer - #endif - } else { + register_mods(mods | get_oneshot_mods()); + } + } else { + if (tap_count == 0) { + clear_oneshot_mods(); + unregister_mods(mods); + } else if (tap_count == 1) { + // Retain Oneshot mods +# if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 + if (mods & get_mods()) { + clear_oneshot_locked_mods(); clear_oneshot_mods(); unregister_mods(mods); } + } else if (tap_count == ONESHOT_TAP_TOGGLE) { + // Toggle Oneshot Layer +# endif + } else { + clear_oneshot_mods(); + unregister_mods(mods); } - break; - #endif - case MODS_TAP_TOGGLE: - if (event.pressed) { - if (tap_count <= TAPPING_TOGGLE) { + } + break; +# endif + case MODS_TAP_TOGGLE: + if (event.pressed) { + if (tap_count <= TAPPING_TOGGLE) { + register_mods(mods); + } + } else { + if (tap_count < TAPPING_TOGGLE) { + unregister_mods(mods); + } + } + break; + default: + if (event.pressed) { + if (tap_count > 0) { +# ifndef IGNORE_MOD_TAP_INTERRUPT + if (record->tap.interrupted) { + dprint("mods_tap: tap: cancel: add_mods\n"); + // ad hoc: set 0 to cancel tap + record->tap.count = 0; register_mods(mods); + } else +# endif + { + dprint("MODS_TAP: Tap: register_code\n"); + register_code(action.key.code); } } else { - if (tap_count < TAPPING_TOGGLE) { - unregister_mods(mods); - } + dprint("MODS_TAP: No tap: add_mods\n"); + register_mods(mods); } - break; - default: - if (event.pressed) { - if (tap_count > 0) { -#ifndef IGNORE_MOD_TAP_INTERRUPT - if (record->tap.interrupted) { - dprint("mods_tap: tap: cancel: add_mods\n"); - // ad hoc: set 0 to cancel tap - record->tap.count = 0; - register_mods(mods); - } else -#endif - { - dprint("MODS_TAP: Tap: register_code\n"); - register_code(action.key.code); - } - } else { - dprint("MODS_TAP: No tap: add_mods\n"); - register_mods(mods); + } else { + if (tap_count > 0) { + dprint("MODS_TAP: Tap: unregister_code\n"); + if (action.layer_tap.code == KC_CAPS) { + wait_ms(TAP_HOLD_CAPS_DELAY); } + unregister_code(action.key.code); } else { - if (tap_count > 0) { - dprint("MODS_TAP: Tap: unregister_code\n"); - if (action.layer_tap.code == KC_CAPS) { - wait_ms(TAP_HOLD_CAPS_DELAY); - } - unregister_code(action.key.code); - } else { - dprint("MODS_TAP: No tap: add_mods\n"); - unregister_mods(mods); - } + dprint("MODS_TAP: No tap: add_mods\n"); + unregister_mods(mods); } - break; - } + } + break; } - break; + } break; #endif #ifdef EXTRAKEY_ENABLE /* other HID usage */ @@ -374,13 +364,13 @@ void process_action(keyrecord_t *record, action_t action) if (event.pressed) { switch (action.key.code) { case KC_MS_BTN1: - tp_buttons |= (1<<0); + tp_buttons |= (1 << 0); break; case KC_MS_BTN2: - tp_buttons |= (1<<1); + tp_buttons |= (1 << 1); break; case KC_MS_BTN3: - tp_buttons |= (1<<2); + tp_buttons |= (1 << 2); break; default: break; @@ -390,13 +380,13 @@ void process_action(keyrecord_t *record, action_t action) } else { switch (action.key.code) { case KC_MS_BTN1: - tp_buttons &= ~(1<<0); + tp_buttons &= ~(1 << 0); break; case KC_MS_BTN2: - tp_buttons &= ~(1<<1); + tp_buttons &= ~(1 << 1); break; case KC_MS_BTN3: - tp_buttons &= ~(1<<2); + tp_buttons &= ~(1 << 2); break; default: break; @@ -411,28 +401,43 @@ void process_action(keyrecord_t *record, action_t action) if (action.layer_bitop.on == 0) { /* Default Layer Bitwise Operation */ if (!event.pressed) { - uint8_t shift = action.layer_bitop.part*4; - layer_state_t bits = ((layer_state_t)action.layer_bitop.bits)< 1 +# if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 do_release_oneshot = false; if (event.pressed) { del_mods(get_oneshot_locked_mods()); @@ -499,7 +501,7 @@ void process_action(keyrecord_t *record, action_t action) clear_oneshot_layer_state(ONESHOT_PRESSED); } } - #else +# else if (event.pressed) { layer_on(action.layer_tap.val); set_oneshot_layer(action.layer_tap.val, ONESHOT_START); @@ -509,9 +511,9 @@ void process_action(keyrecord_t *record, action_t action) clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); } } - #endif +# endif break; - #endif +# endif default: /* tap key */ if (event.pressed) { @@ -529,7 +531,7 @@ void process_action(keyrecord_t *record, action_t action) wait_ms(TAP_HOLD_CAPS_DELAY); } else { wait_ms(TAP_CODE_DELAY); - } + } unregister_code(action.layer_tap.code); } else { dprint("KEYMAP_TAP_KEY: No tap: Off on release\n"); @@ -539,9 +541,9 @@ void process_action(keyrecord_t *record, action_t action) break; } break; - #endif +# endif #endif - /* Extentions */ + /* Extentions */ #ifndef NO_ACTION_MACRO case ACT_MACRO: action_macro_play(action_get_macro(record, action.func.id, action.func.opt)); @@ -599,7 +601,7 @@ void process_action(keyrecord_t *record, action_t action) swap_hands = false; } break; - #ifndef NO_ACTION_TAPPING +# ifndef NO_ACTION_TAPPING case OP_SH_TAP_TOGGLE: /* tap toggle */ @@ -619,23 +621,23 @@ void process_action(keyrecord_t *record, action_t action) /* tap key */ if (tap_count > 0) { if (swap_held) { - swap_hands = !swap_hands; // undo hold set up in _tap_hint - swap_held = false; + swap_hands = !swap_hands; // undo hold set up in _tap_hint + swap_held = false; } if (event.pressed) { register_code(action.swap.code); } else { wait_ms(TAP_CODE_DELAY); unregister_code(action.swap.code); - *record = (keyrecord_t){}; // hack: reset tap mode + *record = (keyrecord_t){}; // hack: reset tap mode } } else { if (swap_held && !event.pressed) { - swap_hands = !swap_hands; // undo hold set up in _tap_hint - swap_held = false; + swap_hands = !swap_hands; // undo hold set up in _tap_hint + swap_held = false; } } - #endif +# endif } #endif #ifndef NO_ACTION_FUNCTION @@ -652,10 +654,10 @@ void process_action(keyrecord_t *record, action_t action) switch (action.kind.id) { case ACT_LAYER: case ACT_LAYER_MODS: - #ifndef NO_ACTION_TAPPING +# ifndef NO_ACTION_TAPPING case ACT_LAYER_TAP: case ACT_LAYER_TAP_EXT: - #endif +# endif led_set(host_keyboard_leds()); break; default: @@ -664,35 +666,34 @@ void process_action(keyrecord_t *record, action_t action) #endif #ifndef NO_ACTION_TAPPING - #ifdef RETRO_TAPPING - if (!is_tap_action(action)) { - retro_tapping_counter = 0; - } else { - if (event.pressed) { - if (tap_count > 0) { - retro_tapping_counter = 0; - } else { - - } - } else { - if (tap_count > 0) { +# ifdef RETRO_TAPPING + if (!is_tap_action(action)) { retro_tapping_counter = 0; - } else { - if (retro_tapping_counter == 2) { - tap_code(action.layer_tap.code); + } else { + if (event.pressed) { + if (tap_count > 0) { + retro_tapping_counter = 0; + } else { + } + } else { + if (tap_count > 0) { + retro_tapping_counter = 0; + } else { + if (retro_tapping_counter == 2) { + tap_code(action.layer_tap.code); + } + retro_tapping_counter = 0; + } } - retro_tapping_counter = 0; - } } - } - #endif +# endif #endif #ifndef NO_ACTION_ONESHOT /* Because we switch layers after a oneshot event, we need to release the * key before we leave the layer or no key up event will be generated. */ - if (do_release_oneshot && !(get_oneshot_layer_state() & ONESHOT_PRESSED ) ) { + if (do_release_oneshot && !(get_oneshot_layer_state() & ONESHOT_PRESSED)) { record->event.pressed = false; layer_on(get_oneshot_layer()); process_record(record); @@ -701,25 +702,20 @@ void process_action(keyrecord_t *record, action_t action) #endif } - - - /** \brief Utilities for actions. (FIXME: Needs better description) * * FIXME: Needs documentation. */ -void register_code(uint8_t code) -{ +void register_code(uint8_t code) { if (code == KC_NO) { return; } - #ifdef LOCKING_SUPPORT_ENABLE else if (KC_LOCKING_CAPS == code) { -#ifdef LOCKING_RESYNC_ENABLE +# ifdef LOCKING_RESYNC_ENABLE // Resync: ignore if caps lock already is on - if (host_keyboard_leds() & (1<>8, action.kind.param&0xff); + dprintf("[%X:%02X]", action.kind.param >> 8, action.kind.param & 0xff); } -- cgit v1.2.3