diff options
author | Pavlos Vinieratos <pvinis@gmail.com> | 2016-07-13 16:38:02 +0200 |
---|---|---|
committer | Pavlos Vinieratos <pvinis@gmail.com> | 2016-07-13 16:38:02 +0200 |
commit | a28a6e5b79c819e5f9323f62686498eca3ef399f (patch) | |
tree | f61856ff5d0ab34e5bab8dc69a5cda12f89d4b29 /quantum | |
parent | a998a48673372e409991066d7d2d9ba282f79d59 (diff) | |
download | qmk_firmware-a28a6e5b79c819e5f9323f62686498eca3ef399f.tar.gz qmk_firmware-a28a6e5b79c819e5f9323f62686498eca3ef399f.tar.xz |
extract reset keyboard into a function
that makes it easy to call reset_keyboard() from a function in a keymap
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/quantum.c | 24 | ||||
-rw-r--r-- | quantum/quantum.h | 2 |
2 files changed, 16 insertions, 10 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index d5b9753b7..bc2da510f 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -15,6 +15,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } +void reset_keyboard(void) { + clear_keyboard(); +#ifdef AUDIO_ENABLE + stop_all_notes(); + shutdown_user(); +#endif + wait_ms(250); +#ifdef CATERINA_BOOTLOADER + *(uint16_t *)0x0800 = 0x7777; // these two are a-star-specific +#endif + bootloader_jump(); +} + // Shift / paren setup #ifndef LSPO_KEY @@ -83,16 +96,7 @@ bool process_record_quantum(keyrecord_t *record) { switch(keycode) { case RESET: if (record->event.pressed) { - clear_keyboard(); - #ifdef AUDIO_ENABLE - stop_all_notes(); - shutdown_user(); - #endif - wait_ms(250); - #ifdef CATERINA_BOOTLOADER - *(uint16_t *)0x0800 = 0x7777; // these two are a-star-specific - #endif - bootloader_jump(); + reset_keyboard(); } return false; break; diff --git a/quantum/quantum.h b/quantum/quantum.h index 3a0b74202..7ebfb24e3 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -77,6 +77,8 @@ bool process_action_kb(keyrecord_t *record); bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_user(uint16_t keycode, keyrecord_t *record); +void reset_keyboard(void); + void startup_user(void); void shutdown_user(void); |