summaryrefslogtreecommitdiffstats
path: root/quantum/keymap_common.c
diff options
context:
space:
mode:
authorluc wastiaux <luc.wastiaux@airpost.net>2017-02-13 00:44:28 +0100
committerluc wastiaux <luc.wastiaux@airpost.net>2017-02-13 00:44:28 +0100
commit352d79e1fbbd7eea65793abb261dd544fec7bb1c (patch)
treee006ee8098826054d93939b2a59521f6c032e10d /quantum/keymap_common.c
parent5f8535b356e66975e20f1a573ab104db75f8b33c (diff)
parent4505db5d0e0c2423645cc9117f29b942d4841c5b (diff)
downloadqmk_firmware-352d79e1fbbd7eea65793abb261dd544fec7bb1c.tar.gz
qmk_firmware-352d79e1fbbd7eea65793abb261dd544fec7bb1c.tar.xz
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'quantum/keymap_common.c')
-rw-r--r--quantum/keymap_common.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index eced3d2bb..54b872d49 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -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);
@@ -117,7 +120,7 @@ action_t action_for_key(uint8_t layer, keypos_t key)
action.code = ACTION_MODS_ONESHOT(mod);
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: