> For the complete documentation index, see [llms.txt](https://jonny-wamsley.gitbook.io/the-ultimate-guide-to-keyboard-layers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jonny-wamsley.gitbook.io/the-ultimate-guide-to-keyboard-layers/ch-3-layer-activators/3.6-tap-dance-super-keys.md).

# 3.6 Tap Dance / Superkeys

Tap Dance / Superkeys mix typing behavior into layers. What this means is you can define a single key to have multiple output states depending on how it was tapped. For instance, in Bazecor superkeys can have 5 outputs:

* on tap
* on hold
* on tap & hold
* on 2 taps
* on 2 taps & hold

This means you can have a single layer act as 5 layers. Like dual keys though, there are some delay concerns that can be changed in a preferences settings. For thumb and symbols keys I find I can type swiftly and consistently. But typing letters I am less consistent when it comes to typing less unfamiliar words. I therefore do not use superkeys on normal letters, though I could see some use cases for uncommon letters like q that has 2 taps or on hold being esc.

It should be noted that not all these keys are equally effective in terms of speed. tap is obviously the fastest and 2 taps & hold is very slow. I think 2 taps & hold should not even be used and other superkeys or layers should be used instead. On tap, on tap & hold and 2 tap I use often and have removed a [symbols layer](/the-ultimate-guide-to-keyboard-layers/ch-6-layer-examples/layers/symbols-layer.md) in place with superkeys.

An example of a superkey is below, where on single tap is `(`, on double tap `)` and on hold `()`. The hold function is actually a macro with 2 key strokes.

| tap | tap-tap | hold |
| --- | ------- | ---- |
| (   | )       | ()   |

In bazecor this can be created by first creating a macro in the macro editor section by entering the text directly.

![Macro creation in Bazecor](https://3776368646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKoZa1xwxAlOy01IlxMgW%2Fuploads%2Fz38fzTvZG8lFEvmYKEqo%2FScreen%20Shot%202022-06-05%20at%202.05.54%20PM.png?alt=media\&token=c6e6e4a5-14a9-4aae-85ce-ba1e8b4407e4)

Then the superkey can be created in the superkeys editor by adding in each tap function individually.

![Bazecor Superkeys editor](https://3776368646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKoZa1xwxAlOy01IlxMgW%2Fuploads%2FRo5BEONZwc6MjkNRwOUK%2FScreen%20Shot%202022-06-05%20at%202.07.21%20PM.png?alt=media\&token=d3578b49-f1ee-4efe-898b-b949c9bdfc1e)
