houmain / keymapper

A cross-platform context-aware key remapper.
GNU General Public License v3.0
257 stars 21 forks source link

output on key releases is now stored per-key #74

Closed naelstrof closed 8 months ago

naelstrof commented 9 months ago

I use a dictionary of keys to store release-output, and use the same dictionary to detect if the key is released later. I avoided allocating and just store everything necessary in the global dictionary.

It does change existing functionality quite significantly, may cause breaking changes to existing configs that rely on release-output happening before accepting any key release.

For example

# https://github.com/houmain/keymapper/blob/main/keymapper.conf#L195C3-L196C1
open_terminal        >> Win{R} ^ C M D Enter

Would now allow a user to input an "alt-tab" before the key is released with ease. Making the C M D Enter key strokes miss.

This was guaranteed before, storing per-key release-output could be an unacceptable change if that guarantee is considered core functionality.

Solves #73.

naelstrof commented 9 months ago

Oh shoot, I only made this change on the Linux server.

I don't have an easy way to test the windows version.

houmain commented 8 months ago

This was implemented in 25b8d4b.