#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);
__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;
}
__attribute__ ((weak))
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
{
+ (void)record;
+ (void)id;
+ (void)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:
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;