diff options
author | skullY <skullydazed@gmail.com> | 2017-11-28 14:08:32 -0800 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-12-03 00:00:23 -0500 |
commit | 0b54e7f5ae90ee36e1149b947562e9f7137ec874 (patch) | |
tree | 7118649a9e93f2edeaa1b64d12f73641b8ca65df /quantum | |
parent | 8cac6088c694474908a8237497026e090aaf4a35 (diff) |
Flesh out the grave escape overrides
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/quantum.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 9232cf4411..d08f15870c 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -548,11 +548,34 @@ bool process_record_quantum(keyrecord_t *record) { uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) |MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))); +#ifdef GRAVE_ESC_ALT_OVERRIDE + // if ALT is pressed, ESC is always sent + // this is handy for the cmd+opt+esc shortcut on macOS, among other things. + if (get_mods() & (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT))) { + shifted = 0; + } +#endif + #ifdef GRAVE_ESC_CTRL_OVERRIDE - // if CTRL is pressed, ESC is always read as ESC, even if SHIFT or GUI is pressed. + // if CTRL is pressed, ESC is always sent // this is handy for the ctrl+shift+esc shortcut on windows, among other things. - if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) + if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) { shifted = 0; + } +#endif + +#ifdef GRAVE_ESC_GUI_OVERRIDE + // if GUI is pressed, ESC is always sent + if (get_mods() & (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))) { + shifted = 0; + } +#endif + +#ifdef GRAVE_ESC_SHIFT_OVERRIDE + // if SHIFT is pressed, ESC is always sent + if (get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) { + shifted = 0; + } #endif if (record->event.pressed) { |