qmk_firmware/keyboards/ergodox/keymaps
Gergely Nagy 29f64d7a93 tap-dance: Major rework, to make it more reliable
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>
2016-08-17 15:05:58 +02:00
..
ab
adnw_k_o_y
alexjj
algernon tap-dance: Major rework, to make it more reliable 2016-08-17 15:05:58 +02:00
andrew_osx
bepo
coderkun_neo2
colemak
colemak_osx_pc_no
csharp_dev
dave
default
default_osx
dragon788
dvorak
dvorak_intl_squisher
dvorak_spanish
emacs_osx_dk
erez_experimental
german
german-kinergo
german-manuneo
j3rn
jack
jacobono
jgarr
josh
kastyle
kines-ish
maz
mpiechotka
msc
naps62
ordinary
osx_de
osx_de_adnw_koy
osx_de_experimental
osx_fr
osx_kinesis_pnut
plover
plums
romanzolotarev-norman-osx
romanzolotarev-norman-plover-osx
romanzolotarev-norman-plover-osx-hjkl
romanzolotarev-norman-qwerty-osx
sethbc
sneako
software_neo2
supercoder
techtomas
teckinesis
tkuichooseyou
tm2030
tonyabra_osx
townk_osx
twey
workman_osx_mdw
xyverz
zweihander-osx