dumbeau / AutoHotPie

Radial menus in Windows, aka PIE MENYOOS!
MIT License
329 stars 17 forks source link

Menus doesnt trigger when I use AHI #42

Open Forikundo opened 2 years ago

Forikundo commented 2 years ago

Hi, first of all thank you for this amazing piece of software, livechanging.

I liked this software so much that I wanted to take it seriously so I bought a cheap numpad with the intention to use it only for triggering my radial menus.

The first step was to change the keys received from the numpad to F13-F24 to avoid overlapping keys that I actually use. I used autohotkey Interceptor (AHI) for that. So for example when AHI receives the number 7 from the numpad, it changes it to F13 while leaving the number 7 from my regular keyboard alone. Okey, so I did this and worked wonders.

The next step is to bind these keys to autohotpie so I created a menu and the trigger was F13 and it got it from the numpad, I didnt use my regular keyboard so I thought that It would work fine, but turns out that while Autohotpie detects the F13 coming from the numpad it doesnt trigger the menu when its running.

I tried many things, like binding the keys from the numpad to something less weird, like the letter A and then binding this menu in autohotpie to the letter A and while Autohotpie still receives the letter A from the numpad it doesnt trigger the menu when its running. On the other hand my regular keyboard does trigger the menu with the letter A as expected. I tried also to bind this menu to the number 7 and run the script, because I thought that maybe autohotpie was receiving the information from the numpad before it was changed by AHI but it didnt work there either. Looks like autohotpie isnt getting anything from the numpad while its running, but the settings does.

So of course I understand that here there are 3 software working at the same time (AHK, AHI and AHP) so some problems were expected but I still cant understand why this is working like this when AHP is detecting the key in the settings.

Maybe the code from AHI helps you

if (code=325) & (state=1) 
{
send, {F13}
}

With this im saying that when the key from the numpad number 325 is pressed it should sent the F13

Tell me pls If Ive explained myself, I know it might be a little bit confusing haha and thank u so much Also If you need anything, like screenshots, files or anything Ill add them asap

dumbeau commented 2 years ago

I bought a cheap numpad with the intention to use it only for triggering my radial menus.

ooo that's a cool idea.

I think I understand what you're doing here, thanks for being so descriptive. one thing worth giving a try first is checking this option and then running AHP: image

Let me know what happens, if it doesn't work I'll put some more brain power into this. There have been slightly similar issues to this that I've been having hard time with.

I'm honored you found this thing useful!

Forikundo commented 2 years ago

Hi! thanks for the quick response

Unfortunately I did try this option yesterday and didnt make a difference. However im thinking that maybe this way I can force AHK to process AHP’s script always the last one. Maybe with this it doesnt “collide” with AHI. Im at work now but as soon as I get home Ill try to do this and Ill tell you the conclution :)

Forikundo commented 2 years ago

Hi, so Ive been trying to make it work and I found the problem, however a new problem appeared, let me explain

This is from the autohotkey documentation https://www.autohotkey.com/docs/commands/SendLevel.htm

By default, hook hotkeys and hotstrings ignore keyboard and mouse events generated by any AutoHotkey script. In some cases it can be useful to override this behaviour; for instance, to allow a remapped key to be used to trigger other hotkeys. SendLevel and #InputLevel provide the means to achieve this.

So Ive tried both and only sendlevel works, this would be the code now

if (code=325) & (state=1) 
{
    SendLevel 1
Send {F13}
}

Now when I press the key in my numpad that has F13 assigned it does display the radial menu, but it blinks very fast. Usually when u work with radial menus u hold the key and the menu stays there, here it blinks so fast that its impossible to do anything. Ill upload a video with an example of that.

https://user-images.githubusercontent.com/103077997/162065558-66dc4486-ffba-4ca1-8d19-97daec0ed047.mp4

Ive tried to force AHK to hold the key but it doesnt solve the problem. Tomorrow I will continue working on that although now I dont know how so If you got suggestions Ill try them out :)

dumbeau commented 2 years ago

By default, hook hotkeys and hotstrings ignore keyboard and mouse events generated by any AutoHotkey script. In some cases it can be useful to override this behaviour; for instance, to allow a remapped key to be used to trigger other hotkeys. SendLevel and #InputLevel provide the means to achieve this.

WOW I did not know this and I always thought I was pretty well versed on the docs! This may solve other issues, thank you.

I actually made a launch mode for this situation "Hover over all selections": image

This launch mode stays open when engaged, and launches functions on hover instead of using the release of a key.

also you can separate keydown and keyup events in ahk, not sure if this applies exactly to your use case though:

  a::
  send, {s down}
  Return

  a up::
  send, {s up}
  return
Forikundo commented 2 years ago

So Ive tried the hover over all sections and while it works its not very comfortable so Im still trying to make the regular one work. Ive tried every version of hold that I could think of and nothing, still blinks. I tried even HID macros and the result was the same, which tells me that maybe the problem is on autohotpies end, but idk. I understand that this problem is very niche haha.

dumbeau commented 2 years ago

In v1.0.19 I've added a 4th activation mode "click selections" if the hover mode is uncomfortable. Might address this issue.

Forikundo commented 2 years ago

Wow, thank u so much, ill try that later :)

heldheld commented 2 years ago

Awesome, the SendLevel command actually fixed my long lasting issue with binding AHP to a AHK assigned hotkey!! Super happy with this, thanks so much for this thread @Forikundo ! Together with the 'Hover over all selections' mode it works, although I would prefer to be able to use 'Hover over submenus, release on function'.

In v1.0.19 I've added a 4th activation mode "click selections" if the hover mode is uncomfortable. Might address this issue.

It's probably best to make a separate thread for this, but the 'Click selections' mode doesn't trigger any actions for me when I ultimately click the final selection. I basically only have options to open files/folders atm, nothing happens when clicked. They do work in for example the 'Hover over all selections' mode.

dumbeau commented 2 years ago

'Click selections' mode doesn't trigger any actions for me

Try redownloading v1.0.19 (I updated it recently). If that doesn't work yeah open a new issue. This is something I should be able to fix quickly if it's not a windows ink thing.

heldheld commented 2 years ago

'Click selections' mode doesn't trigger any actions for me

Try redownloading v1.0.19 (I updated it recently). If that doesn't work yeah open a new issue. This is something I should be able to fix quickly if it's not a windows ink thing.

Works perfect now, thanks for the quick response :D

KristjanLaane commented 6 months ago

had same issue with atnsoft key manager instead of AHK and Hover over all selections fixed the issue! thanks

KristjanLaane commented 6 months ago

although just realised that with Hover over all selections there is no way to exit the menu with mouse only. i may sometimes open the pie menu and realise i dont want to use it. atm i can press Escape key to exit menu without executing any functions, but that is using keyboard. would be nice to have option for Right Mouse Button would also exit without triggering any functions ..