# 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](https://jonny-wamsley.gitbook.io/the-ultimate-guide-to-keyboard-layers/ch-6-layer-examples/layers/symbols-layer) 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jonny-wamsley.gitbook.io/the-ultimate-guide-to-keyboard-layers/ch-3-layer-activators/3.6-tap-dance-super-keys.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
