#include <stdint.h>
#include <stdbool.h>
#include "action.h"
+#if defined(__AVR__)
#include <avr/pgmspace.h>
+#endif
#include "keycode.h"
#include "action_macro.h"
#include "report.h"
#include "debug.h"
#include "keycode_config.h"
+// ChibiOS uses RESET in its FlagStatus enumeration
+// Therefore define it as QK_RESET here, to avoid name collision
+#if defined(PROTOCOL_CHIBIOS)
+#define RESET QK_RESET
+#endif
+
/* translates key to keycode */
uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key);
-/* translates Fn keycode to action */
-action_t keymap_fn_to_action(uint16_t keycode);
-
extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
extern const uint16_t fn_actions[];
MAGIC_UNSWAP_BACKSLASH_BACKSPACE,
MAGIC_UNHOST_NKRO,
MAGIC_UNSWAP_ALT_GUI,
+ MAGIC_TOGGLE_NKRO,
// Leader key
#ifndef DISABLE_LEADER
BL_TOGG,
BL_STEP,
+ // RGB functionality
+ RGB_TOG,
+ RGB_MOD,
+ RGB_HUI,
+ RGB_HUD,
+ RGB_SAI,
+ RGB_SAD,
+ RGB_VAI,
+ RGB_VAD,
+
// Left shift, open paren
KC_LSPO,
#define OSL(layer) (layer | QK_ONE_SHOT_LAYER)
// One-shot mod
-#define OSM(layer) (layer | QK_ONE_SHOT_MOD)
+#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
// M-od, T-ap - 256 keycode max
#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))