Skip to content

Using VIA ​

1. What is VIA? ​

VIA is software for remapping keys in real time. Its main advantage: after changing a key mapping you don't need to recompile or flash the firmware — the change takes effect immediately.

Instant effect: once you remap a key in the UI, the keyboard updates immediately; no flashing needed.

Intuitive: a graphical interface where you assign functions by dragging and dropping.

Full-featured: supports multiple layers, macros, RGB lighting effects and other advanced functions.

Relationship between VIA and QMK ​

VIA can be seen as a graphical management tool for QMK firmware.

QMK is the underlying engine: it implements all the features in code, but changing the configuration usually means editing code, compiling and flashing — a high barrier.

VIA is the control layer: it wraps QMK's complexity in a visual interface so you can adjust the keyboard easily. All changes are still executed by the QMK firmware.

How to use VIA ​

The workflow looks like this:

Check firmware support: the keyboard firmware must include VIA support.

Connect the keyboard: plug it into the computer with a cable.

Open the configuration site: open your browser and go to via.micah.vip to start configuring.

Compatibility notes for different keyboards:

Keyboards from us: this site detects them directly, no extra configuration needed.

Keyboards from other sources: if the keyboard isn't detected automatically, download the matching JSON file from the manufacturer's website, then import it manually on VIA's "Design" tab.

2. Importing a JSON file in VIA ​

If you use a keyboard sold by CZMao you can skip this step — it is detected automatically.

  1. Open via.micah.vip

  2. Click Settings (the gear icon) and enable "Show Design Tab".

10015.png

  1. Click the brush icon (Design) to switch to the Design tab, then click Load and pick the JSON file for your keyboard.

  1. Go back to the Configure tab, click "Authorize Device" and select your keyboard.

10014.png

  1. After confirming, the keyboard layout appears and you can remap as you like.

3. VIA macros ​

Recording a macro ​

Open the VIA page.

Select the macro buttons on the left as shown — M0~M15, 16 macros in total.

10004.png

Click Full Screen to enter full-screen mode; key recording only works in full-screen mode.

10017.png

In full-screen mode, click the record button below to capture the keys you press.

10001.png

Taking Ctrl+C (copy) as an example: press Ctrl+C, release, and it shows up as below. Press the stop button to finish recording, then exit full-screen mode.

10002.png

Click Save Changes and the macro is saved — in the screenshot it is saved as M0, i.e. macro 0.

10003.png

Back on KEYMAP, click Macro to enter the macro keys and assign the macro you saved (macro 0) to the key you want.

10004.png

As shown, I assigned it to the Del key — pressing it now triggers Ctrl+C.

10005.png

Writing a macro by hand ​

  1. Win+L to lock the screen

As shown below, click the button on the right and paste

    {KC_LGUI,KC_L}

then click Save — it takes effect immediately.

10006.png

FunctionComboMacro content
WinlockWin+L
Ctrl+Shift+X

Using the Any key ​

The Any key in QMK ​

In the QMK context, the "Any key" (KC_ANY or ANY()) is not a standard keycode with a fixed function. What it means depends on which QMK flavour you use (mainly VIA or VIAL).

In short ​
  • In VIA: ANY is a placeholder / spare "custom key". When you can't find the function you want in the graphical UI, pick ANY and type in a keycode or macro name QMK understands. Think of it as a code injector that lets you use any function VIA's menus don't expose.

  • In VIAL: ANY is a core part of Tap Dance. VIAL lets one key output completely different things on tap, double-tap, hold, and so on. Here ANY can type complex strings, key combos, or even control the mouse — in short, one key doing many jobs.

VIA vs VIAL ​
FeatureVIAVIAL
PurposeA "code entry point" for unusual / rarely used functionsThe core tool behind Tap Dance — one key, many meanings (tap = A, double-tap = B)
Main useEnter special functions that aren't in the QMK standard but are implemented in the firmwareAssign different actions to tap, double-tap, hold on the same key
ExampleType MACRO_F6 from your firmware into the ANY boxIn VIAL's Tap Dance options, pick ANY actions for each trigger
Summary ​

When someone says "use the Any key for this", they usually mean using the ANY option in the VIA/VIAL interface to type in a custom function name or keycode, achieving behaviour the normal menus don't offer.

How to use it ​

Pick a key and change it to ANY.

10008.png

Enter the keycode below and confirm.

QK_CLEAR_EEPROM

10009.png

Pressing the remapped key now resets the keyboard to factory defaults.

10010.png

Handy Any keycodes ​

FunctionKeycodeNotes
CopyLCTL(KC_C)
PasteLCTL(KC_V)
Factory resetQK_CLEAR_EEPROM

评论 / 提问 (填个昵称就能留言,无需注册;邮箱选填,填了能收到回复通知)

Released under the MIT License.