Log in

View Full Version : [ISBoxer] ISBoxer Key Map Parser : Forgot what combos you have? Have Duplicates?



Fogyreef
04-19-2012, 01:41 PM
Can't remember what key combos you have used? Can't find that duplicate key combo?

The following Excel 2010 file reads your ISBoxer configuration file and parses it for all of your key combinations.

Download: ISBoxer XML KeyMap Parser v4.2.xlsm (https://docs.google.com/open?id=0B_FdyRHSk1kLQ2UtQnpQTXVvdDg)
Updated: 5/7/12
Bug and logic tweaks
Clearer color coding


What it does:


Automatically loads your file
Seeks out and presents suspect duplicated key maps
Sorts and organizes them for easy debugging
Allows for "Virtualizing", an advanced key mapping technique
Shows either duplicates only or all key maps
Creates a matrix of key combinations on sheet 2
The matrix shows what combos you have used and have left
The matrix highlights duplications
Compatible with G13 and G510 keyboards
Up to 8 button mouse
Supports all standard keys, and some not so standard
Game independent
Printer Friendly!




When I say "suspect" duplications that means due to ISBoxer's vast flexibility, the parser may find duplicates that don't necessarily impact your play. For example, key combos from one team don't affect another. I may have missed/ignored other otherwise safe duplications.

For simplicity's sake, if a combo is duplicated, virtualizing or not, only one combo name shows in the matrix. The matrix isn't comprehensive, it just ticks off what combo combinations have been used. However, all duplicated combos will be commented, showing all uses of that combo.

If you use Right Mods like Right Ctrl, Right Shift, etc., there is a toggle for that. Due to the extra permutations created when using Right Mods they add a significant delay to the parsing time. If you don't use them, turn them off.

Also, the dark yellow FTL warning strip reminds you that unless you're desperately searching for unused combos, you should avoid those, since they stand a high chance of being used for FTL.


If you find bugs or unexpected results, please:


Describe fully what you suspect is happening
Go to http://www.privatepaste.com
Paste your configuration file
Paste their generated link in your reply so I can take a look

JackBurton
04-19-2012, 05:23 PM
Thanks for sharing this Fogyreef This is kinda cool. Lax must have something like this already since he finds peoples problems so fast.

I do have a question. Sorry if i cant express my thoughts correctly. Maybe Its more for Lax than you. Do you think there could be such a thing as Dynamic keycombo conflicts?

if you run a keymap step that has multple operations could the mixed keypresses bleed over into each other and cause problems?.

For example a common one that assists and then fires an ability.
asisst uses the backspace keycombo.
lets say mage uses alt.ctrl.shift 1 for its dps ability
and a dk uses alt.ctrl 1 for its dps ability

is there any chance that the mages keycombo can prevent the dk from firing off his dps ability because the mage ability is jaming?

backspace is transmitted so they can all assist
mage is yellijng alt.shift.ctrl 1
dk is listening for alt.shift 1 but cant hear it because all he hears is alt.shift.ctrl 1.

or does isboxer not fire off all the tasks in the steps at the same time.
example

backspace (FTL assist)
1 mili second later
ctrl.alt.shift 1 (mage nuke)
1 mili second later
ctrl.alt 1 (dk dps)

but from the dk manefeso
you guys throw all kinds of abilities in a step like gambling hoping one of them will fire off.

I guess i can experiment myself with this if i threw 3 macros in a step and saw the result.

this one should definatly have no conflict if innerspace sends the keypresses only to the mage and dk's separately but im interested in the last scenario where everyone is hearing everything.
(all backspace) macro1 /say 1
(mage ctrl.alt.shift 1) macro2 /say 2
(dk ctrl.alt 1) macro3 /say 3

(all backspace) macro1 /say 1
(all ctrl.alt.shift 1) macro2 /say 2
(all ctrl.alt 1) macro3 /say 3

Fogyreef
04-19-2012, 06:59 PM
Jack,

Without knowing the exact context of the DK Manifesto point being made there, it's my best guess that what they are talking about is related to the two step macro and what's off cooldown at the moment of the key press(or release). Regarding a "dynamic collision" and key presses, each key press can only result in one action, per the rules multiboxing software authors voluntarily abide by. Only one step, or one key combination can be sent at a time. If there are multiple actions you expect to see happen with a single key press, in reality the program is systematically handling them one at a time. They're distinct and unaware of each other, like being in different train cars on the same track, so there's no chance of the DK "hearing" the Mage combo. You may think you're spamming very fast, but to the computer it's like a year is passing between key presses.

The same holds true for multiple macros/actions in a step. They are executed in order as the program comes across them. They're not being simultaneously broadcast as a collection.

Is that what you were asking?

Ualaa
04-19-2012, 07:55 PM
My understanding of a mapped key, is that each action is sequential.

The first one tries to fire off, and then the next, until the last one attempts to fire off.
I have a mapped key, which executes when characters switch windows (the leader swap mapped keys)...

They are:
- Slot 1 is Leader (Melee)
- Slot 2 is Leader (Melee)
- Slot 3 is Leader (Melee)
- Slot 4 is Leader (Melee)
- Slot 5 is Leader (Melee)
- Slot 1 is Leader (Caster)
- Slot 2 is Leader (Caster)
- Slot 3 is Leader (Caster)
- Slot 4 is Leader (Caster)
- Slot 5 is Leader (Caster)

Rather than run JambaMaster or JambaFollow on a switch, I run the relevant Slot X is Leader (Type) mapped key.
Each of them runs JambaMaster or JambaFollow, in addition to other things.
Each is one step long, meaning everything occurs each time... all on the single press.

Slot 1 is Leader (Melee) looks something like this:
- Leave ATG: NW > Target: All
- Leave ATG: NE > Target: All
- Leave ATG: SW > Target: All
- Leave ATG: SE > Target: All
- Join ATG: NW > Slot 2.
- Join ATG: NE > Slot 3.
- Join ATG SW > Slot 4.
- Join ATG SE > Slot 5.
- Do Mapped Key > High Settings > Current Window
- Do Mapped Key > Low Settings > Other Windows
- Do Mapped Key > CTM On > All Windows
- Do Mapped Key > JambaMaster > Current Window

Each of the Leave actions has to occur prior to any of the Join actions, otherwise my dynamic spread out key would not work.
Spread Out
- Keystroke Actions > W + E > Target: Group NE
- Keystroke Actions > W + Q > Target: Group NW
- Keystroke Actions > S + E > Target: Group SE
- Keystroke Actions > S + Q > Target: Group SW




The manifesto suggests a random ability will fire off...
If we were to mash a bunch of keys....

On Down:
1 chance of Howling Blast.

On Up:
1 chance of Howling Blast.
1 chance of Frost Strike.
1 chance of Frost Strike.
1 chance of Necrotic Strike.
1 chance of Death Coil.

It does seem to be fairly random.
Not sure if that's because Warcraft receives 5+ keybinds within a millisecond of each other... and interprets them as simultaneous and then randomly does one of them?

JackBurton
04-19-2012, 08:54 PM
cool

Alge
04-19-2012, 09:21 PM
if you run a keymap step that has multple operations could the mixed keypresses bleed over into each other and cause problems?.

For example a common one that assists and then fires an ability.
asisst uses the backspace keycombo.
lets say mage uses alt.ctrl.shift 1 for its dps ability
and a dk uses alt.ctrl 1 for its dps ability

is there any chance that the mages keycombo can prevent the dk from firing off his dps ability because the mage ability is jaming?

backspace is transmitted so they can all assist
mage is yellijng alt.shift.ctrl 1
dk is listening for alt.shift 1 but cant hear it because all he hears is alt.shift.ctrl 1.

The Mage and the DK have no chance of getting mixed signals. A small piece of software called a keymapper runs for each of your Character Slots. Each of these keymappers keeps its own state and is therefore independent of the other keymappers. They can send messages to each other though. When you have a Mapped Key with either multiple Actions with different Targets or even a single Action with a Target that includes multiple Characters, only the keymappers of the appropriate Character Slots receive instructions and those instructions do not include any instructions for the other keymappers.

Note: the above may not be technically correct (I don't have access to the code) but is probably close.

shadewalker
05-01-2012, 05:05 PM
Fogyreef,

Would it be possible to include the wowmacro key combos in the output table as well? Or maybe have a 3rd check box on the first sheet that could add this option.

I have gone thru the code to see if i could follow exactly where it "decides" if a key combo is output to the table on the second sheet. If i am following it correctly, all the key combos get added to the MapArray variable. I am assuming that the whole MapArray variable is sent to the FIllGrid subroutine. I just can follow exactly how the FillGrid sub determines what is a keymap to be output to the table and what is not.

any help would be greatly appreciated, Thanks.

Fogyreef
05-01-2012, 09:54 PM
Would it be possible to include the wowmacro key combos in the output table as well?

Hey there, Shadewalker,

You'll be happy(but maybe confused) to hear that they're already there! If you search the code for "'Search WoW Macros" you'll find the section where it parses the macro combos. It *should* be listing them in the grid for you. I explain below...


I have gone thru the code to see if i could follow exactly where it "decides" if a key combo is output to the table on the second sheet. If i am following it correctly, all the key combos get added to the MapArray variable. I am assuming that the whole MapArray variable is sent to the FIllGrid subroutine.

The MapArray collects every combo, duplicates and all, one at a time as it finds them. That's the starting point. Then in "'find duplicates" it fills the DuplicateArray with a list of combos that appear more than once in MapArray. In FillGrid every MapArray combo is going to be sent to the grid, but first it's checked against the DuplicateArray to see if it has been flagged as a duplicate. If so, it gets colored red. If not, green, or yellow if it's an FTL combo.



I just can (can't) follow exactly how the FillGrid sub determines what is a keymap to be output to the table and what is not.

Here's where you may be getting confused. ALL combos get sent to the grid, it's just that duplicates get written into the same cell, with the last duplicate overwritting any previous entries in that cell. Since this first version of my parser is just to locate duplicates and show you what combos have been used or not, I didn't make this an exploded view of all key maps, just all distinct combos. So your WoW Macro combos may just be there, but covered up by a duplicate.:rolleyes: (What I could do is populate a comment for cells that have more than one virtualized key map sitting in it.)

Do a self test: Make up a macro and assign it a combo you know to be unused (by virtue of it being blank in the grid). Save your config and go load it in the parser. If that combo does not come up in the grid then please reply with the following:

What macro and combo you're trying to use
Use the instructions in the first post above to link your config

and I'll take a look.

shadewalker
05-01-2012, 10:54 PM
I have a number of WoW Macros with key combos associated with them, they show up on the first page as seen in this screen shot:

http://i.imgur.com/0v8yN.png

Unfortunatly, they don't show up in the grid.

http://i.imgur.com/uByOO.png

and after looking more closely at my screen shots (just as I was typing this) , I may know why. I am using the right control modifier and right Alt modifier that don't have a space in your grid.

I will try adding a macro with the regular control modifier and see if that works better.

Thanks for the quick feedback too!

Fogyreef
05-01-2012, 11:03 PM
Quick as I saw it! I'll look into those R-mods. Almost finished with the new commenting code, but almost forgot about our raid doing it. :P I'll have it up late tonight or tomorrow.

Fogyreef
05-02-2012, 10:51 PM
New version!

Added auto comments: Because the matrix displays distinct combos and not an exploded view of all key maps, when a combo is duplicated all the instances of that combo stack in the same cell. I added a comment so you can hover over the cell and see what is using that combo. Only duplicated combos need this.

Added Right mods: It's not pretty, and it significantly slows the process, but for those of you using "Right Ctrl", "Right Alt", etc. those should now show on the matrix. It added four pages to the matrix, so scroll away.

Not many people use the right mods, so as always, if you find a problem use the instructions in the first post to reply here.

Edit: I'll add a toggle to turn off the Right mods if you don't use them. All the permutations available that the spreadsheet has to check for add significant time to the parser routine.

shadewalker
05-03-2012, 05:49 PM
Thanks Fogy, the update is much appreciated. I have to agree with you that it adds quite a few extra cells, lol. Now I am asking myself why I used the damn right modifiers anyways. Oh well I guess I'll have plenty of key combos before I double up any of my macros.

Thanks again
-Shade

Fogyreef
05-05-2012, 02:03 PM
Added Right Mods toggle. If you don't use right mods turn them off to save parsing time.

JackBurton
05-05-2012, 04:54 PM
I thought there was only 8 variations a key can be used as a key combo
nomod, shift, alt, ctrl, shift+alt+ctrl, shift+alt, shift+ctrl, ctrl+alt

blizz accepts r-ctrl and left-ctrl. i guess i can test it in the keybinds now.

what about isboxer FTL modifiers like assist FTL. with most of them being right modifers wont they conflict?

Lax
05-06-2012, 11:13 AM
There appears to be some confusion here regarding how right modifiers are handled by the WoW, and how they should be handled by Fogyreef's parser.

In Shadewalker's example...
http://i.imgur.com/0v8yN.png
he's got a bunch of Right Alt+Numpad, and Right Ctrl+Numpad. Assuming these are Key Combinations assigned to WoW Macros (which seems to be implied here) WoW will treat every single one of these, when bound, as simply Alt+Numpad, and Ctrl+Numpad. You can try it yourself. Go into the Key Bindings screen and try binding something to Right Ctrl+Num / and see what comes out. It'll be Ctrl+Num /. The only way for you to separately use left and right modifiers with WoW Macros is for the macro to use [mod:l___] and [mod:r___] as part of the same WoW Macro.

In summary, what I would recommend to Fogyreef for this parser is to strip the Right out of the Key Combo. Because Left and Right modifiers conflict, in every single case you can parse.

I don't think I have a PC that can operate this sheet to give any other advice, since it doesn't work in either OpenOffice or LibreOffice ;)

Something I'm not really clear on (being unable to see for myself atm) is how many pools of hotkeys/keycombos this is using. WoW Macros for example do not conflict with ISBoxer Hotkeys. Hotkeys bound in the game really only conflict with other Hotkeys bound in or built into the game (yes this might also mean Alt+F4 being interpreted by the game as a hotkey to close the window, not just the hotkeys the game lists in the Key Bindings window...). I would probably not list any outputs (Key Combinations, meaning things that get sent to the game and are interpreted by the game) next to any inputs (ISBoxer Hotkeys, meaning things that ISBoxer will interpret, potentially resulting in an output...). Inputs and Outputs never conflict. Just Inputs vs Inputs (ISBoxer Hotkeys vs each other), and Outputs vs Outputs (Game's Hotkeys vs each other).

JackBurton
05-06-2012, 10:02 PM
cool got it.

Lax and anime like Akira have one thing in common. I have to see it multiple times in order to get the whole thing.

Fogyreef
05-07-2012, 12:04 AM
For those trying to use Open Office and others to run the macro-enabled Excel file, it won't work. Open Office uses a different language to access it's functions via coding. I may look into building a web app should I have the time. In the meantime, go visit a buddy with Excel! :)

If someone knows of a non-Excel program that runs macro-enabled Excel files (.xlsm) please tell us!

Niimus
05-07-2012, 03:16 AM
Doesn't work for me ....
Application.PrintCommon is not supported (Microsoft Excel 2007) - delete those 2 lines and using a 'clean' ISBoxer set for WoW - absolutely no other definitions - the wizard sets CTRL+SPACE as others jump .....
With 'Show All' selected the app shows:


Space
Global Variable Key: Jump













in the 'None' column - the CTRL column is empty - same for many other keys.

Niimus
05-07-2012, 03:22 AM
I thought there was only 8 variations a key can be used as a key combo
nomod, shift, alt, ctrl, shift+alt+ctrl, shift+alt, shift+ctrl, ctrl+alt

blizz accepts r-ctrl and left-ctrl. i guess i can test it in the keybinds now.

what about isboxer FTL modifiers like assist FTL. with most of them being right modifers wont they conflict?

Yes they do ! create two macro's 'A' (assign to 'N') and 'B' (assign to CTRL+N)
use Macro A in a multi-step or multi-action keymap with and FTL command - e.g. '/assist {FTL}
run it up .... all slots will execute Macro A EXCEPT when slot 3 has focus (Left-CTRL = default FTL modifier for slot 3) slot 3 will always execute Macro B - though that keymap knew nothing of Macro B ....

