Age | Commit message (Collapse) | Author |
|
|
|
This reworks how the tap-dance feature works: instead of one global
state, we have a state for each tap-dance key, so we can cancel them
when another tap-dance key is in flight. This fixes #527.
Since we have a state for each key, we can avoid situation where a keyup
would mess with our global state. This fixes #563.
And while here, we also make sure to fire events only once, and this
fixes #574.
There is one breaking change, though: tap-dance debugging support was
removed, because dumping the whole state would increase the firmware
size too much. Any keymap that made use of this, will have to be
updated (but there's no such keymap in the repo).
Also, there's a nice trick used in this rework: we need to iterate
through tap_dance_actions in a few places, to check for timeouts, and so
on. For this, we'd need to know the size of the array. We can't discover
that at compile-time, because tap-dance gets compiled separately. We'd
like to avoid having to terminate the list with a sentinel value,
because that would require updates to all keymaps that use the feature.
So, we keep track of the highest tap-dance code seen so far, and iterate
until that index.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
Include `action_tapping.h`, so the keymap does not have to define a
`TAPPING_TERM` for us, and we can use the default.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Layout has image and readme, as well as documentation in the code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typo
|
|
attempt to prettify the table
|
|
|
|
|
|
|
|
no idea what is merged
|
|
Symbolic Unicode Input System
|
|
being sent if the LOWER key was used too quickly.
Switching back to original LOWER macro, but keeping the new RAISE macro.
|
|
|
|
When entering unicode codes, use some delay, so the OS has time to
process the information. This is not needed on all systems, but some
seem to require it.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
It turns out that register_hex32 did not work reliably, and some systems
only allow 7 chars after the unicode magic sequence, while others allow
8. To remedy the situation, store the codes as strings, and type those
in instead of doing bit shifting magic.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
Use a single uint32_t to store the unicode of a symbol, instead of an
array of uint16_ts.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
Extract out the part of `qk_ucis_start` that inputs the placeholder
symbol, and make it weak, so it can be overridden.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
If UCIS is enabled, call process_ucis() automatically from
process_record_quantum().
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
If the symbol name being entered is longer than the max, stop recording
it, and stop processing keycodes apart from the ones that can delete,
finish or cancel the sequence.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
The purpose of this change is to allow keymaps to specify a dictionary
of unicode symbol name to code mappings, and let the person at the
keyboard enter unicode symbols by name.
This is done by having a way to trigger unicode symbol input mode, when
all keys are cached until Esc, Enter or Space are pressed. Once that
happens, we try to look up the symbol from our lookup table. If found,
we erase back, and type the unicode magic in to get that symbol. If not
found, we still erase back, start unicode input mode, and replay what
the user typed in.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
This moves the unicode input start / end sequences into their own
functions, so keymaps and other functionality can build on it too.
At the same time, it changes how the Linux variant works, to match
reality: CTRL+SHIFT must be unregistered too, and we close the thing
with a Space instead.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
|
|
|
|
minorca handwired
|
|
|
|
|
|
|
|
Jacwib's keymap
|
|
process_unicode: Fix set_unicode_input_mode()
|
|
Added Ergodox Layout with persistent layers, Atreus corrections
|
|
Added link to Minorca/Sebright blog.
|
|
|
|
|
|
|
|
|
|
|
|
minirca with RGB keymap
|