X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Fkeymap.c;h=134e01c20942451fe19edcd16c2db8ef32d651cd;hb=b1b30f167587349acbb7dc4f286a8742b8b63d00;hp=9f4fab521662ab84f4069e30a45b6eec2d9337cf;hpb=a3d96d3aa96318d339a67de1085e0ae495d57c84;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/common/keymap.c b/tmk_core/common/keymap.c index 9f4fab52..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); @@ -108,6 +113,9 @@ action_t action_for_key(uint8_t layer, keypos_t key) __attribute__ ((weak)) const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + (void)record; + (void)id; + (void)opt; return MACRO_NONE; } @@ -115,6 +123,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) __attribute__ ((weak)) void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + (void)record; + (void)id; + (void)opt; } @@ -122,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: @@ -140,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;