dumbeau / AutoHotPie

Radial menus in Windows, aka PIE MENYOOS!
MIT License
367 stars 21 forks source link

[Feature request] Ability to use hotkeys to cycle through pie menu slices #58

Open Sineval opened 2 years ago

Sineval commented 2 years ago

This idea came to me, when I played an FPS game during work break and noticed that pie menu is unusable in it, because the game did not relinquish mouse control when pie menu was enabled.

I could see this as a new activation mode, that would be "hotkeys to cycle slices + pie key tap to activate highlighted one", but this might work as an additional option in the "Click selection" mode as well. Closing of the pie menu, without triggering one of the slices, could be handled by an inactivity timer to avoid using the ESC key.

The hotkeys could be set as Scroll Wheel as default (scroll forward would cycle slices clockwise, and scroll backwards counterclockwise), but should also be re-assignable by the user (in the case the linked program is also intercepting keys)

dumbeau commented 2 years ago

Good suggestion! So there is kind of a way to do this currently, but it takes up a slice. You can set a slice hotkey on a submenu slice:

image

You can't set this WheelUp or WheelDown, just because things break on the backend at the moment. But I'd say try experimenting with this for a moment. I'll look into how to get this working though. Maybe 'hidden slices' could be added and these could only be activated through 'slice hotkeys'? I want to keep the number of activation modes low, and I think this can work in conjunction with some of the current activation modes.

Sineval commented 2 years ago

Personally, I think, that using hotkeys to activate individual slices kind-off invalidates the best point of the radial menu, that is to keep multiple different hotkeys/commands/stuff under a single button (that is why Scroll Wheel would be perfect for this, since you could do everything with 2 fingers). And in the case, where you cannot use the mouse, you would need a hotkey to activate a slice that is a hotkey, and at that point you might as well use original hotkeys anyway.

This could definitely work with the method 4 "Click selections" as that one requires clicking the slice (or use the activation key) and highlighting could be handled by the "cycle hotkeys".

You can't set this WheelUp or WheelDown, just because things break on the backend at the moment.

Issue with AHK mouse handling?

dumbeau commented 2 years ago

Ope ended up being super easy to add, I updated v1.0.20 to allow Wheel Up and Wheel down to be set for slice hotkeys. But I misunderstood your initial request so this doesn't really apply. Yeah this would have to be a separate launch mode. I'll think on this one, I could also explore a pseudo-cursor option for the games that don't give up mouse control.

Personally, I think, that using hotkeys to activate individual slices kind-off invalidates the best point of the radial menu, that is to keep multiple different hotkeys/commands/stuff under a single button

That makes sense for your use-case and personally I don't use them either, but some users exclusively use slice hotkeys (#52) especially for games that hog the mouse.

Sineval commented 2 years ago

I could also explore a pseudo-cursor option for the games that don't give up mouse control.

Hmm... Would this work, though? The pseudo-cursor still needs to read the mouse movement, right? And if the game locks the pointer to the center of the screen (I think most FPS do that) and does not relinquish control, then such cursor would also not move, unless I miss something?

but some users exclusively use slice hotkeys (https://github.com/dumbeau/AutoHotPie/issues/52) especially for games that hog the mouse.

True, but they also might be willing to give this a try, since it is also a fix for the mouse issue ;)