X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=common%2Fcommand.c;h=7bb2a23f1909ec21629aa375303f7c43fb24670a;hb=6215727b0bd827a18456b21a26d6175abe365ada;hp=8e2e21a7079f6e0be60c2f9c5d0e2867e7795c0f;hpb=3c822b511e7af60332a7e5a938c08bafb2516ba3;p=max%2Ftmk_keyboard.git diff --git a/common/command.c b/common/command.c index 8e2e21a7..7bb2a23f 100644 --- a/common/command.c +++ b/common/command.c @@ -19,6 +19,7 @@ along with this program. If not, see . #include #include "keycode.h" #include "host.h" +#include "keymap.h" #include "print.h" #include "debug.h" #include "util.h" @@ -53,7 +54,6 @@ static void mousekey_console_help(void); static uint8_t numkey2num(uint8_t code); static void switch_layer(uint8_t layer); -static void clear_keyboard(void); typedef enum { ONESHOT, CONSOLE, MOUSEKEY } cmdstate_t; @@ -164,9 +164,6 @@ static bool command_common(uint8_t code) debug_enable = false; } else { print("\nDEBUG: enabled.\n"); - debug_matrix = true; - debug_keyboard = true; - debug_mouse = true; debug_enable = true; } break; @@ -205,7 +202,7 @@ static bool command_common(uint8_t code) print("VERSION: " STR(DEVICE_VER) "\n"); break; case KC_T: // print timer - print("timer: "); phex16(timer_count>>16); phex16(timer_count); print("\n"); + print_val_hex32(timer_count); break; case KC_P: // print toggle if (print_enable) { @@ -218,25 +215,26 @@ static bool command_common(uint8_t code) break; case KC_S: print("\n\n----- Status -----\n"); - print("host_keyboard_leds:"); phex(host_keyboard_leds()); print("\n"); + print_val_hex8(host_keyboard_leds()); #ifdef HOST_PJRC - print("UDCON: "); phex(UDCON); print("\n"); - print("UDIEN: "); phex(UDIEN); print("\n"); - print("UDINT: "); phex(UDINT); print("\n"); - print("usb_keyboard_leds:"); phex(usb_keyboard_leds); print("\n"); - print("usb_keyboard_protocol: "); phex(usb_keyboard_protocol); print("\n"); - print("usb_keyboard_idle_config:"); phex(usb_keyboard_idle_config); print("\n"); - print("usb_keyboard_idle_count:"); phex(usb_keyboard_idle_count); print("\n"); + print_val_hex8(UDCON); + print_val_hex8(UDIEN); + print_val_hex8(UDINT); + print_val_hex8(usb_keyboard_leds); + print_val_hex8(usb_keyboard_protocol); + print_val_hex8(usb_keyboard_idle_config); + print_val_hex8(usb_keyboard_idle_count); #endif #ifdef HOST_VUSB # if USB_COUNT_SOF - print("usbSofCount: "); phex(usbSofCount); print("\n"); + print_val_hex8(usbSofCount); # endif #endif break; #ifdef NKRO_ENABLE case KC_N: + clear_keyboard(); //Prevents stuck keys. keyboard_nkro = !keyboard_nkro; if (keyboard_nkro) print("NKRO: enabled\n"); @@ -265,23 +263,16 @@ static bool command_common(uint8_t code) #endif case KC_0: case KC_F10: + clear_keyboard(); switch_layer(0); break; - case KC_1: - case KC_F1: - switch_layer(1); - break; - case KC_2: - case KC_F2: - switch_layer(2); - break; - case KC_3: - case KC_F3: - switch_layer(3); + case KC_1 ... KC_9: + clear_keyboard(); + switch_layer((code - KC_1) + 1); break; - case KC_4: - case KC_F4: - switch_layer(4); + case KC_F1 ... KC_F9: + clear_keyboard(); + switch_layer((code - KC_F1) + 1); break; default: print("?"); @@ -350,6 +341,7 @@ static void mousekey_param_print(void) print("6: mk_wheel_time_to_max: "); pdec(mk_wheel_time_to_max); print("\n"); } +#define PRINT_SET_VAL(v) print(#v " = "); print_dec(v); print("\n"); static void mousekey_param_inc(uint8_t param, uint8_t inc) { switch (param) { @@ -358,42 +350,42 @@ static void mousekey_param_inc(uint8_t param, uint8_t inc) mk_delay += inc; else mk_delay = UINT8_MAX; - print("mk_delay = "); pdec(mk_delay); print("\n"); + PRINT_SET_VAL(mk_delay); break; case 2: if (mk_interval + inc < UINT8_MAX) mk_interval += inc; else mk_interval = UINT8_MAX; - print("mk_interval = "); pdec(mk_interval); print("\n"); + PRINT_SET_VAL(mk_interval); break; case 3: if (mk_max_speed + inc < UINT8_MAX) mk_max_speed += inc; else mk_max_speed = UINT8_MAX; - print("mk_max_speed = "); pdec(mk_max_speed); print("\n"); + PRINT_SET_VAL(mk_max_speed); break; case 4: if (mk_time_to_max + inc < UINT8_MAX) mk_time_to_max += inc; else mk_time_to_max = UINT8_MAX; - print("mk_time_to_max = "); pdec(mk_time_to_max); print("\n"); + PRINT_SET_VAL(mk_time_to_max); break; case 5: if (mk_wheel_max_speed + inc < UINT8_MAX) mk_wheel_max_speed += inc; else mk_wheel_max_speed = UINT8_MAX; - print("mk_wheel_max_speed = "); pdec(mk_wheel_max_speed); print("\n"); + PRINT_SET_VAL(mk_wheel_max_speed); break; case 6: if (mk_wheel_time_to_max + inc < UINT8_MAX) mk_wheel_time_to_max += inc; else mk_wheel_time_to_max = UINT8_MAX; - print("mk_wheel_time_to_max = "); pdec(mk_wheel_time_to_max); print("\n"); + PRINT_SET_VAL(mk_wheel_time_to_max); break; } } @@ -406,42 +398,42 @@ static void mousekey_param_dec(uint8_t param, uint8_t dec) mk_delay -= dec; else mk_delay = 0; - print("mk_delay = "); pdec(mk_delay); print("\n"); + PRINT_SET_VAL(mk_delay); break; case 2: if (mk_interval > dec) mk_interval -= dec; else mk_interval = 0; - print("mk_interval = "); pdec(mk_interval); print("\n"); + PRINT_SET_VAL(mk_interval); break; case 3: if (mk_max_speed > dec) mk_max_speed -= dec; else mk_max_speed = 0; - print("mk_max_speed = "); pdec(mk_max_speed); print("\n"); + PRINT_SET_VAL(mk_max_speed); break; case 4: if (mk_time_to_max > dec) mk_time_to_max -= dec; else mk_time_to_max = 0; - print("mk_time_to_max = "); pdec(mk_time_to_max); print("\n"); + PRINT_SET_VAL(mk_time_to_max); break; case 5: if (mk_wheel_max_speed > dec) mk_wheel_max_speed -= dec; else mk_wheel_max_speed = 0; - print("mk_wheel_max_speed = "); pdec(mk_wheel_max_speed); print("\n"); + PRINT_SET_VAL(mk_wheel_max_speed); break; case 6: if (mk_wheel_time_to_max > dec) mk_wheel_time_to_max -= dec; else mk_wheel_time_to_max = 0; - print("mk_wheel_time_to_max = "); pdec(mk_wheel_time_to_max); print("\n"); + PRINT_SET_VAL(mk_wheel_time_to_max); break; } } @@ -551,24 +543,9 @@ static uint8_t numkey2num(uint8_t code) static void switch_layer(uint8_t layer) { - print("current_layer: "); phex(current_layer); print("\n"); - print("default_layer: "); phex(default_layer); print("\n"); + print_val_hex8(current_layer); + print_val_hex8(default_layer); current_layer = layer; default_layer = layer; - print("switch to Layer: "); phex(layer); print("\n"); -} - -static void clear_keyboard(void) -{ - host_clear_keys(); - host_clear_mods(); - host_send_keyboard_report(); - - host_system_send(0); - host_consumer_send(0); - -#ifdef MOUSEKEY_ENABLE - mousekey_clear(); - mousekey_send(); -#endif + print("switch to "); print_val_hex8(layer); }