diff options
Diffstat (limited to 'quantum/keymap_common.c')
| -rw-r--r-- | quantum/keymap_common.c | 7 |
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) | |||
| 80 | action.code = keymap_function_id_to_action( (int)keycode & 0xFFF ); | 80 | action.code = keymap_function_id_to_action( (int)keycode & 0xFFF ); |
| 81 | break; | 81 | break; |
| 82 | case QK_MACRO ... QK_MACRO_MAX: | 82 | case QK_MACRO ... QK_MACRO_MAX: |
| 83 | action.code = ACTION_MACRO(keycode & 0xFF); | 83 | if (keycode & 0x800) // tap macros have upper bit set |
| 84 | action.code = ACTION_MACRO_TAP(keycode & 0xFF); | ||
| 85 | else | ||
| 86 | action.code = ACTION_MACRO(keycode & 0xFF); | ||
| 84 | break; | 87 | break; |
| 85 | case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: | 88 | case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: |
| 86 | action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); | 89 | 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) | |||
| 117 | action.code = ACTION_MODS_ONESHOT(mod); | 120 | action.code = ACTION_MODS_ONESHOT(mod); |
| 118 | break; | 121 | break; |
| 119 | case QK_MOD_TAP ... QK_MOD_TAP_MAX: | 122 | case QK_MOD_TAP ... QK_MOD_TAP_MAX: |
| 120 | action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); | 123 | action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0x1F, keycode & 0xFF); |
| 121 | break; | 124 | break; |
| 122 | #ifdef BACKLIGHT_ENABLE | 125 | #ifdef BACKLIGHT_ENABLE |
| 123 | case BL_0 ... BL_15: | 126 | case BL_0 ... BL_15: |
