jlj-qmk/docs/feature_grave_esc.md
Yan-Fa Li f3bdd436a3 Update KC_GESC documentation (#5053)
* Update KC_GESC documentation

 - document caveats on OSX and expected behavior with KC_GESC and GUI
 - clarify documentation slightly
 - give examples of expected output in actual use

* Update OSX -> macOS

* Captilization

* remove simply
2019-02-15 06:50:28 -08:00

1.8 KiB

Grave Escape

If you're using a 60% keyboard, or any other layout with no F-row, you will have noticed that there is no dedicated Escape key. Grave Escape is a feature that allows you to share the grave key (` and ~) with Escape.

Usage

Replace the KC_GRAVE key in your keymap (usually to the left of the 1 key) with KC_GESC. Most of the time this key will output KC_ESC when pressed. However, when Shift or GUI are held down it will output KC_GRV instead.

What Your OS Sees

If Mary presses GESC on her keyboard, the OS will see an KC_ESC character. Now if Mary holds Shift down and presses GESC it will output ~, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple ` character.

Keycodes

Key Aliases Description
KC_GESC GRAVE_ESC Escape when pressed, ` when Shift or GUI are held

Caveats

  • On macOS CMD/GUI + KC_GRV is actually mapped to a hot key so it will not output a backtick.

Configuration

There are several possible key combinations this will break, among them Control+Shift+Escape on Windows and Command+Option+Escape on macOS. To work around this, you can #define these options in your config.h:

Define Description
GRAVE_ESC_ALT_OVERRIDE Always send Escape if Alt is pressed
GRAVE_ESC_CTRL_OVERRIDE Always send Escape if Control is pressed
GRAVE_ESC_GUI_OVERRIDE Always send Escape if GUI is pressed
GRAVE_ESC_SHIFT_OVERRIDE Always send Escape if Shift is pressed