summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/bananasplit/keymaps/coloneljesus/config.h1
-rw-r--r--quantum/quantum.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/keyboards/bananasplit/keymaps/coloneljesus/config.h b/keyboards/bananasplit/keymaps/coloneljesus/config.h
index 060f5922f2..af6cf8ef1f 100644
--- a/keyboards/bananasplit/keymaps/coloneljesus/config.h
+++ b/keyboards/bananasplit/keymaps/coloneljesus/config.h
@@ -20,5 +20,6 @@
#include "../../config.h"
// place overrides here
+#define GRAVE_ESC_CTRL_OVERRIDE
#endif
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 7a632d709a..db52c782fc 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -478,6 +478,11 @@ bool process_record_quantum(keyrecord_t *record) {
void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key;
uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)));
+
+#ifdef GRAVE_ESC_CTRL_OVERRIDE
+ if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)))
+ shifted = 0;
+#endif
method(shifted ? KC_GRAVE : KC_ESCAPE);
send_keyboard_report();