summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorjamesofarrell <jofarrell@gmail.com>2017-06-17 07:56:50 +1000
committerskullydazed <skullydazed@users.noreply.github.com>2017-06-16 14:56:50 -0700
commit98316ef0170c6e0f994a45e1f62959ae0f278177 (patch)
tree7e1981d5966d09e1bd8c53cdeef0edb37a9dd0c1 /quantum
parentff2b01da49ccf2d57e61bb70cdbaacb40799299c (diff)
Added Grave Escape (#1391)
* added QK_GRAVE_ESC and KC_GESC * fixed name * Fixed keycode emnu * Removed layer check, added left and right GUI mod detection for OSX GUI+~
Diffstat (limited to 'quantum')
-rw-r--r--quantum/quantum.c8
-rw-r--r--quantum/quantum_keycodes.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 4f4cee4e9b..f5fb1e35c8 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -437,6 +437,14 @@ bool process_record_quantum(keyrecord_t *record) {
return false;
// break;
}
+ case GRAVE_ESC: {
+ 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)));
+
+ method(shifted ? KC_GRAVE : KC_ESCAPE);
+ send_keyboard_report();
+ }
default: {
shift_interrupted[0] = true;
shift_interrupted[1] = true;
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 7354ae0da1..c34ecafa51 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -104,6 +104,7 @@ enum quantum_keycodes {
MAGIC_UNHOST_NKRO,
MAGIC_UNSWAP_ALT_GUI,
MAGIC_TOGGLE_NKRO,
+ GRAVE_ESC,
// Leader key
#ifndef DISABLE_LEADER
@@ -514,6 +515,8 @@ enum quantum_keycodes {
#define MACROTAP(kc) (kc | QK_MACRO | FUNC_TAP<<8)
#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE)
+#define KC_GESC GRAVE_ESC
+
// L-ayer, T-ap - 256 keycode max, 16 layer max
#define LT(layer, kc) (kc | QK_LAYER_TAP | ((layer & 0xF) << 8))