1
0
Fork 0

Added keycodes for swapping and unswapping the Control and OS keys (#6110)

* Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes

Key codes to swap and unswap the control and windows/cmd keys

* Fix issues with pull request #6110

Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end

* Move new keycodes to the end of the enum (#6110)

* add cases for swapped control and OS keys to mod_config (#6110)

* Add new keycodes to feature_bootmagic.md (#6110)

* Add R+L swap codes to keep in parity with AG_* codes

* Extend Magic range check to include new magic codes

* Update audio docs

* Combine 2 byte ranges into 1 word for EECONFG

Fix names for Keymap config EEPROM

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
This commit is contained in:
Stephen Wanhella 2019-08-21 17:07:08 -07:00 committed by Drashna Jaelre
parent 6a79b05cf0
commit d534c72a54
10 changed files with 136 additions and 11 deletions

View file

@ -65,9 +65,17 @@ extern backlight_config_t backlight_config;
#ifndef AG_SWAP_SONG
#define AG_SWAP_SONG SONG(AG_SWAP_SOUND)
#endif
#ifndef CG_NORM_SONG
#define CG_NORM_SONG SONG(AG_NORM_SOUND)
#endif
#ifndef CG_SWAP_SONG
#define CG_SWAP_SONG SONG(AG_SWAP_SOUND)
#endif
float goodbye_song[][2] = GOODBYE_SONG;
float ag_norm_song[][2] = AG_NORM_SONG;
float ag_swap_song[][2] = AG_SWAP_SONG;
float cg_norm_song[][2] = CG_NORM_SONG;
float cg_swap_song[][2] = CG_SWAP_SONG;
#ifdef DEFAULT_LAYER_SONGS
float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS;
#endif
@ -563,7 +571,8 @@ bool process_record_quantum(keyrecord_t *record) {
return false;
#endif
#endif
case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_NKRO:
case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI:
case MAGIC_SWAP_LCTL_LGUI ... MAGIC_TOGGLE_CTL_GUI:
if (record->event.pressed) {
// MAGIC actions (BOOTMAGIC without the boot)
if (!eeconfig_is_enabled()) {
@ -585,6 +594,12 @@ bool process_record_quantum(keyrecord_t *record) {
case MAGIC_SWAP_RALT_RGUI:
keymap_config.swap_ralt_rgui = true;
break;
case MAGIC_SWAP_LCTL_LGUI:
keymap_config.swap_lctl_lgui = true;
break;
case MAGIC_SWAP_RCTL_RGUI:
keymap_config.swap_rctl_rgui = true;
break;
case MAGIC_NO_GUI:
keymap_config.no_gui = true;
break;
@ -604,6 +619,13 @@ bool process_record_quantum(keyrecord_t *record) {
PLAY_SONG(ag_swap_song);
#endif
break;
case MAGIC_SWAP_CTL_GUI:
keymap_config.swap_lctl_lgui = true;
keymap_config.swap_rctl_rgui = true;
#ifdef AUDIO_ENABLE
PLAY_SONG(cg_swap_song);
#endif
break;
case MAGIC_UNSWAP_CONTROL_CAPSLOCK:
keymap_config.swap_control_capslock = false;
break;
@ -616,6 +638,12 @@ bool process_record_quantum(keyrecord_t *record) {
case MAGIC_UNSWAP_RALT_RGUI:
keymap_config.swap_ralt_rgui = false;
break;
case MAGIC_UNSWAP_LCTL_LGUI:
keymap_config.swap_lctl_lgui = false;
break;
case MAGIC_UNSWAP_RCTL_RGUI:
keymap_config.swap_rctl_rgui = false;
break;
case MAGIC_UNNO_GUI:
keymap_config.no_gui = false;
break;
@ -635,6 +663,13 @@ bool process_record_quantum(keyrecord_t *record) {
PLAY_SONG(ag_norm_song);
#endif
break;
case MAGIC_UNSWAP_CTL_GUI:
keymap_config.swap_lctl_lgui = false;
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;
@ -646,6 +681,17 @@ bool process_record_quantum(keyrecord_t *record) {
}
#endif
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;
#ifdef AUDIO_ENABLE
if (keymap_config.swap_rctl_rgui) {
PLAY_SONG(cg_swap_song);
} else {
PLAY_SONG(cg_norm_song);
}
#endif
break;
case MAGIC_TOGGLE_NKRO:
keymap_config.nkro = !keymap_config.nkro;
break;