Instead of indexing `Key` objects that have multiple names by each
individual name, index by the set of names. This reduces the size of the
default key dictionary by a factor of between 2 and 3, and as result
also reduces reallocations/defragmentation.
Instead of instantiating all module/extension keys by default, append
them to the `maybe_key`-generator list.
* Fix bug with static mode toggling
Previously, animation mode was set to none, which prevented the leds from being toggled. Now uses STATIC_STANDBY
* fix formatting
Before, the allowed alphabet of characters for CapsWords was exclusive
of the letter Z, and the allowed number set was exclusive of the number
0.
Now, those characters are included, so using them won't interrupt
CapsWords.
Instead of handling resumed key events in a deep stack, buffer them
until the next main loop iteration. New resume events that may be emitted
during handling of old resumes are prepended to that buffer, i.e. take
precedence over events that happen deeper into the buffer/event stack.
Logical replay order is thus preserved.
Faulty logic corrected
Possibly a bug could happen whenever entering ht_press with a non-empty key_state outside of repeat context (but can it really happen?)
Some formatting to make github tests happy
Documentation for repeat behavior.
Make the tests happy again!
same...
When the usb connection is lost (for example when plugged into a pc that
keep the usb powered when shut down) the kb is lost and need to be
unpluged to be rebooted.
My guess is that the failling `hid_report.send()` change some internal
state that could not recover by itself.
This prevent even trying to send the report when the usb is not
connected. This fix has been tested working on me and another discord
user so far. The result seems consistent even if the test period has not
been very long yet.