add option to let ctrl override shift/gui for the GRAVE_ESC.

This enables the ctrl+shift+esc shortcut to task manager on windows.
This commit is contained in:
Balz Guenat 2017-08-11 18:53:08 +02:00
parent e966854a65
commit 7b8eed9f29
2 changed files with 6 additions and 0 deletions

View File

@ -20,5 +20,6 @@
#include "../../config.h" #include "../../config.h"
// place overrides here // place overrides here
#define GRAVE_ESC_CTRL_OVERRIDE
#endif #endif

View File

@ -475,6 +475,11 @@ bool process_record_quantum(keyrecord_t *record) {
void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key; void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key;
uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))); |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); method(shifted ? KC_GRAVE : KC_ESCAPE);
send_keyboard_report(); send_keyboard_report();