summaryrefslogtreecommitdiff
path: root/quantum/keyboard.c
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2024-01-28 22:51:58 +0000
committerGitHub <noreply@github.com>2024-01-28 22:51:58 +0000
commit5cd31fda9c1302044f4423d940be7c888d15ad1a (patch)
tree796fd88923fb0daba9f9cb0f67855b8b3b2e8805 /quantum/keyboard.c
parentbb711456329beda1ab8573fbac3ad51bd398872b (diff)
Begin removal of bootmagic lite terminology (#22970)
Diffstat (limited to 'quantum/keyboard.c')
-rw-r--r--quantum/keyboard.c58
1 files changed, 39 insertions, 19 deletions
diff --git a/quantum/keyboard.c b/quantum/keyboard.c
index b5fa1a6e2e..9bdf6e6344 100644
--- a/quantum/keyboard.c
+++ b/quantum/keyboard.c
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "keycode_config.h"
#include "matrix.h"
#include "keymap_introspection.h"
-#include "magic.h"
#include "host.h"
#include "led.h"
#include "keycode.h"
@@ -33,6 +32,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "sendchar.h"
#include "eeconfig.h"
#include "action_layer.h"
+#ifdef BOOTMAGIC_ENABLE
+# include "bootmagic.h"
+#endif
#ifdef AUDIO_ENABLE
# include "audio.h"
#endif
@@ -370,28 +372,30 @@ void housekeeping_task(void) {
housekeeping_task_user();
}
-/** \brief Init tasks previously located in matrix_init_quantum
+/** \brief quantum_init
*
- * TODO: rationalise against keyboard_init and current split role
+ * Init global state
*/
void quantum_init(void) {
- magic();
- led_init_ports();
-#ifdef BACKLIGHT_ENABLE
- backlight_init_ports();
-#endif
-#ifdef AUDIO_ENABLE
- audio_init();
-#endif
-#ifdef LED_MATRIX_ENABLE
- led_matrix_init();
-#endif
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_init();
-#endif
-#if defined(UNICODE_COMMON_ENABLE)
- unicode_input_mode_init();
+ /* check signature */
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+
+ /* init globals */
+ debug_config.raw = eeconfig_read_debug();
+ keymap_config.raw = eeconfig_read_keymap();
+
+#ifdef BOOTMAGIC_ENABLE
+ bootmagic();
#endif
+
+ /* read here just incase bootmagic process changed its value */
+ layer_state_t default_layer = (layer_state_t)eeconfig_read_default_layer();
+ default_layer_set(default_layer);
+
+ /* Also initialize layer state to trigger callback functions for layer_state */
+ layer_state_set_kb((layer_state_t)layer_state);
}
/** \brief keyboard_init
@@ -412,6 +416,22 @@ void keyboard_init(void) {
#endif
matrix_init();
quantum_init();
+ led_init_ports();
+#ifdef BACKLIGHT_ENABLE
+ backlight_init_ports();
+#endif
+#ifdef AUDIO_ENABLE
+ audio_init();
+#endif
+#ifdef LED_MATRIX_ENABLE
+ led_matrix_init();
+#endif
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_init();
+#endif
+#if defined(UNICODE_COMMON_ENABLE)
+ unicode_input_mode_init();
+#endif
#if defined(CRC_ENABLE)
crc_init();
#endif