~ruther/qmk_firmware

b5ee6c200c96df0b0e4557defdf3a61f70f5d260 — Drashna Jaelre 6 years ago 8a2e328
Fixup Bootmagic code (#6386)

2 files changed, 17 insertions(+), 10 deletions(-)

M quantum/keycode_config.c
M quantum/quantum.c
M quantum/keycode_config.c => quantum/keycode_config.c +11 -0
@@ 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) {

M quantum/quantum.c => quantum/quantum.c +6 -10
@@ 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);