From b5ee6c200c96df0b0e4557defdf3a61f70f5d260 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 22 Aug 2019 00:22:32 -0700 Subject: [PATCH] Fixup Bootmagic code (#6386) --- quantum/keycode_config.c | 11 +++++++++++ quantum/quantum.c | 16 ++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 73fe15861d0..bfd40d045c0 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -18,6 +18,11 @@ extern keymap_config_t keymap_config; +/** \brief keycode_config + * + * This function is used to check a specific keycode against the bootmagic config, + * and will return the corrected keycode, when appropriate. + */ uint16_t keycode_config(uint16_t keycode) { switch (keycode) { @@ -109,6 +114,12 @@ uint16_t keycode_config(uint16_t keycode) { } } +/** \brief mod_config + * + * This function checks the mods passed to it against the bootmagic config, + * and will remove or replace mods, based on that. + */ + uint8_t mod_config(uint8_t mod) { if (keymap_config.swap_lalt_lgui) { if ((mod & MOD_RGUI) == MOD_LGUI) { diff --git a/quantum/quantum.c b/quantum/quantum.c index 665d6fdd916..cbd1f9df0c8 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -613,15 +613,13 @@ bool process_record_quantum(keyrecord_t *record) { keymap_config.nkro = true; break; case MAGIC_SWAP_ALT_GUI: - keymap_config.swap_lalt_lgui = true; - keymap_config.swap_ralt_rgui = true; + keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = true; #ifdef AUDIO_ENABLE PLAY_SONG(ag_swap_song); #endif break; case MAGIC_SWAP_CTL_GUI: - keymap_config.swap_lctl_lgui = true; - keymap_config.swap_rctl_rgui = true; + keymap_config.swap_lctl_lgui = keymap_config.swap_rctl_rgui = true; #ifdef AUDIO_ENABLE PLAY_SONG(cg_swap_song); #endif @@ -657,22 +655,20 @@ bool process_record_quantum(keyrecord_t *record) { keymap_config.nkro = false; break; case MAGIC_UNSWAP_ALT_GUI: - keymap_config.swap_lalt_lgui = false; - keymap_config.swap_ralt_rgui = false; + keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = false; #ifdef AUDIO_ENABLE PLAY_SONG(ag_norm_song); #endif break; case MAGIC_UNSWAP_CTL_GUI: - keymap_config.swap_lctl_lgui = false; - keymap_config.swap_rctl_rgui = false; + keymap_config.swap_lctl_lgui = keymap_config.swap_rctl_rgui = false; #ifdef AUDIO_ENABLE PLAY_SONG(cg_norm_song); #endif break; case MAGIC_TOGGLE_ALT_GUI: keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui; - keymap_config.swap_ralt_rgui = !keymap_config.swap_ralt_rgui; + keymap_config.swap_ralt_rgui = keymap_config.swap_lalt_lgui; #ifdef AUDIO_ENABLE if (keymap_config.swap_ralt_rgui) { PLAY_SONG(ag_swap_song); @@ -683,7 +679,7 @@ bool process_record_quantum(keyrecord_t *record) { break; case MAGIC_TOGGLE_CTL_GUI: keymap_config.swap_lctl_lgui = !keymap_config.swap_lctl_lgui; - keymap_config.swap_rctl_rgui = !keymap_config.swap_rctl_rgui; + keymap_config.swap_rctl_rgui = keymap_config.swap_lctl_lgui; #ifdef AUDIO_ENABLE if (keymap_config.swap_rctl_rgui) { PLAY_SONG(cg_swap_song);