diff options
author | Jack Humbert <jack.humb@gmail.com> | 2015-10-27 23:06:18 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2015-10-27 23:06:18 -0400 |
commit | 18da1e6801335b0d9515ab72e9236a01d629915f (patch) | |
tree | b742da9b8d7f766a6e63957dd0b201007ffeb0fe | |
parent | d9f08e6177271594fa573993d9f4dbc2d98c7416 (diff) | |
download | qmk_firmware-18da1e6801335b0d9515ab72e9236a01d629915f.tar.gz qmk_firmware-18da1e6801335b0d9515ab72e9236a01d629915f.zip |
layer tap, mod tap
-rw-r--r-- | quantum/keymap_common.c | 4 | ||||
-rw-r--r-- | quantum/keymap_common.h | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index da75271727..fc889a3082 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -118,6 +118,10 @@ action_t action_for_key(uint8_t layer, keypos_t key) action_t action; action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); return action; + } else if (keycode >= 0x8000 && keycode < 0x9000) { + action_t action; + action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); + return action; #ifdef UNICODE_ENABLE } else if (keycode >= 0x8000000) { action_t action; diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 100300e813..e93e864833 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -177,13 +177,16 @@ extern const uint16_t fn_actions[]; #define MIDI(n) (n | 0x6000) -// H-old, T-ap - 256 keycode max -#define HT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8)) +// M-od, T-ap - 256 keycode max +#define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8)) #define CTL_T(kc) HT(0x1, kc) #define SFT_T(kc) HT(0x2, kc) #define ALT_T(kc) HT(0x4, kc) #define GUI_T(kc) HT(0x8, kc) +// L-ayer, T-ap - 256 keycode max, 16 layer max +#define LT(layer, kc) (kc | 0x7000 | ((layer & 0xF) << 8)) + // For sending unicode codes. // You may not send codes over 1FFF -- this supports most of UTF8. // To have a key that sends out Œ, go UC(0x0152) |