10 February, 2023

Firmware Terms You Should Know

by Robin Leinonen

When you wade into the weird and wonderful world of advanced mechanical keyboards, you’re liable to come across a bunch of technical terms that may be new to you. Here are some key concepts and brief explanations to get you started.

This is obviously not a deep dive into any of these concepts or features. The goal here is to highlight what’s possible and encourage experimentation for your own layout and workflow.

These terms aren’t alphabetical: They move from a handful of essentials to more niche features that you may or may not have a use for.

Core concepts

First, here are some big ideas that will help you understand your keyboard a little bit better.

Firmware: Permanent software programmed into the keyboard’s read-only memory.

Software: The programs and other operating information used by a computer.

QMK: Quantum Mechanical Keyboard Firmware. This is the open-source firmware running on our keyboards, as well as a number of other keyboards. It translates basic key presses into usable information. You can check it out on GitHub.

Oryx: Our custom graphical configurator, which acts as an easy-to-use frontend for creating QMK keyboard layouts. Oryx generates a C file and compiles it into a version that can run on your keyboard.

Flashing: Essentially, saving your layout to your keyboard. This overwrites the old layout and replaces it with your new one.

Firmware fundamentals

When you open Oryx, it can be a little overwhelming. There is a lot that’s possible. To get your bearings, here are the most important features to understand first.

Layers

With QMK, your keyboard has multiple virtual layers. Layer 0 is the base layout, at the bottom of the stack. You can then add layers on top, and redefine one or more keys per layer. Your second layer (layer 1) can have number keys right on your home row, for example. So instead of reaching for far-away keys, you just toggle a layer, and the key you need is right at your fingertips.

Note: The default layers for the Planck EZ will look a little bit different, but they still work the same way.

Layer switching

To switch to new layers, you have several options depending on how you want to access the layer. Momentary (MO): This is like a Shift key. Hold down a momentary toggle, and you’re taken to another layer. Let go, and you drop back to your original layer.

Toggle (TG): This is similar to a Caps Lock. Tap once, and you’re moved to that layer. You’ll stay on that layer until you tap the layer toggle key again.

One-shot (OSL): Tap this key, and you’re moved to the layer. Tap a single key on the layer, and you will then be sent back to your original layer. Like Shift, but without having to hold down two keys at once.

Tap-Toggle (TT): A combination of Momentary and Toggle. Hold this key, and the layer is active only as long as you hold it. Tap it briefly, and you’re moved to the destination layer until you tap it again.

Direct switch (TO): All other layer switches go up (allow you to switch from layer 0 to layer 1, for example). TO is the only one which also allows you to switch down (from layer 3 to layer 2, for example). TO takes you directly to the layer and then “forgets” your origin; you’ll need another layer toggle in the destination layer to take you back home.

Transparent keys

When adding a new layer, Oryx fills it with transparent keys. A transparent key’s function drops down through the layer stack to whatever that key does on the base layer with some exceptions. This is great for OS or application-specific layers where you just need a few changes. If you don’t want a key to be transparent, and you also don’t want to assign something new to it, you can assign “None” to it instead.

Shortcut keys

Shortcut keys are a way to send a base key and one or more modifiers at the same time to trigger shortcuts. For example, you could assign “C” to a key and add the Ctrl or Cmd modifier to it (depending on your OS), and you would get a key that automatically copies text when you hit it. No more contorting your fingers.

Macros

Macros are for sending sequences of keys: up to five presses one after another. Oryx macros are great on their own but become especially powerful when combined with text expansion software. A short string of characters can become whatever you’d like.

Macros are different from shortcuts (such as a single keystroke that sends Ctrl + S). To learn more, read Macros vs. Shortcuts.

When getting used to your layout, do keep in mind that macros will not work very well with Live Training.

Symbols

You can assign symbols in two ways while using Oryx. The first option is using a Shortcut key, combining a base character with a modifier. For example, you can assign “1” to a key and then add “Shift” to get ”!” across many languages.

The second option is using the dedicated symbol keys available in Oryx. If you search for “exclamation”, the ”!” symbol itself will pop up. These symbols are just pre-made Shortcut keys under the surface, so if a dedicated symbol key isn’t working for you, try creating the Shortcut key yourself. Your system may use a different combination of keys for certain symbols.

International options

Most languages have their own keyboard layout (many languages have several!), and each keyboard layout has its own arrangement of keys. To get your firmware layout to work with the keyboard layout set in your OS, you’ll need to enable the relevant keycodes in Oryx, and then insert those language-specific keycodes into your layout. See our full International Setup Guide for more information on this process.

Fun firmware features

Once you have a handle on the basics, you can start to explore some of the options in Oryx that allow for very unique functionality compared to traditional keyboard layouts. For some examples of how to use lots of these features, see our guide on minimizing your layout

Multi-function keys

Oryx lets you assign up to four actions to a single key: tapped, held, two taps, and tapped and then held. Multi-function keys can be used for a wide variety of things, but they do require some practice to get used to their timing.

Auto shift

If multi-function keys don’t interest you, maybe getting rid of your Shift key will. Auto shift lets you hold any key to capitalize it. You can also further configure which categories of characters you would like this feature to work with. For example, maybe you’d like this to happen with letters but not with numbers.

Caps WORD

A simple key that will capitalize your next word for you and then automatically turn off. Great for programmers typing constant names. Note: this key is not compatible with multi-function keys.

Combos

Hit up to six keys at once and do something totally new with them. Chord letters to send shortcuts. Chord numbers to send symbols. It’s up to you!


Did we miss any important terms? Are any of the explanations confusing? Email us at contact@zsa.io to share your feedback, and we might grow this guide over time.

Robin Leinonen

Robin Leinonen

You can find Robin writing a lot of emails as part of ZSA's support team.

The Ergo
Thank you for creating a newsletter I WANT to read, instead of an auto delete.
Joel Jackson

Subscribe to The Ergo, our monthly newsletter. Even people who aren’t into keyboards seem to love it. Great finds from all over the Web, and a nice coupon for new subscribers (10% off the ZSA Cards, our card deck).

Success!
One issue per month, unsubscribe anytime.
See it first

© 2023 ZSA Technology Labs, Inc.