Disabling specific keys is likely to be something people will want to do,
however, the documentation doesn't emphasize that functionality. Add an example
about disabling keys with the 'noop' keyword to the documentation to make it
easier for users to figure out how to do that.
Closes#359
Eager layer activation seems to be more desirable for non time-based
overloading. In addition to facilitating modifier clicking for non-managed
mice, it appears some applications (E.g i3) care about isolated modifier down
events.
Treat each chord as a virtual key that is released
after all constituents are released. Constituent keys
may be used in conjunction with the active chord
after they have been released.
Make the device table globally accessible to avoid redundant bookkeeping in
daemon.c. The pointers held in the daemon device list were invalidated
by evloop code shifting the table around and causing a segfault.
Switch to hungarian notation to distinguish between timeout and macro variants of
existing actions. The old names are kept for backward compatibility but will
eventually be removed.
toggle2 -> togglem
swap2 -> swapm
overload2 -> overloadt
overload3 -> overloadt2
oneshotm and layerm have also been added for completeness.
For the moment these are functionally equivalent the end-to-end python tests
(make test) without spinning up and exercising the daemon. Eventually they
should extend or complement them.