X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fkeycode_config.c;h=eb39c8fe001fb37b18b26d0e0242209ca52ab929;hb=4c1164c469a103981478222b21ef5ffaa364448d;hp=4f7bc525ec349b3028ab2065292b20cc33d81bf3;hpb=c034b61b1abb2bf23187abae562bf53916c60fa1;p=qmk_firmware.git diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 4f7bc525e..eb39c8fe0 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -88,3 +88,31 @@ uint16_t keycode_config(uint16_t keycode) { return keycode; } } + +uint8_t mod_config(uint8_t mod) { + keymap_config.raw = eeconfig_read_keymap(); + if (keymap_config.swap_lalt_lgui) { + if ((mod & MOD_RGUI) == MOD_LGUI) { + mod &= ~MOD_LGUI; + mod |= MOD_LALT; + } else if ((mod & MOD_RALT) == MOD_LALT) { + mod &= ~MOD_LALT; + mod |= MOD_LGUI; + } + } + if (keymap_config.swap_ralt_rgui) { + if ((mod & MOD_RGUI) == MOD_RGUI) { + mod &= ~MOD_RGUI; + mod |= MOD_RALT; + } else if ((mod & MOD_RALT) == MOD_RALT) { + mod &= ~MOD_RALT; + mod |= MOD_RGUI; + } + } + if (keymap_config.no_gui) { + mod &= ~MOD_LGUI; + mod &= ~MOD_RGUI; + } + + return mod; +} \ No newline at end of file