Blocking vs non-blocking Processing of Mappings?

Hello,

I apologize as I know I could analyze the source code to understand this better (and do hope to get that to that level)

If I have many mappings and some are complex macros (with delays between outputs), I wonder how these will be processed by the MCU? For example, when I hit a macro-delay is the MCU able to jump-to / process other events - or is code more single-threaded / blocking and it will not process those events until the current macro has finished executing?

When a macro is triggered, its inputs are added to a queue that is shared between all macros. Other inputs are processed normally while inputs from the queue are sent according the to configured step duration. This means that you can do other things while a macro is executing, but macros are executed one after another, not in parallel.