⌨️
The Ultimate Guide to Keyboard Layers
  • Overview
  • Ch 1: Keyboard Layers 101
    • 1.1 Keyboard Fundamentals
    • 1.2 Why Use Layers
    • 1.3 Layer Challenges
  • Ch 2: Setup
    • 2.1 Keyboards
    • 2.2 Firmware
    • 2.3 Independent Software
  • Ch 3: Layer Activators
    • 3.1 Modifier Layers
    • 3.2 Momentary Layers
    • 3.3 Toggle Layers
    • 3.4 One Shot Layers
    • 3.5 Dual Layers
    • 3.6 Tap Dance / Superkeys
  • Ch 4: Creating Layers
    • 4.1 Planning Layers
    • 4.2 Implementing Layers
  • Ch 5: Advance Layer Patterns
    • 5.1 Key Functionality Across Layers
    • 5.2 Color Coding Keys
    • 5.3 Thumb Keys
    • 5.4 Nesting Layers
    • 5.5 Categorizing Layers
  • Ch 6: Layer Examples
    • Layers
      • Default Layer
      • Shift Layer
      • Numpad Layer
      • Symbols Layer
      • Editing & Navigating Layer
      • Media Layer
      • Mouse Layer
      • Screen Management Layer
      • Context Control / Macro Layer
      • Browser Layer
      • VS Code Layer
      • Discord Layer
      • Slack Layer
      • Gaming Layer
  • Timeline
    • Keyboard Timeline
Powered by GitBook
On this page
  1. Ch 3: Layer Activators

3.5 Dual Layers

Previous3.4 One Shot LayersNext3.6 Tap Dance / Superkeys

Last updated 2 years ago

A dual activated layer also known as tap-hold activator is a combination between a normal key and a momentary layer. That is, when tapped, the key will output a keycode, but when held, will activate a momentary layer.

At first I used momentary layers and normal keys on my thumb keys. Later, I transitioned into using dual layers on all the momentary layers. I have 6 dual key layers and 0 momentary layers as of now.

One problem with dual layers arises when determining when a tap become a hold. If you slowly tap a key, you may activate a layer accidentally and can mess up your expected output. For this reason, there are 2 preference settings to adjust. This is specific to bazecor, the software I use but should have some similarity to .

  • Overlap Threshold value: This value determines how long the layer will continue to stay activated after you let go of the layer.

    • If a shift layer is used as a dual function layer, then you want to have a low threshold value, else you will have mistakes like THe with 2 layer values activated instead of one.

    • I like this value at 1 so if I slightly tap a letter key before the dual key in nano seconds, then the layer will still activate. This value should be vary low though to avoid accidental consecutive layer outputs.

  • Hold Timeout value: This value determines the delay in the tap press.

    • If this value is 0 then tap will produce no value. If this value is max, then it will be instant.

    • I like this value at max so when I tap a key it appears instantly.

Coung␣Thire␣The␣Thousant␣She␣Greads␣You␣More␣Eyes␣And␣Ful␣Assed␣Fall␣Can␣That␣Usuade␣Tell␣Who␣Been␣Did␣Every␣Sort␣She␣His␣You

If you are typing COung, THire then you need to lift your dual function key finger up more quickly.

There is a concept of home row mods, which use dual keys with letters and layers on the home row. Personally, I find home row mods hard to use because words I am less familiar with I type slower which makes it difficult to find threshold settings that work. I don't think I should slow my typing speed to make home row layers usable.

Using these settings will take some time to get used to, but ultimately will make you a better and more consistent typist. Key strokes should be swift, and if you are holding down on a key too long, then you will accidentally activate a layer. It may be frustrating at first, but can be easily improved upon in my experience. For practice, I used a typing site called and under the setting, enabled capitalization to practice my shift and punctuation dual layer keys. A typing lesson below on keybr looks like:

keybr
QMK tapping term
My Dual-function key settings in Bazecor