FAQ  •  Register  •  Login

cascading menus: actions triggered by short key sequences

Moderator: MiRai

<<

crookedcross

Posts: 23

Joined: Sat Aug 09, 2014 8:04 pm

Post Wed Aug 27, 2014 8:47 am

cascading menus: actions triggered by short key sequences

I am trying to use the "menus" feature to build cascading menus, with each level of menu depth sharing the same set of hotkeys.
e.g. I have a 10 item menu with 10 hotkeys: F1 - F10
Each of each these can load a submenu with up to 10 items also bound to F1 - F10.
And then again with 1 more level of depth.
Some keys may have depth of only 2 or even 1.
This gives me up to 1000 actions accessible with only 10 keys, and is great for less common actions - so I can have EVERYTHING bound to keys without running out of keys or problems with modifier collisions.
All menus are "click-thru" and invoked only via keys.

Depth 1:
F1 (primary rotation spam key)

Depth 2:
F4 (Heal submenu) -> F1 (SLOT1)

Depth 3:
F5 (Remove debuffs submenu) -> F2 (Decurse submenu) -> F1 (SLOT1)

Your brain will quickly learn the most common sequences, so you wont be looking at the menu except for the items you have not memorized yet.
If the menus can be triggered "On Press", then you can type e.g. F5 F2 F1 quite quickly.

Benefits:
* in-game documentation of your key->action mappings via the menu text
* a tree structure to organize your actions instead of a flat mess of keys
* retain most of the speed of a flat set of key bindings
* can still direct-bind spam keys (i.e. depth of 1)

In practice, I am doing this with a 4x5 menu grid on an OrbWeaver.
The popup menu grid is a very nice visual to match the OW keys.
Maybe half the keys are bound with depth of 1 (primary attacks etc)
The rest popup submenus varying from 1 - 4 rows.


Things looked very promising when I built the first few menus.

When I popup (menu action -> Load and the menu has "Popup" checked) a menu, the hotkeys I have defined for the menu are "overriding" existing HotKeys I have defined in keymaps. By "override" I mean that the actions on the menu are being triggered, while the actions from keymaps are not being triggered.

This is ideal behavior for what I am doing - I want transient modal popup menus.
And it means I do not need to disable existing keymaps or pause hotkeys of parent menus every time I popup a menu (and I will be popping up lots and lots of menus).

The first problems I had:
If the button to load a menu was triggered "On Press" then it behaved as "On Hold".
If I selected "On Hold" it did nothing. And if I used "On Release" it worked, but the key (I assume the Press event) fell thru to the active game window.

But then later when I created a barebones example from a clean ISboxer config, things behaved totally differently.
If I use "On Release" the popups work once only. After a menu item is invoked and the popup disappears, the parent menu keys no longer respond.
I tried sending an "unpause" menu action to the parent - added a hotkey outside the menu and manually pressed after the menu stopped responding.

Questions:

What is going on internally when I load a menu that has HotKeys which conflict with HKs from keymaps or other menus?

How are menu buttons supposed to behave with respect to the "On Press, On Release, Hold" ?

For this to work well, a popup menu needs to consume both the press and release of the HotKey bound to the button. Is there any way to do this?


Config:
http://www.privatepaste.com/9424748069
<<

bob

User avatar

League of Extraordinary Multiboxers

Posts: 4589

Joined: Sat Feb 15, 2014 11:14 am

Location: In the dining room, with the lead pipe.

Post Wed Aug 27, 2014 8:59 am

Re: cascading menus: actions triggered by short key sequences

