I am running into a problem where a physical modifier key press is required. I’ve used multiple AI chats to experiment solutions, but no matter what I try, the only way to make it work is by physically pressing the keyboard.
For specifics, I am trying to trigger the Launchy App (which requires only held modifier combinations to trigger, Option+Command by default). My current approach is to trigger this with a Magic Mouse 3-finger click over the menubar, which I can do the first time. However, all subsequent attempts fail UNTIL I physically press any modifier key. Then it works again.
My ultimate goal is a 3-finger click and hold (press command and option), and release click releases the option command. Without needing to reset the modifier keys physically.
Thanks in advance! I’ve spent entirely too much tine on this and am happy to pay you to solve it
I have also found that it can be difficult to release the modifiers (Pressing always works). Sometimes these “techniques” work. The release command is given several times in a row with short pauses in between. Unfortunately, though, there’s no guarantee that this will work.
So I did a lot of testing yesterday. The problem is that there are multiple ways to detect modifier key presses for apps like in your case Launchy. Unfortunately producing modifier key events programatically is complex and I have not found any way to produce exactly the same events as pressing the real keyboard modifier keys produce programatically.
However I can produce events that will work for various situations. With 6.375 I have added a new predefined action "Set / Press / Release Selected Modifier Keys" that offers various options that should make every use case possible.
Thanks so much for the extra effort. Once I set my mind on a certain workflow, I find it hard to stop myself and have spent a lot of time on this one myself. May I have access to 6.375 to test?
Thanks! Craig
That works well! I am still running into the problem of needing to periodically reset with a manual key entry, but this new predefined action opens up many new possibilities Thanks again
depends, what are you trying to do? It’s mostly for external apps that need to recognize modifier keys, depending on how the other app tries to recognize modifiers, different settings will be required
That already worked with the old virtual modifiers—I mean triggering F (r opt) + P. So, no magic.
What didn't work was reliably releasing the modifiers.
Right now, nothing works at all
Tell me, unlike pressing and releasing modifiers, blocking and unblocking the keyboard always works quickly and without any issues. Does that have to do with it being a separate BTT function?
blocking keyboard is easy, modifiers are really complex and the system API‘s contradict each other because they are not made for this kind of stuff - we are interfering a lot with what the system thinks the modifier’s state should be
You can set that up really well with BTT (block/unblock the keyboard). Even pressing two letters at the same time (as two modifiers) and then a third to trigger something works perfectly. And more than that. It took me a while to solve all the problems. But now I’m ready.
As soon as you’ve solved the problem above, I’ll post a preset for everyone. I’m surely not the only keyboard fan here. Or am I?
not what you want yet, but 6.379 adds a new option for keyboard shortcuts that lets you pass through the original key/shortcut if the advanced trigger conditions fail: