-
-
Notifications
You must be signed in to change notification settings - Fork 576
Support mac Fn shortcut handling #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
tekacs
commented
Sep 28, 2025
- special-case "fn" bindings via rdev listener so mac users can use Fn
- reuse shortcut dispatcher to drive existing push-to-talk/toggle flow
- expose Use Fn button on mac settings and keep Cmd glyph formatting
- special-case "fn" bindings via rdev listener so mac users can use Fn - reuse shortcut dispatcher to drive existing push-to-talk/toggle flow - expose Use Fn button on mac settings and keep Cmd glyph formatting
|
🙏🏻 |
|
Thanks for this I'll give it a look and test. Do you know if you |
|
Hmmmm. I have it using input monitoring – is that something that you have in your main branch(es) as well? |
|
Yeah that was actually the reason I moved away from it. I felt like it might feel too much like a key-logger or something which I was hesitant to add the permission for |
|
I hear that – the thing is that I think it's... almost necessary? For push-to-talk, holding two keys is distinctly less than ideal. Interestingly, both Wispr Flow and VoiceInk don't use that permission, so it's likely spurious? If I get a chance I'll investigate why. |
|
Right, I've been trying to figure that out as well. I used MacWhisper for a while and don't recall the permission either. There must be some system native way of doing this |
- remove rdev-based CGEvent tap and switch to NSEvent flagsChanged monitor so Fn capture only uses accessibility permission - add objc2/block2 dependencies and thread-local monitor plumbing - refresh docs to describe the new approach
|
Let's go, thank you! I cannot wait to test it. Hopefully I'll be able to on Tuesday and pull it in. Thanks |
|
I tested this, however, I haven't looked at the code thoroughly yet. I do see that this only supports the function key. It would be really cool to move the entire code to use this general method of input detection on Mac OS, and move away from using the Tauri Global shortcut. This is so we have consistent behavior on Mac OS Ideally can also detect |
|
@cjpais Where's the best place to discuss this at the mo? Feels like there are a bunch of issues/PRs/discussions about handling keyboard shortcuts. My tuppence...
Related... I'd also like the ability to disable Handy's shortcuts when certain apps are focussed (ie those with conflicting app-local keybinds) |
|
I'm very happy to support mappings through json right now and I think that's a good tradeoff before UI comes in. In regards to handling more keybinding generally I think we can do it here or in an issue if there is one. I really want this one to come in as well it just needs testing and validation that it won't require special perms on macOS, and it should be generalized beyond the fn or globe key I think to support any binding within reason |