Oryx allows you to configure what keys do when tapped, held, double-tapped, or tapped then held.
However, this is not a requirement — You do not need to configure each action of a key. For example, if you have a simple Shift
key, it is enough to configure it to work as Shift on hold; you do not also need to set it to work as Shift on tap.
Multi-function keys are useful when you want to assign multiple different actions to one key.
Tapped is a regular down and up press.
Held is when a key stays down for a longer period of time.
Double-tapped is two quick down and up presses within a period of time.
Tapped then held is one quick down and up press, then one longer down press within a period of time.
The technical name for that “period of time" is “tapping term", which is a setting you can change your layout's advanced settings, under the "Tapping" section.
You can adjust this term for all keys or individually, for specific keys, to account for fingers that are more or less dextrous. A lower tapping term means you have less time to perform tap actions, so your presses need to be crisp, but it will make multi-function keys feel a bit more responsive.
If you're just starting out, try to stick to keys with just two actions: tap and hold. Double-taps and tap-then-holds can be useful, but the timing of them can be more difficult to learn.
Multi-function key lag
Sometimes, multi-function keys feel like they have a delay or they are "lagging". This is normal. All multi-function keys have some amount of delay as hitting the key begins the tapping term, and the keyboard needs to wait the length of the tapping term to see what action you perform. In other words, once you hit a multi-function key, the keyboard then waits a little to see: Are you going to hit it again? Are you going to hit and then hold? When you weren’t going to do any of these things, that waiting period can feel like “lag".
There are ways around this that let some multi-function keys feel more responsive. There are actually two types of multi-function keys that behave a little bit differently.
Dual-function keys are special kinds of keys with only tap and hold actions. The tap action must be a standard, unmodified character, and the held action must be either a modifier or a momentary (MO) layer switch.
Tap dance keys are all other types of multi-function keys. This includes any key with a held action that is not a modifier or an MO layer switch, and any key with a double-tap or tap-then-hold action.
You can see which type a multi-function key is by clicking "Advanced view" in Oryx. A dual-function key will have a "D" label, and a tap dance key will have a "T" or "+" label.
If Oryx sees a key that can be created as a dual-function key, it will automatically do so.
The benefits of dual-function keys
Because dual-function keys only have two possible cases, they are able to cut the tapping term short. If the keyboard sees a dual-function key go down and up within the tapping term, it immediately sends the tapped action, making these keys feel almost as responsive as single-action keys.
Importantly, there is an element of typing technique to this. Most typing practice only really emphasizes hitting keys quickly. To make dual-function keys feel faster, you also need to make sure you let go of the key quickly. Think of it like "bouncing" on the keys rather than "pressing".
Here's what that looks like on a flat surface. Note that I am exagerating the bounce action for the camera. You don't have to come up this high while you actually type.
If the keyboard does not see the key go up before the tapping term ends, it sends the held action.
Dual-function are typically better candidates for commonly used keys. For example, if you want to add a held action to your Space
key or a tapped action to your Shift
key, a dual-function key is a good option.
Dual-function key settings
Dual-function keys also allow for even more fine control over how they work. You'll find these settings under "Tapping (Dual-function)" in Oryx.
This article won't cover these settings in depth, but try them out. They can be sort of difficult to understand just by reading them, so experimentation is often the best way to figure out what you like. It’s like the difference between reading the rules to a board game (seems complicated!) and actually trying the game out with a friend (ahh, now it makes sense).
As a general rule, the default Oryx settings prefer the tap action of keys as much as possible. Trying other settings will prefer the held action to different degrees. If you do prefer reading and don’t mind getting technical, the QMK docs have an in-depth chart that shows different situations in which Permissive Hold
and Hold On Other Key Press
have different outcomes.
Two-function tap dance keys
If you have a key with a tap and a hold action that turns into a tap dance key rather than a dual-function key, you can choose how you would like it to behave with the “Prefer tap action in Tap-Hold tap dances" setting in the “Tapping" section of your layout’s advanced settings.
By default, with this setting on, tap dance keys with a tap and hold action will act like other tap dance keys: they will always wait the full tapping term length before sending anything. However, tapping another key during the first key’s tapping term will interrupt it, defaulting to the tapped action immediately.
Practically, this means this setting works best if you plan to have lots of tap-hold keys that do not qualify as dual-function keys, specifically letter keys. For example, a common setup is having several keys that send a letter on tap and a shortcut on hold, like a key that sends V when tapped and Ctrl+V when held. If you want to type “victory" (i.e. quickly hit “v" then “i"), having this setting on will send the tap action (“v" in this case) as soon as you hit the next character (“i" in this case).
You can instead choose to make tap-hold tap dance keys work more like dual-function keys by turning this setting off. This means even if I have a key with Space
on tap and Tab
on hold, the board will still cut the tapping term short and send Space
if it sees the down and up press within the tapping term. Here, I type "1 2 3 4 5". The layouts use a relatively high tapping term of 400ms to exaggerate the effect. You can see how much longer I need to wait with this setting turned on if I don’t interrupt the tapping term with another character.
Turning this setting off is better if you have a mix of dual-function keys and tap-hold tap dance keys since they will feel very similar.
Quad-function keys
Multi-function keys that involve double-taps or tap-then-holds will always wait the full length of the tapping term even with the above setting disabled. It's not possible to differentiate between a single tap or hold and these other actions without waiting out a designated period of time to see what you’re going to do. Per-key tapping terms can be useful for these keys since you may find you prefer a different timing than keys with just two actions.
Where to start
Multi-function keys are a big topic, so don't feel bad if this is a bit overwhelming. Remember, it’s like reading the rules to a board game. Once you start playing around, it all makes more sense. If you just want to try out multi-function keys in their simplest form, try dual-function keys. This means you would add a modifier or MO layer switch to a key you normally tap, or a tapped action to a key you normally hold.
For example, if you have a Return
key, you can try adding a layer switch when you hold it down.
Or, if you have a Shift
key, you can add something when you tap that key, like Tab
.
These sorts of keys offer the most flexibility to make them act how you want them to. As you get more used to the board and your layout, you can always come back and try more complex multi-function keys.