I think I have done fn actions before. It would be something like this in the keymap.c?
/*
* Fn action definition
*/
static const uint16_t PROGMEM fn_actions[] = {
ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
ACTION_LAYER_MOMENTARY(1), // FN1 - switch to Layer1
ACTION_LAYER_SET(2, ON_PRESS), // FN2 - set Layer2
ACTION_LAYER_TOGGLE(3), // FN3 - toggle Layer3 aka Numpad layer
ACTION_LAYER_SET(0, ON_PRESS), // FN4 - set Layer0
ACTION_LAYER_TOGGLE(1), // FN5 - toggle Layer1 aka F Keys
ACTION_MACRO(SHIFT_ALT), // FN6 - Language Change
};
Would the macro definition also be in the keymap?