diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index 4d5dd769..5c3fc61d 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -40,6 +40,21 @@ void set_default_layer(bool forward) { set_single_persistent_default_layer(current_base_layer); } +// helper function to put ploopy nano into bootloader +// my ploopy nano will reset when num/caps/scroll lock is enabled +void reset_ploopynano(void) { + + // turn on all three host states + if(!host_keyboard_led_state().num_lock) { tap_code(KC_NUM); } + if(!host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); } + if(!host_keyboard_led_state().scroll_lock) { tap_code(KC_SCRL); } + + // then turn them off + tap_code(KC_NUM); + tap_code(KC_CAPS); + tap_code(KC_SCRL); +} + // Customize behavior for existing keycodes or create new ones bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -47,20 +62,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - // use the host state status to boot the Ploopy Nano - // will effectively turn on num lock/caps lock/scroll lock then back off - case PN_BOOT: - if (record->event.pressed) { - if(!host_keyboard_led_state().num_lock) { tap_code(KC_NUM); } - if(!host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); } - if(!host_keyboard_led_state().scroll_lock) { tap_code(KC_SCRL); } - } else { - if(host_keyboard_led_state().num_lock) { tap_code(KC_NUM); } - if(host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); } - if(host_keyboard_led_state().scroll_lock) { tap_code(KC_SCRL); } - } - return false; - // makes scroll lock a hold instead of toggle // enables momentary drag scroll on ploopy nano case KC_SCRL: @@ -202,11 +203,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; #endif //AUDIO_ENABLE + + case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL): + reset_keyboard(); + break; + + case MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT): + reset_ploopynano(); + break; + default: set_default_layer(true); break; } } + return false; //https://docs.qmk.fm/#/mod_tap?id=changing-both-tasp-and-hold //https://getreuer.info/posts/keyboards/triggers/index.html#tap-vs.-long-press diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 3ff82dad..0583c9ca 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -3,6 +3,7 @@ #include "features/taphold.h" void set_default_layer(bool forward); +void reset_ploopynano(void); #if defined(WPM_ENABLE) bool isLunaJumping(void); @@ -53,8 +54,6 @@ enum keycodes { TH_SCLN, TH_QUOT, - PN_BOOT, // Press to enter Ploopy Nano Bootloader - FWD_TAB, // enables encoder to alt-tab/alt+shift-tab REV_TAB, // alt-tab/alt+shift-tab or ctrl-tab/ctrl+shift tab @@ -187,7 +186,7 @@ enum keycodes { #define LAYER_NAVIGATION \ - KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_APP, DM_REC1, DM_PLY1, BASELYR, \ + KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_APP, ___x___, ___x___, ___x___, \ ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \ _UCCPR_L___________________________________, KC_DEL, KC_TAB, KC_VOLD, KC_VOLU, KC_MUTE, \ ___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \ @@ -211,7 +210,7 @@ enum keycodes { #define LAYER_MOUSE_FUNC \ - MOU_FUN, QK_BOOT, PN_BOOT, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7, KC_F8, KC_F9, KC_F10, \ + MOU_FUN, DM_REC1, DM_PLY1, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7, KC_F8, KC_F9, KC_F10, \ _GACS_MODS________________________, TR_DRGS, FWD_CFG, KC_F4, KC_F5, KC_F6, KC_F11, \ _______, ___x___, KC_BTN5, KC_BTN4, TR_SNIP, REV_CFG, KC_F1, KC_F2, KC_F3, KC_F12, \ KC_BTN1, KC_BTN3, KC_BTN2, REV_RGB, FWD_RGB, ___x___, \