Skip to content

Commit

Permalink
adds layer tap toggle
Browse files Browse the repository at this point in the history
  • Loading branch information
jackhumbert committed Feb 15, 2017
1 parent 7bef285 commit 69ea10f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
3 changes: 3 additions & 0 deletions quantum/keymap_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ action_t action_for_key(uint8_t layer, keypos_t key)
mod = keycode & 0xFF;
action.code = ACTION_MODS_ONESHOT(mod);
break;
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
action.code = ACTION_LAYER_TAP_TOGGLE(keycode & 0xFF);
break;
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0x1F, keycode & 0xFF);
break;
Expand Down
13 changes: 9 additions & 4 deletions quantum/quantum_keycodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,18 @@ enum quantum_keycodes {
#endif
QK_TAP_DANCE = 0x5700,
QK_TAP_DANCE_MAX = 0x57FF,
#ifdef UNICODEMAP_ENABLE
QK_UNICODE_MAP = 0x5800,
QK_UNICODE_MAP_MAX = 0x5BFF,
#endif
QK_LAYER_TAP_TOGGLE = 0x5800,
QK_LAYER_TAP_TOGGLE_MAX = 0x58FF,
QK_MOD_TAP = 0x6000,
QK_MOD_TAP_MAX = 0x7FFF,
#ifdef UNICODE_ENABLE
QK_UNICODE = 0x8000,
QK_UNICODE_MAX = 0xFFFF,
#endif
#ifdef UNICODEMAP_ENABLE
QK_UNICODE_MAP = 0x8000,
QK_UNICODE_MAP_MAX = 0x83FF,
#endif

// Loose keycodes - to be used directly

Expand Down Expand Up @@ -304,6 +306,9 @@ enum quantum_keycodes {
// One-shot mod
#define OSM(mod) (mod | QK_ONE_SHOT_MOD)

// Layer tap-toggle
#define TT(layer) (layer | QK_LAYER_TAP_TOGGLE)

// M-od, T-ap - 256 keycode max
#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0x1F) << 8))

Expand Down

0 comments on commit 69ea10f

Please sign in to comment.