]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboard/planck/extended_keymap_common.c
macros
[qmk_firmware.git] / keyboard / planck / extended_keymap_common.c
index d9f79ac041cbb283c53819288b240d6aba8ad136..f8fc3209fb63de9a8380c3641090b0f015ace553 100644 (file)
@@ -33,15 +33,19 @@ action_t action_for_key(uint8_t layer, keypos_t key)
        // 16bit keycodes - important
     uint16_t keycode = keymap_key_to_keycode(layer, key);
 
-    if (keycode > 0x00FF && keycode < 0x2000) {
+    if (keycode >= 0x0100 && keycode < 0x2000) {
        // Has a modifier
        action_t action;
        // Split it up
        action.code = ACTION_MODS_KEY(keycode >> 8, keycode & 0xFF);
        return action;
-       } else if (keycode > 0x1FFF && keycode < 0x3000) {
+       } else if (keycode >= 0x2000 && keycode < 0x3000) {
                // Is a shortcut for function layer, pull last 12bits
         return keymap_func_to_action(keycode & 0xFFF);
+       } else if (keycode >= 0x3000 && keycode < 0x4000) {
+       action_t action;
+       action.code = ACTION_MACRO(keycode & 0xFF);
+       return action;
        }
 
     switch (keycode) {
@@ -173,9 +177,8 @@ action_t keymap_fn_to_action(uint16_t keycode)
     return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) };
 }
 
-/* translates Fn keycode to action */
 action_t keymap_func_to_action(uint16_t keycode)
 {
        // For FUNC without 8bit limit
     return (action_t){ .code = pgm_read_word(&fn_actions[(int)keycode]) };
-}
\ No newline at end of file
+}