Tue Apr 02, 2013 8:04 am by lax
Before I begin I have to point out that your example has MK A and MK B performing each other and this can result in an infinite loop freeze. I'm going to write my post assuming you didn't mean for that.
A "Do Mapped Key Action" performs both a Press and a Release. It's literally the same as pressing the Hotkey to activate the Mapped Key, and follows exactly the same rules.
The only thing you can change about it is whether both the Press and the Release happen at the same time (one instantly after the other), or are separated by your manually pressing and releasing a control. Because you can change this, the exact answer to your examples will vary.
So.. say you have Mapped key A. It has 2 Steps, and each of those Steps has some Action in them. Mapped Key A has an option whether it should execute a step when "pressed", "released" or "pressed OR released" which will do a Step when pressed and then another Step when released (as if pressing the button TWICE when set to one or the other). So you have two possible scenarios, one where you press and release this button once to execute one step, and one where you press and release this button once to execute two steps.
As for the Actions performed by this Mapped Key, there is exactly one option on your Mapped Key that affects how certain Actions are applied. That's the "Hold" option. When you enable this option on a Mapped Key, the described behavior is that Keystroke Actions will be held down while you hold the Hotkey; necessarily (because there might be Keystrokes down the line that need to be Held) the same effect is applied to Do Mapped Key Actions. The Do Mapped Key Action will be "held" while this Mapped Key is "held" either by the Hotkey or Click Bar or a Do Mapped Key Action (which in turn comes from a Hotkey or Click Bar that is held) or whatever is performing it. That means when you press your Hotkey, the Do Mapped Key Action will do its "press" of the other Mapped Key, and when you release your Hotkey, the Do Mapped Key Action will do its "release" of the other Mapped Key.
The rest is just following the logic of when the press/release events happen. So in your example...
You press and release "P" 3 times, being 6 total events: press MK A, release MK A, press MK A, release MK A, press MK A, release MK A.
You have options on MK A to determine whether anything happens on half of those events, so if it's set to either "pressed" or "released" or the Hold option is enabled, then 3 Steps of MK A are executed; otherwise 6 Steps of MK A are executed.
So as far as MK A is concerned, you're either going to get 1 2 1, or 1 2 1 2 1 2, in terms of what exactly happens from these 6 events.
So let's say that Step 1 of MK A is to "Do MK X" and Step 2 of MK A is to "Do MK Y".
MK X and MK Y have their own designed behaviors, they can have their own hotkeys, etc. Following the logic for what happens in MK X and MK Y is the same as for MK A. It has the same options. If MK X has one Step, then this Step is going to be performed every time "1" appears in my 1 2 1 lists above. (where we're pressing "P" to activate MK A)
But MK X can also have the "pressed OR released" option, and remember that Do Mapped Key Action is doing a press and release event. So each of those 1's in the list can be considered "press MK X; release MK X". 1 is literally "press MK X; release MK X" and 2 is literally "press MK Y; release MK Y". This means that you can have one Step of MK X execute, or two Steps of MK X to execute, when Step 1 of MK A is performed. Or when its Hotkey is used if it has one, because it's the same behavior.