aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_common.c
diff options
context:
space:
mode:
authorTerryMathews <[email protected]>2017-04-08 00:30:54 -0400
committerGitHub <[email protected]>2017-04-08 00:30:54 -0400
commit3899bec4b603a0880055c60df534c5a86ad44a52 (patch)
treedd3ac70f403290fafff4bf8005925a3d5eed69cd /quantum/keymap_common.c
parent2a2be010d9d8c10d872c01637f4b4cd263f9bc1b (diff)
parent154305ce1be16b2c8abce5e5d4dee421f295d6b3 (diff)
downloadqmk_firmware-3899bec4b603a0880055c60df534c5a86ad44a52.tar.gz
qmk_firmware-3899bec4b603a0880055c60df534c5a86ad44a52.zip
Merge pull request #1 from qmk/master
Catchup
Diffstat (limited to 'quantum/keymap_common.c')
-rw-r--r--quantum/keymap_common.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index eced3d2bba..6cf4f031ff 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -1,5 +1,5 @@
/*
-Copyright 2012,2013 Jun Wako <[email protected]>
+Copyright 2012-2017 Jun Wako <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -80,7 +80,10 @@ action_t action_for_key(uint8_t layer, keypos_t key)
action.code = keymap_function_id_to_action( (int)keycode & 0xFFF );
break;
case QK_MACRO ... QK_MACRO_MAX:
- action.code = ACTION_MACRO(keycode & 0xFF);
+ if (keycode & 0x800) // tap macros have upper bit set
+ action.code = ACTION_MACRO_TAP(keycode & 0xFF);
+ else
+ action.code = ACTION_MACRO(keycode & 0xFF);
break;
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF);
@@ -116,8 +119,11 @@ 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) & 0xF, keycode & 0xFF);
+ action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0x1F, keycode & 0xFF);
break;
#ifdef BACKLIGHT_ENABLE
case BL_0 ... BL_15: