X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=common%2Faction.c;fp=common%2Faction.c;h=c7c8f71f2ccafa346cd6cfd77625d244e7a814b9;hb=ff2d276b193632136c785d92ed01df48aea8461f;hp=0651887444c4db8fda91e51ff73a655d9c04f174;hpb=d9c06db60006e2191d8b86e34f651644a54426b4;p=max%2Ftmk_keyboard.git diff --git a/common/action.c b/common/action.c index 06518874..c7c8f71f 100644 --- a/common/action.c +++ b/common/action.c @@ -19,7 +19,6 @@ along with this program. If not, see . #include "keyboard.h" #include "mousekey.h" #include "command.h" -#include "debug.h" #include "led.h" #include "action_layer.h" #include "action_tapping.h" @@ -27,12 +26,18 @@ along with this program. If not, see . #include "action_macro.h" #include "action.h" +#ifdef DEBUG_ACTION +#include "debug.h" +#else +#include "nodebug.h" +#endif + void action_exec(keyevent_t event) { if (!IS_NOEVENT(event)) { - debug("\n---- action_exec: start -----\n"); - debug("EVENT: "); debug_event(event); debug("\n"); + dprint("\n---- action_exec: start -----\n"); + dprint("EVENT: "); debug_event(event); dprintln(); } keyrecord_t record = { .event = event }; @@ -42,7 +47,7 @@ void action_exec(keyevent_t event) #else process_action(&record); if (!IS_NOEVENT(record.event)) { - debug("processed: "); debug_record(record); debug("\n"); + dprint("processed: "); debug_record(record); dprintln(); } #endif } @@ -57,12 +62,12 @@ void process_action(keyrecord_t *record) if (IS_NOEVENT(event)) { return; } action_t action = layer_switch_get_action(event.key); - debug("ACTION: "); debug_action(action); + dprint("ACTION: "); debug_action(action); #ifndef NO_ACTION_LAYER - debug(" layer_state: "); layer_debug(); - debug(" default_layer_state: "); default_layer_debug(); + dprint(" layer_state: "); layer_debug(); + dprint(" default_layer_state: "); default_layer_debug(); #endif - debug("\n"); + dprintln(); switch (action.kind.id) { /* Key and Mods */ @@ -98,37 +103,37 @@ void process_action(keyrecord_t *record) // Oneshot modifier if (event.pressed) { if (tap_count == 0) { - debug("MODS_TAP: Oneshot: add_mods\n"); + dprint("MODS_TAP: Oneshot: add_mods\n"); add_mods(mods); } else if (tap_count == 1) { - debug("MODS_TAP: Oneshot: start\n"); + dprint("MODS_TAP: Oneshot: start\n"); oneshot_start(mods); } else if (tap_count == TAPPING_TOGGLE) { - debug("MODS_TAP: Oneshot: toggle\n"); + dprint("MODS_TAP: Oneshot: toggle\n"); oneshot_toggle(); } else { - debug("MODS_TAP: Oneshot: cancel&add_mods\n"); + dprint("MODS_TAP: Oneshot: cancel&add_mods\n"); // double tap cancels oneshot and works as normal modifier. oneshot_cancel(); add_mods(mods); } } else { if (tap_count == 0) { - debug("MODS_TAP: Oneshot: cancel/del_mods\n"); + dprint("MODS_TAP: Oneshot: cancel/del_mods\n"); // cancel oneshot on hold oneshot_cancel(); del_mods(mods); } else if (tap_count == 1) { - debug("MODS_TAP: Oneshot: del_mods\n"); + dprint("MODS_TAP: Oneshot: del_mods\n"); // retain Oneshot del_mods(mods); } else { - debug("MODS_TAP: Oneshot: del_mods\n"); + dprint("MODS_TAP: Oneshot: del_mods\n"); // cancel Mods del_mods(mods); } @@ -139,24 +144,24 @@ void process_action(keyrecord_t *record) if (event.pressed) { if (tap_count > 0) { if (record->tap.interrupted) { - debug("MODS_TAP: Tap: Cancel: add_mods\n"); + dprint("MODS_TAP: Tap: Cancel: add_mods\n"); // ad hoc: set 0 to cancel tap record->tap.count = 0; add_mods(mods); } else { - debug("MODS_TAP: Tap: register_code\n"); + dprint("MODS_TAP: Tap: register_code\n"); register_code(action.key.code); } } else { - debug("MODS_TAP: No tap: add_mods\n"); + dprint("MODS_TAP: No tap: add_mods\n"); add_mods(mods); } } else { if (tap_count > 0) { - debug("MODS_TAP: Tap: unregister_code\n"); + dprint("MODS_TAP: Tap: unregister_code\n"); unregister_code(action.key.code); } else { - debug("MODS_TAP: No tap: add_mods\n"); + dprint("MODS_TAP: No tap: add_mods\n"); del_mods(mods); } } @@ -261,18 +266,18 @@ void process_action(keyrecord_t *record) /* tap key */ if (event.pressed) { if (tap_count > 0) { - debug("KEYMAP_TAP_KEY: Tap: register_code\n"); + dprint("KEYMAP_TAP_KEY: Tap: register_code\n"); register_code(action.layer_tap.code); } else { - debug("KEYMAP_TAP_KEY: No tap: On on press\n"); + dprint("KEYMAP_TAP_KEY: No tap: On on press\n"); layer_on(action.layer_tap.val); } } else { if (tap_count > 0) { - debug("KEYMAP_TAP_KEY: Tap: unregister_code\n"); + dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n"); unregister_code(action.layer_tap.code); } else { - debug("KEYMAP_TAP_KEY: No tap: Off on release\n"); + dprint("KEYMAP_TAP_KEY: No tap: Off on release\n"); layer_off(action.layer_tap.val); } } @@ -448,40 +453,33 @@ bool is_tap_key(key_t key) */ void debug_event(keyevent_t event) { - debug_hex16((event.key.row<<8) | event.key.col); - if (event.pressed) debug("d("); else debug("u("); - debug_dec(event.time); debug(")"); + dprintf("%04X%c(%u)", (event.key.row<<8 | event.key.col), (event.pressed ? 'd' : 'u'), event.time); } void debug_record(keyrecord_t record) { debug_event(record.event); #ifndef NO_ACTION_TAPPING - debug(":"); debug_dec(record.tap.count); - if (record.tap.interrupted) debug("-"); + dprintf(":%u%c", record.tap.count, (record.tap.interrupted ? '-' : ' ')); #endif } void debug_action(action_t action) { switch (action.kind.id) { - case ACT_LMODS: debug("ACT_LMODS"); break; - case ACT_RMODS: debug("ACT_RMODS"); break; - case ACT_LMODS_TAP: debug("ACT_LMODS_TAP"); break; - case ACT_RMODS_TAP: debug("ACT_RMODS_TAP"); break; - case ACT_USAGE: debug("ACT_USAGE"); break; - case ACT_MOUSEKEY: debug("ACT_MOUSEKEY"); break; - case ACT_LAYER: debug("ACT_LAYER"); break; - case ACT_LAYER_TAP: debug("ACT_LAYER_TAP"); break; - case ACT_LAYER_TAP1: debug("ACT_LAYER_TAP1"); break; - case ACT_MACRO: debug("ACT_MACRO"); break; - case ACT_COMMAND: debug("ACT_COMMAND"); break; - case ACT_FUNCTION: debug("ACT_FUNCTION"); break; - default: debug("UNKNOWN"); break; + case ACT_LMODS: dprint("ACT_LMODS"); break; + case ACT_RMODS: dprint("ACT_RMODS"); break; + case ACT_LMODS_TAP: dprint("ACT_LMODS_TAP"); break; + case ACT_RMODS_TAP: dprint("ACT_RMODS_TAP"); break; + case ACT_USAGE: dprint("ACT_USAGE"); break; + case ACT_MOUSEKEY: dprint("ACT_MOUSEKEY"); break; + case ACT_LAYER: dprint("ACT_LAYER"); break; + case ACT_LAYER_TAP: dprint("ACT_LAYER_TAP"); break; + case ACT_LAYER_TAP1: dprint("ACT_LAYER_TAP1"); break; + case ACT_MACRO: dprint("ACT_MACRO"); break; + case ACT_COMMAND: dprint("ACT_COMMAND"); break; + case ACT_FUNCTION: dprint("ACT_FUNCTION"); break; + default: dprint("UNKNOWN"); break; } - debug("["); - debug_hex4(action.kind.param>>8); - debug(":"); - debug_hex8(action.kind.param & 0xff); - debug("]"); + dprintf("[%X:%02X]", action.kind.param>>8, action.kind.param&0xff); }