Add customisable EEPROM driver selection (#7274)
[jackhill/qmk/firmware.git] / tmk_core / common / bootmagic.h
CommitLineData
a074364c 1#ifndef BOOTMAGIC_H
2#define BOOTMAGIC_H
3
7c9d5ace 4/* FIXME: Add special doxygen comments for defines here. */
5
a074364c 6/* bootmagic salt key */
7#ifndef BOOTMAGIC_KEY_SALT
b624f32f 8# define BOOTMAGIC_KEY_SALT KC_SPACE
a074364c 9#endif
10
11/* skip bootmagic and eeconfig */
12#ifndef BOOTMAGIC_KEY_SKIP
b624f32f 13# define BOOTMAGIC_KEY_SKIP KC_ESC
a074364c 14#endif
15
16/* eeprom clear */
17#ifndef BOOTMAGIC_KEY_EEPROM_CLEAR
b624f32f 18# define BOOTMAGIC_KEY_EEPROM_CLEAR KC_BSPACE
a074364c 19#endif
20
21/* kick up bootloader */
22#ifndef BOOTMAGIC_KEY_BOOTLOADER
b624f32f 23# define BOOTMAGIC_KEY_BOOTLOADER KC_B
a074364c 24#endif
25
26/* debug enable */
27#ifndef BOOTMAGIC_KEY_DEBUG_ENABLE
b624f32f 28# define BOOTMAGIC_KEY_DEBUG_ENABLE KC_D
a074364c 29#endif
30#ifndef BOOTMAGIC_KEY_DEBUG_MATRIX
b624f32f 31# define BOOTMAGIC_KEY_DEBUG_MATRIX KC_X
a074364c 32#endif
33#ifndef BOOTMAGIC_KEY_DEBUG_KEYBOARD
b624f32f 34# define BOOTMAGIC_KEY_DEBUG_KEYBOARD KC_K
a074364c 35#endif
36#ifndef BOOTMAGIC_KEY_DEBUG_MOUSE
b624f32f 37# define BOOTMAGIC_KEY_DEBUG_MOUSE KC_M
a074364c 38#endif
ad8dbd5c
JC
39#ifndef BOOTMAGIC_KEY_EE_HANDS_LEFT
40# define BOOTMAGIC_KEY_EE_HANDS_LEFT KC_L
41#endif
42#ifndef BOOTMAGIC_KEY_EE_HANDS_RIGHT
43# define BOOTMAGIC_KEY_EE_HANDS_RIGHT KC_R
44#endif
a074364c 45
46/*
47 * keymap config
48 */
49#ifndef BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK
b624f32f 50# define BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK KC_LCTRL
a074364c 51#endif
52#ifndef BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL
b624f32f 53# define BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL KC_CAPSLOCK
a074364c 54#endif
55#ifndef BOOTMAGIC_KEY_SWAP_LALT_LGUI
b624f32f 56# define BOOTMAGIC_KEY_SWAP_LALT_LGUI KC_LALT
a074364c 57#endif
58#ifndef BOOTMAGIC_KEY_SWAP_RALT_RGUI
b624f32f 59# define BOOTMAGIC_KEY_SWAP_RALT_RGUI KC_RALT
a074364c 60#endif
61#ifndef BOOTMAGIC_KEY_NO_GUI
b624f32f 62# define BOOTMAGIC_KEY_NO_GUI KC_LGUI
a074364c 63#endif
64#ifndef BOOTMAGIC_KEY_SWAP_GRAVE_ESC
b624f32f 65# define BOOTMAGIC_KEY_SWAP_GRAVE_ESC KC_GRAVE
a074364c 66#endif
67#ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE
b624f32f 68# define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH
a074364c 69#endif
70#ifndef BOOTMAGIC_HOST_NKRO
b624f32f 71# define BOOTMAGIC_HOST_NKRO KC_N
a074364c 72#endif
73
a074364c 74/*
75 * change default layer
76 */
77#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_0
b624f32f 78# define BOOTMAGIC_KEY_DEFAULT_LAYER_0 KC_0
a074364c 79#endif
80#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_1
b624f32f 81# define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1
a074364c 82#endif
83#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_2
b624f32f 84# define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2
a074364c 85#endif
86#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_3
b624f32f 87# define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3
a074364c 88#endif
89#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_4
b624f32f 90# define BOOTMAGIC_KEY_DEFAULT_LAYER_4 KC_4
a074364c 91#endif
92#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_5
b624f32f 93# define BOOTMAGIC_KEY_DEFAULT_LAYER_5 KC_5
a074364c 94#endif
95#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_6
b624f32f 96# define BOOTMAGIC_KEY_DEFAULT_LAYER_6 KC_6
a074364c 97#endif
98#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_7
b624f32f 99# define BOOTMAGIC_KEY_DEFAULT_LAYER_7 KC_7
a074364c 100#endif
101
a074364c 102void bootmagic(void);
103bool bootmagic_scan_keycode(uint8_t keycode);
104
105#endif