1.6 KiB
Tap Dance Layers
This feature creates a key that changes the current layer via tap dance. By default, this assumes that you have the following layers defined:
_ADJUST
_LOWER
_RAISE
_MOUSE
And sets up the following tap dance:
Count | Action | Layer |
---|---|---|
1x | hold | _ADJUST |
1x | tap | _MOUSE |
2x | tap | _LOWER |
3x | tap | _RAISE |
4x | tap | _ADJUST |
Usage
NOTE: If you use other tap-dance functions, you may require additonal setup.
-
Copy
features/dancelayers.{c,h}
into your keymap or userspace directory. -
Add the following to your
rules.mk
TAP_DANCE_ENABLE = yes SRC += ./features/dancelayers.c
-
Add the following to your
keymap.c
:#ifdef TAP_DANCE_ENABLE # include "features/dancelayers.h" # define TD_LAYR TD(TD_LAYERS) #else # define TD_LAYR XXXXXXX #endif
-
Add
TD_LYR
to your keymap.
Functions and Enumerations
The following functions are available for use:
cur_dance
The following tap dance enumerations are defined:
TD_1X_HOLD
TD_1X_TAP
TD_2X_TAP
TD_3X_TAP
TD_4X_TAP
Overriding the Defaults
If you want to define different layers to tap dance actions, you'll need to
define two additional functions in your keymap.c
:
td_lyr_finished
td_lyr_reset
Both of these functions are necessary and require a certain pattern for each
layer. "Tap" actions are handled in *_finished
while "hold" actions are
resolved in *_finished
and *_reset
.
See the implementation in dancelayers.c
for an example.