You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basically, when I use add_hotkey to register a hotkey, I would expect it to receive the event and stop it from being passed over.
Although I'm not sure if its an issue, but I can't find anything about it in the README.
The text was updated successfully, but these errors were encountered:
This is mentioned in the README as "key suppression". I opened an issue to track progress on it: #22 .
There are three major complications.
Linux events are emitted after-the-fact, so there's nothing we can do to suppress it. Any solution here will require radically changing the way Linux events are captured, possibly requiring special code for each environment (console, X, Wayland).
Even when we can technically suppress events (Windows makes it easy, for example), there's input lag. Python is not a fast language, and power users may be registering hundreds of hotkeys. We must assure they will all be processed in no more than a couple of milliseconds, otherwise the user starts experiencing uncomfortable delays when typing.
What happens if one hotkey is contained in another? If I register ctrl+a and ctrl+a, space, what should happen? Should we block the event to see if the next key is a space (tremendous input lag)? Should the second hotkey never be triggered (would require some sort of warning)? It's not an easy problem.
Also, I'm closing this issue to avoid duplication. But thank you for your feedback, I hope this answer your question. I'll update the README to make clearer the equivalence "key suppression" = "event blocking" = "catching".
Basically, when I use add_hotkey to register a hotkey, I would expect it to receive the event and stop it from being passed over.
Although I'm not sure if its an issue, but I can't find anything about it in the README.
The text was updated successfully, but these errors were encountered: