FAQ  •  Register  •  Login

How a MKey handles steps when called inside other MKey?

Moderator: MiRai

<<

TRoN

Posts: 78

Joined: Fri Dec 31, 2010 5:19 am

Post Tue Apr 02, 2013 7:06 am

How a MKey handles steps when called inside other MKey?

My multiboxing setup is very close to be perfect and, step by step, I've been tunning little things to make my multiboxing experience more enjoyable.

I like to understand the mechanics, how things work, to be able to create and implement new ideas. And that's a big part of why I multibox.

So, I have a question about Maped Keys. Let's suppose I have a MK A (hotkey P):

Step 1: Do wathever_one
Step 2: Do Mapped Key B

And a MK B:

Step 1: Do wathever_two
Step 2: Do wathever_three

My question is if I press 'P' 3 times, what happen?

1st time: whatever_one is performed.
2nd time: whatever_two is performed
3th time: whatever_one is performed (plus wathever_three is performed ??)

And if MK B was:

Step 1: Do Mapped Key A
Step 2: Do wathever_three

How steps contained in a Mapped Key are handled when that Mapped Key is called from inside other Mapped Key?

Thank you!
<<

MiRai

User avatar

Vibrant Videographer

Posts: 3010

Joined: Fri Nov 20, 2009 3:30 pm

Post Tue Apr 02, 2013 7:30 am

Re: How a MKey handles steps when called inside other MKey?

TRoN wrote:My multiboxing setup is very close to be perfect and...

I stopped reading there. True ISBoxer users will be constantly tweaking their setup until the day they stop multiboxing!

Honestly, I don't know the answer off the top of my head, but I'd guess it works something like this (assuming no resets or do-not-advances are in place):

A1
B1
A1
B2

--------------

A1
A2 -> B1 -> A1
A1
A2 -> B2
A1
A2 -> B1 -> A1
A1

...and so on. I don't know what you're expecting to happen here, but I don't think you need those weird convoluted steps to achieve it because it looks like a repeatable pattern with just a single Mapped Key; unless you require MK B to exist for other reasons.
<<

Alge

User avatar

League of Extraordinary Multiboxers

Posts: 1223

Joined: Wed Jan 26, 2011 2:17 am

Location: Under the milky way tonight

Post Tue Apr 02, 2013 7:47 am

Re: How a MKey handles steps when called inside other MKey?

If I wanted to find out the answer I would add Popup Text Actions to my Mapped Keys to identify which Step was occuring.
<<

lax

User avatar

Site Admin

Posts: 7303

Joined: Tue Nov 17, 2009 9:32 pm

Post Tue Apr 02, 2013 8:04 am

Re: How a MKey handles steps when called inside other MKey?

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.
<<

Alge

User avatar

League of Extraordinary Multiboxers

Posts: 1223

Joined: Wed Jan 26, 2011 2:17 am

Location: Under the milky way tonight

Post Tue Apr 02, 2013 8:06 am

Re: How a MKey handles steps when called inside other MKey?

head go boom!
<<

lax

User avatar

Site Admin

Posts: 7303

Joined: Tue Nov 17, 2009 9:32 pm

Post Tue Apr 02, 2013 8:09 am

Re: How a MKey handles steps when called inside other MKey?

Alge wrote:head go boom!

Ask a convoluted question, get a convoluted answer ;)
<<

TRoN

Posts: 78

Joined: Fri Dec 31, 2010 5:19 am

Post Tue Apr 02, 2013 8:32 am

Re: How a MKey handles steps when called inside other MKey?

MiRai wrote:A1
B1
A1
B2


Assuming this is what happens it's what I thought.

MiRai wrote:A1
A2 -> B1 -> A1
A1
A2 -> B2
A1
A2 -> B1 -> A1
A1


Yeh. It follows the same logic. Great! Thank you.

MiRai wrote:I don't know what you're expecting to happen here, but I don't think you need those weird convoluted steps to achieve it because it looks like a repeatable pattern with just a single Mapped Key; unless you require MK B to exist for other reasons.


:) That was just an abstract example to help me understand how the system handles steps inside MKs and the conclusion is that each MK holds its own queue independent from the whole flow of actions sent to the game windows. Its listeners will trigger (by a hotkey or by a MK action) the next step of its cicle even if it occurs 1 hour after the last one, even if, meanwhile, we've sent a billion other keystrokes to the toons wondows.

About needing these 'weird convoluted steps', as you said it performs patterns. Patterns are the result of functions and functions are 'just the logic between what we have and what we want'. So it can be useless but it can be the key to some weird and innovative something too ;)
<<

TRoN

Posts: 78

Joined: Fri Dec 31, 2010 5:19 am

Post Tue Apr 02, 2013 8:50 am

Re: How a MKey handles steps when called inside other MKey?

Hey, thank you very much Lax for your elaborated answer :)

I think I've understood the mechanics. Just one thing to be sure:

if MKA (1 step: do MKB - press or release) is activated with a hotkey (press it then release it), MKB (2 steps: <do anything> - press or release) is triggered 2 times and will perform step 1 action, than step 2 action. Right?
<<

lax

User avatar

Site Admin

Posts: 7303

Joined: Tue Nov 17, 2009 9:32 pm

Post Tue Apr 02, 2013 9:27 am

Re: How a MKey handles steps when called inside other MKey?

if MKA (1 step: do MKB - press or release) is activated with a hotkey (press it then release it), MKB (2 steps: <do anything> - press or release) is triggered 2 times and will perform step 1 action, than step 2 action. Right?

Yes:
When MK A's Step 1 containing "Do Mapped Key B" does its "press", MK B will do exactly the same as if you pressed MK B's Hotkey, which is to perform Step 1 in this case.
When MK A's Step 1 containing "Do Mapped Key B" does its "release", MK B will do exactly the same as if you released MK B's Hotkey, which is to perform Step 2 in this case.

Regardless of whether MK A is activated via Hotkey, or Do Mapped Key Action.

Return to Key Maps

Who is online

Users browsing this forum: No registered users and 0 guests