Typing Hero App typingheroapp.com
Custom Keymapping with QMK/VIA — A Touch Typist's Guide

Custom Keymapping with QMK/VIA — A Touch Typist's Guide

· 2 min read · by Robin Érsek-Obádovics

QMK (Quantum Mechanical Keyboard) and VIA (graphical front-end for QMK) let you reprogram your keyboard at the hardware level. Touch typists love this for: custom layers, home row mods, macros, and personalized productivity. Compatible keyboards = serious power.

QMK vs VIA

QMK

  • Source code based
  • Compile firmware for your keyboard
  • Maximum flexibility
  • Steeper learning curve

VIA

  • Graphical interface for many QMK boards
  • Configure without compiling
  • Real-time changes
  • Easier for beginners

Most users: VIA is enough. QMK for advanced.

What can you customize?

Layers

  • Multiple keymaps activated by holding/tapping keys
  • Common: base, numbers, symbols, navigation, function
  • Smart use = compact keyboards become powerful

Modifier remaps

  • Caps Lock → Escape (Vim users)
  • Caps Lock → Control (Emacs users)
  • Both Shifts → Caps via tap

Macros

  • Common phrases or sequences
  • Code snippets
  • Login workflows (NOT passwords for security)
  • Symbol combinations

Home row mods

  • Modifiers on home row keys when held
  • A = Ctrl when held, A when tapped
  • Massive productivity if mastered

Tap dance

  • Different action on single tap vs double tap vs hold
  • Example: Tap = Esc, Hold = Caps

Compatible keyboards

VIA-compatible (easy)

  • Keychron Q-series
  • Drop ALT/CTRL
  • ZSA Moonlander/Voyager (via Oryx, similar)
  • Many GMMK boards

QMK only (compile required)

  • Most custom/community boards
  • Older Pok3r, Filco, etc.
  • Vintage builds

Not compatible

  • Most pre-built gaming keyboards
  • Apple Magic Keyboard
  • Most laptop keyboards

VIA basics

Setup

  1. Download VIA app
  2. Connect keyboard
  3. App recognizes board (if compatible)
  4. Drag keys to remap

Common first changes

  • Caps Lock → Escape (Vim) or Control (Emacs)
  • Add layer for symbols
  • Tab as Tab, hold for layer switch

QMK basics

Setup

  1. Install QMK toolchain
  2. Clone your keyboard's repo
  3. Edit keymap.c file
  4. Compile and flash

More involved. Documentation at qmk.fm.

The idea

Each home row key has a modifier when held:

  • A = Ctrl when held
  • S = Alt when held
  • D = Shift when held
  • F = GUI/Cmd when held

Pros

  • No reaching for modifiers
  • Faster shortcuts
  • Reduces pinky strain

Cons

  • Learning curve (timing matters)
  • Mistypes if held by accident
  • Configuration tweaking required

See Home Row Mods.

Layer strategy examples

Layer 0: Base QWERTY

Normal typing.

Layer 1 (Symbol): Hold Space

  • 1!, 2@, etc. become symbols
  • {}[] in convenient positions

Layer 2 (Number): Hold Tab

  • Number row + arrow nav

Layer 3 (Function): Hold Backspace

  • F1-F12
  • Media keys
  • Volume

Programming workflow

For programmers:

  • Bracket layer: easier {}[]()
  • Arrow layer: Vim-style IJKL navigation
  • Symbol layer: instant access to <> for HTML, != for code
  • Macro layer: common code blocks

Frequently Asked Questions

Will QMK void warranty?

Usually no — most QMK-compatible boards expect customization.

Will I brick my keyboard?

Very hard to with QMK/VIA. Recovery possible.

Best beginner board for VIA?

Keychron Q1 or Q2 — excellent VIA support out of box.

Should I learn QMK or just use VIA?

VIA covers 90% of use. QMK only if needed.

Worth the time learning?

For daily heavy typists/programmers: YES. Saves hours weekly.

Home row mods worth it?

Polarizing. Try 2-week experiment. Either love or hate.

Customize your typing experience

Touch typing foundation first. Then unlock keyboard hardware potential. Typing Hero App for skill. VIA for customization.

For more: Best keyboard for touch typing, Home Row Mods, Touch typing for programmers.