UPDATE: It didn’t really matter what combination of macro functions I used, nothing worked with mouse movement keys. I settled on using the moveMouse function in macroAction to handle the fast/mid speeds:
case MACRO_MOUSE_LEFT_FAST:
kaleidoscope::hid::moveMouse(-4, 0, 0);
break;
case MACRO_MOUSE_LEFT_MID:
kaleidoscope::hid::moveMouse(-2, 0, 0);
break;
…while defining the speeds I wanted for the slowest speed keys and using the normal mouse movement keys:
MouseKeys.speed = 1;
MouseKeys.speedDelay = 0;
MouseKeys.accelSpeed = 0;
…
[MOUSE] = KEYMAP_STACKED
(___, ___, ___, ___, ___, ___, ___,
___, ___, ___, ___, ___, ___, ___,
___, ___, ___, ___, ___, ___,
___, ___, ___, ___, ___, ___, ___,
___, ___, ___, ___,
___,
___, ___, ___, ___, ___, ___, ___,
___, M(MACRO_MOUSE_LEFT_FAST), M(MACRO_MOUSE_DOWN_FAST), M(MACRO_MOUSE_UP_FAST), M(MACRO_MOUSE_RIGHT_FAST), Key_mouseScrollUp, ___,
M(MACRO_MOUSE_LEFT_MID), M(MACRO_MOUSE_DOWN_MID), M(MACRO_MOUSE_UP_MID), M(MACRO_MOUSE_RIGHT_MID), Key_mouseScrollDn, ___,
___, Key_mouseL, Key_mouseDn, Key_mouseUp, Key_mouseR, Key_mouseScrollL, Key_mouseScrollR,
___, ___, Key_mouseBtnR, Key_mouseBtnL,
Key_mouseBtnM)
Because I access this new MOUSE layer through the combination of buttons I use to get NUMPAD and FUNCTION layers, I have stumbled upon what seems to be an interesting bug: if I hold the function modifier before I hold the numpad modifier, the mouse keys go faster (about twice as much) than if I hold in the opposite order. This bug seems to also affect normal mouse movement keys like Key_mouseL.