Features - macros
Programming a macro
Each CH key can also be programmed to action a macro. A macro is defined in a file, as a set of actions to perform once triggered. As for the mouse and joystick axes, as this is handled in a separate thread, you can press and action other keys during the macro execution, including keyboard, mouse and joystick axes movement actions.
Macros are limited to keys
Macros are limited to key events (they cannot trigger mouse movements, axes or other macros). Timings and distinction between press / release can be made, as well as calling for mouse / joystick buttons. Different CH keys can call the same macro.
Timings
User defines the exact sequence and timings of each key press / release. Once started, a macro will continue until its completion, but it can be interrupted if you have programmed a key to act as "stop macro". You cannot trigger another macro until the previous one has completed or has been interrupted.
Interrupting a macro
Bear in mind that each key pressed reproduces exactly what the user would do - so, to get a shifted character to input text, you should program shift (hold) also before your key (and shift release after) - think about caps lock state ! Interrupting a macro in progress might also interrupt when a key is pressed and before it is released - resulting in a key staying continuously pressed (press the same key to cancel). Therefore, using the stopmacro key should be done sparingly, and is only really useful for long duration macros anyway.