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) {
}
}
+/** \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) {
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
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);
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);