X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Fkeymap.c;h=134e01c20942451fe19edcd16c2db8ef32d651cd;hb=83331cf6a27d3ef7d35c2e707a61a83d88f125dd;hp=be00076caca024c2c8111bac59d27b9e81e57af9;hpb=be9be90483ce083490c11b1ae4695ec5149bc783;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/common/keymap.c b/tmk_core/common/keymap.c index be00076c..134e01c2 100644 --- a/tmk_core/common/keymap.c +++ b/tmk_core/common/keymap.c @@ -20,8 +20,13 @@ along with this program. If not, see . #include "action_layer.h" #include "action.h" #include "action_macro.h" +#include "wait.h" #include "debug.h" +#include "bootloader.h" +#ifdef BOOTMAGIC_ENABLE +extern keymap_config_t keymap_config; +#endif static action_t keycode_to_action(uint8_t keycode); @@ -128,7 +133,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) /* translates keycode to action */ static action_t keycode_to_action(uint8_t keycode) { - action_t action; + action_t action = {}; switch (keycode) { case KC_A ... KC_EXSEL: case KC_LCTRL ... KC_RGUI: @@ -146,6 +151,11 @@ static action_t keycode_to_action(uint8_t keycode) case KC_TRNS: action.code = ACTION_TRANSPARENT; break; + case KC_BOOTLOADER: + clear_keyboard(); + wait_ms(50); + bootloader_jump(); // not return + break; default: action.code = ACTION_NO; break;