OOPs - just tried this .... and didn't get the result from above - though yesterday was having that problem ....

my slot 3 toon would never execute the correct macro until I removed the ctrl+n key combination for the second macro ....hmmmmmm

Fogyreef
05-07-2012, 03:37 AM
Thanks Niimus. I removed the Application.PrintCommunication lines. They're expendable. Regarding the missing "General: Others Jump" in the Ctrl+Space cell, I cleared my config and ran the basic quick setup wizard and I get the combo. Please use the instructions in the first post to post your config, and detail the steps you took to arrive at that config and I'll take a look at it.

Edit: Niimus - any chance you loaded the file after clearing it but didn't reload the after you ran the wizard?

Niimus
05-07-2012, 04:02 AM
used 'save as' so as not to overwrite my current setup.
used 'Clear'
Used the wizard to create a 3box set.
Saved as Test.xml.
http://www.privatepaste.com/83f0246a72
Loaded into the excel parser
Loaded the file and set the 'Show All' option.
Parsed the file.

http://www.privatepaste.com/3ff1685954

Might just be a result of only having office 2007 .....

That's why I prefer writing full apps to using VB for applications .... will write a C# .net 4 app to do the same .....:)

Lax
05-07-2012, 12:30 PM
Relevant to this thread:

ISBoxer 40.2.0507.2
* WoW Macro Key Combination conflict detection now includes FTL Modifiers and optional 'Extra modifiers'
(update is now available through Help->About)

In previous versions, it was possible to set up a WoW Macro on Shift+F11 and have it bypass the conflict detection. However, F11 is /follow {FTL}, and FTL by definition reserves additional key combinations. Setting up a WoW Macro on Shift+F11 would break the ability to use /follow {FTL} for any slot that includes Shift as an FTL modifier. This type of conflict is now detected as of this update, and will not let you Export to Inner Space.

I cant speak for whatever other conflicts/duplicates you guys are looking for but WoW Macros should be pretty difficult to conflict...

Fogyreef
05-07-2012, 03:57 PM
Might just be a result of only having office 2007 .....

That's why I prefer writing full apps to using VB for applications .... will write a C# .net 4 app to do the same .....:)

Updated the file. Please use the new version in post 1.

For some reason your combos were in uppercase. :confused: When the parser compared strings to find the cell it belongs in it wouldn't match so it wouldn't show. I didn't modify the case originally since I figured it was hardcoded in ISB, but I have since fixed that. Not exactly ISO9000 here.:rolleyes:

Please try again and let me know.

I haven't programmed professionally in almost 10 years, so if you want to write a stand alone port of this spreadsheet go for it! :cool: