From: Balz Guenat <balz.guenat@gmail.com>
Date: Fri, 11 Aug 2017 16:53:08 +0000 (+0200)
Subject: add option to let ctrl override shift/gui for the GRAVE_ESC.
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7b8eed9f298e70a88742cefe5d75840160c75435;p=qmk_firmware.git

add option to let ctrl override shift/gui for the GRAVE_ESC.
This enables the ctrl+shift+esc shortcut to task manager on windows.
---

diff --git a/keyboards/bananasplit/keymaps/coloneljesus/config.h b/keyboards/bananasplit/keymaps/coloneljesus/config.h
index 060f5922f..af6cf8ef1 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 1f8ce6c46..8f8cec484 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -475,6 +475,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();