As per the Wiki (http://isboxer.com/wiki/Menus)

Hotkey Set - A Hotkey Set defines a set of Hotkeys that can be assigned to a Menu. Hotkey Sets are not required, but can be used to activate Menu Buttons without clicking on the GUI. Hotkey Sets can be assigned on-the-fly! A single Menu can have any number of Hotkey Sets attached, but each Hotkey Set can only be attached to one Menu!


I suspect this is where it is falling down.


Wanting to use the same hotkeys, you may be able to have each sublevel of menu that loads, unload the prior menu level so the Hotkeys don't overlap, then when you execute the lowest level it should unload itself (after the action), and reload the top level menu. You will probably want a reset too. No idea if this will work though.


edit:

Oooo hotkey sets can be assigned on the fly!!, so maybe you can just assign/unassign these instead of unloading/loading menus.
<<

SCANTRON

Posts: 24

Joined: Sat Jan 01, 2011 8:03 am

Post Wed Aug 27, 2014 9:52 am

Re: cascading menus: actions triggered by short key sequences

This sounds interesting I'd love to see a video of it in action. I'll make sure to check out your config later.
<<

firescue17

User avatar

League of Extraordinary Multiboxers

Posts: 584

Joined: Wed Sep 19, 2012 7:37 am

Location: Omaha, NE

Post Wed Aug 27, 2014 10:42 am

Re: cascading menus: actions triggered by short key sequences

Me too.
<<

crookedcross

Posts: 23

Joined: Sat Aug 09, 2014 8:04 pm

Post Wed Aug 27, 2014 11:11 am

Re: cascading menus: actions triggered by short key sequences

I am hoping that once I finish reading firescue17's magnum opus "Guide: Unlimited Hotkeys Through Virtualized Menus" I will be able to solve my implementation issues. :D

From what I gather so far, everything in my desired setup is already done there. The only difference is that I am trying to use a menu tree instead of pages. A tree *may* require less keystrokes to find an action depending on gameplay style.
ie.
If you tend to use a smallish subset of keys for a while/situation, and then a different subset in another, then pages wins.
If your access is more randomly distributed, then a tree gives faster access.
Certainly the former applies to alot of gameplay. hmm..

The other reason I am interested in the tree approach is that our brains readily learn pathways thru a hierarchy.
So I am hoping that even my defective memory will be able to eventually learn the key sequences without looking at the menus.
<<

crookedcross

Posts: 23

Joined: Sat Aug 09, 2014 8:04 pm

Post Wed Aug 27, 2014 12:18 pm

Re: cascading menus: actions triggered by short key sequences

Is there some clever way to get more feedback when things don't work?

I am trying to figure out why a menu is not popping up on a "Load" menu action.
I enabled the debug console from the ISboxer in-game console.
Clicked the "Button" option and "Force all debugging"
but there is not much in the debug window. And nothing at all is added when I press the hotkey to load the menu.
<<

lax

User avatar

Site Admin

Posts: 7301

Joined: Tue Nov 17, 2009 9:32 pm

Post Wed Aug 27, 2014 2:19 pm

Re: cascading menus: actions triggered by short key sequences

crookedcross wrote:Is there some clever way to get more feedback when things don't work?

I am trying to figure out why a menu is not popping up on a "Load" menu action.
I enabled the debug console from the ISboxer in-game console.
Clicked the "Button" option and "Force all debugging"
but there is not much in the debug window. And nothing at all is added when I press the hotkey to load the menu.

Menus dont have specific debugging at the moment. "Button" is specifically for keystrokes.

Make sure the Menu works in the first place, just assign it to your Character Set and look at it. ;)
<<

crookedcross

Posts: 23

Joined: Sat Aug 09, 2014 8:04 pm

Post Thu Aug 28, 2014 11:16 am

Re: cascading menus: actions triggered by short key sequences

I now have cascading menus bound to key sequences WORKING.

Now I love love Love LOVE LOVE LURVE ISboxer menus ! ! !

I have long wanted key sequences in WOW - and was faced with having to write an addon to get them.
But now I will just run from ISboxer even when solo.

And I am able to mix paging with a tree. woohoo!
So I can have firescue17's situational style menus - e.g. for "party prep"
AND the tree approach as well. Only needed depth of 2. With a 4x5 grid I can comfortably fit everything on root + 9 popup pages.
So I can access any menu item with a 2 key sequence :D

Will take me days to fill in the 2000 actions though.
After I fill in a few popups I will post some images.

Return to Menus

Who is online

Users browsing this forum: No registered users and 2 guests

cron