Hammerspoon / hammerspoon

Staggeringly powerful macOS desktop automation with Lua
http://www.hammerspoon.org
MIT License
12.13k stars 586 forks source link

keyboard focus not switching properly to hammerspoon from Kitty.app specifically #3694

Closed focusaurus closed 1 month ago

focusaurus commented 1 month ago

Issue Summary

It seems keyboard focus and hotkey routing is not working specifically when my foreground application is Kitty. Things work correctly for every other application I've tried so far. The issue seems to be only happening with Kitty as the foreground focused app.

Expected behavior: my hammerspoon & Menuhammer hotkeys take precedence and are processed by Hammerspoon. Kitty does not see them.

Actual behavior: keystrokes are not handled by hammerspoon and are sent to kitty instead.

Specifics: This seems to affect all of my hammerspoon bindings including one of my launchers which I bind to F11 as well as my MenuHammer.spoon which I bind to F10. Once MenuHammer has popped up the onscreen menu, letter keys are not bound and they show up as typing in kitty instead of being handled by the MenuHammer spoon.

Workaround If I mouse click in the MenuHammer menu or another pop-up chooser from hammerspoon, keyboard focus seems to switch to hammerspoon correctly and my keystrokes are handled properly.

Version Details

Recently upgraded to Hammerspoon Version 1.0.0 (6864)

(This issue was not happening on the prior release I was running)

MacOS 14.6.1 (23G93)

Kitty 14.6.1 (23G93) (Installed via homebrew)

Screenshot

  1. "s" is seen by kitty even though...
  2. Menuhammer is active and "s" is supposed to be bound to launching Slack screen-2024-09-24-100235-uuuu
focusaurus commented 1 month ago

I think this may be specific to the MenuHammer spoon, not Hammerspoon in general. I found an open issue there: https://github.com/FryJay/MenuHammer/issues/13

I will close this one but if anyone encounters this and can help debug deep in the guts of macos key event routing, that would be amazing. MenuHammer is like THE way I use my computer so I'd love to get it working again and not have to find some workaround or alternative.