1
0
Fork 0

extract reset keyboard into a function

that makes it easy to call reset_keyboard() from a function in a keymap
This commit is contained in:
Pavlos Vinieratos 2016-07-13 16:38:02 +02:00
parent a998a48673
commit a28a6e5b79
2 changed files with 16 additions and 10 deletions

View File

@ -15,6 +15,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; 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 // Shift / paren setup
#ifndef LSPO_KEY #ifndef LSPO_KEY
@ -83,16 +96,7 @@ bool process_record_quantum(keyrecord_t *record) {
switch(keycode) { switch(keycode) {
case RESET: case RESET:
if (record->event.pressed) { if (record->event.pressed) {
clear_keyboard(); reset_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();
} }
return false; return false;
break; break;

View File

@ -77,6 +77,8 @@ bool process_action_kb(keyrecord_t *record);
bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_kb(uint16_t keycode, keyrecord_t *record);
bool process_record_user(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 startup_user(void);
void shutdown_user(void); void shutdown_user(void);