From cc1c32671eb1eb43a87e55ac4ffa60b15115e48d Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Mon, 26 Oct 2015 20:02:25 -0400 Subject: fixed makefile, added MO DF shortcuts --- quantum/keymap_common.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'quantum/keymap_common.c') diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index c9e1494fd..5c00c0afa 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -78,12 +78,30 @@ action_t action_for_key(uint8_t layer, keypos_t key) print("\nDEBUG: enabled.\n"); debug_enable = true; return; - } else if (keycode >= 0x5000 && keycode < 0x6000) { - int when = (keycode >> 0x9) & 0x3; - int layer = keycode & 0xFF; - action_t action; - action.code = ACTION_LAYER_SET(layer, when); - return action; + } else if (keycode >= 0x5000 && keycode < 0x6000) { + // Layer movement shortcuts + // See .h to see constraints/usage + int type = (keycode >> 0x8) & 0xF; + if (type == 0x1) { + // Layer set "GOTO" + int when = (keycode >> 0x4) & 0x3; + int layer = keycode & 0xF; + action_t action; + action.code = ACTION_LAYER_SET(layer, when); + return action; + } else if (type == 0x2) { + // Momentary layer + int layer = keycode & 0xFF; + action_t action; + action.code = ACTION_LAYER_MOMENTARY(layer); + return action; + } else if (type == 0x3) { + // Set default layer + int layer = keycode & 0xFF; + action_t action; + action.code = ACTION_DEFAULT_LAYER_SET(layer); + return action; + } #ifdef MIDI_ENABLE } else if (keycode >= 0x6000 && keycode < 0x7000) { action_t action; -- cgit v1.2.3-24-g4f1b