Revert "bootmagic mods covering the case when swapped mods are pressed at the same time (#21320)" (#21471)
parent
ddc4571986
commit
71f0fc59be
|
@ -122,36 +122,40 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
__attribute__((weak)) uint8_t mod_config(uint8_t mod) {
|
__attribute__((weak)) uint8_t mod_config(uint8_t mod) {
|
||||||
/**
|
|
||||||
* Note: This function is for the 5-bit packed mods, NOT the full 8-bit mods.
|
|
||||||
* More info about the mods can be seen in modifiers.h.
|
|
||||||
*/
|
|
||||||
if (keymap_config.swap_lalt_lgui) {
|
if (keymap_config.swap_lalt_lgui) {
|
||||||
/** If both modifiers pressed or neither pressed, do nothing
|
if ((mod & MOD_RGUI) == MOD_LGUI) {
|
||||||
* Otherwise swap the values
|
mod &= ~MOD_LGUI;
|
||||||
* Note: The left mods are ANDed with the right-hand values to check
|
mod |= MOD_LALT;
|
||||||
* if they were pressed with the right hand bit set
|
} else if ((mod & MOD_RALT) == MOD_LALT) {
|
||||||
*/
|
mod &= ~MOD_LALT;
|
||||||
if (((mod & MOD_RALT) == MOD_LALT) ^ ((mod & MOD_RGUI) == MOD_LGUI)) {
|
mod |= MOD_LGUI;
|
||||||
mod ^= (MOD_LALT | MOD_LGUI);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keymap_config.swap_ralt_rgui) {
|
if (keymap_config.swap_ralt_rgui) {
|
||||||
if (((mod & MOD_RALT) == MOD_RALT) ^ ((mod & MOD_RGUI) == MOD_RGUI)) {
|
if ((mod & MOD_RGUI) == MOD_RGUI) {
|
||||||
/* lefthand values to preserve the right hand bit */
|
mod &= ~MOD_RGUI;
|
||||||
mod ^= (MOD_LALT | MOD_LGUI);
|
mod |= MOD_RALT;
|
||||||
|
} else if ((mod & MOD_RALT) == MOD_RALT) {
|
||||||
|
mod &= ~MOD_RALT;
|
||||||
|
mod |= MOD_RGUI;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keymap_config.swap_lctl_lgui) {
|
if (keymap_config.swap_lctl_lgui) {
|
||||||
/* left mods ANDed with right-hand values to check for right hand bit */
|
if ((mod & MOD_RGUI) == MOD_LGUI) {
|
||||||
if (((mod & MOD_RCTL) == MOD_LCTL) ^ ((mod & MOD_RGUI) == MOD_LGUI)) {
|
mod &= ~MOD_LGUI;
|
||||||
mod ^= (MOD_LCTL | MOD_LGUI);
|
mod |= MOD_LCTL;
|
||||||
|
} else if ((mod & MOD_RCTL) == MOD_LCTL) {
|
||||||
|
mod &= ~MOD_LCTL;
|
||||||
|
mod |= MOD_LGUI;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keymap_config.swap_rctl_rgui) {
|
if (keymap_config.swap_rctl_rgui) {
|
||||||
if (((mod & MOD_RCTL) == MOD_RCTL) ^ ((mod & MOD_RGUI) == MOD_RGUI)) {
|
if ((mod & MOD_RGUI) == MOD_RGUI) {
|
||||||
/* lefthand values to preserve the right hand bit */
|
mod &= ~MOD_RGUI;
|
||||||
mod ^= (MOD_LCTL | MOD_LGUI);
|
mod |= MOD_RCTL;
|
||||||
|
} else if ((mod & MOD_RCTL) == MOD_RCTL) {
|
||||||
|
mod &= ~MOD_RCTL;
|
||||||
|
mod |= MOD_RGUI;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keymap_config.no_gui) {
|
if (keymap_config.no_gui) {
|
||||||
|
|
Loading…
Reference in New Issue