VIA remapping: download JSON and load it in DESIGN
VIA edits keys and layers. A VIA JSON is a keyboard definition, not firmware or your saved keymap backup. Normal remapping does not require DFU or flashing.
1. Connect and download the matching JSON
- Connect a USB data cable and select USB output. For TriChord / Command65 PE use both Shift keys + U; for DuoChord / legacy BLE toggle with both Shift keys + B until USB typing works.
- In the Download Center, go directly to the Firmware and VIA JSON download list, find your product, PCB revision and wireless backend, and click JSON in that row. The firmware selector is optional.
- Save the
.jsonwithout changing its extension. Match the firmware currently installed: Bluefruit, DuoChord or CH592. Do not pick a different backend's definition merely because you plan to upgrade.
For Vial firmware, prefer Vial: definitions are embedded and a VIA JSON is usually unnecessary. If no JSON is offered for your target, do not substitute another model's file.
2. Show DESIGN and load JSON
- Open VIA Web in desktop Chrome / Edge with WebHID support.
- Open SETTINGS (gear) and enable Show Design tab.
- Open DESIGN, click Load Draft Definition, and select the downloaded keyboard definition
.json. - For an old-format definition, enable Use V2 definitions (deprecated) if prompted, then load again. Do not edit VID / PID to force a match.
- Return to CONFIGURE, click Authorize device, choose the keyboard connected over USB in the browser dialog, and connect.
- Confirm the displayed layout matches your keyboard before editing. If the dialog has no keyboard, check the data cable, USB output and other remapping apps that may hold the device.
3. Change one key and verify
- In CONFIGURE → KEYMAP, select a layer. Layer 0 is the base layer; Layer 1 and higher need an Fn / MO or another layer key.
- Click a key in the layout, then select its new function below. Changes are written to the keyboard; no firmware flash is needed.
- Test in a text editor. Preserve at least one Fn / MO key that reaches your function layer.
- Use SAVE + LOAD to save a keymap backup. Load it there for the same model and compatible firmware; do not load a keymap backup in DESIGN.
JSON loaded but remapping still fails?
| Symptom | Check first |
|---|---|
| No DESIGN tab | SETTINGS → Show Design tab |
| Invalid JSON | Did you download a webpage, keymap backup or firmware? Does the definition require the V2 toggle? |
| No keyboard in authorization dialog | USB data cable, USB output, WebHID browser; close other VIA / Vial windows |
| Device visible but wrong layout | Match PCB revision, backend and JSON to current firmware; remove the wrong draft and load again |
| Wireless typing works but VIA cannot connect | Connect the keyboard directly over USB; do not authorize the 2.4G receiver instead |
Interface reference: VIA's official DESIGN implementation and settings implementation. Button capitalization may differ across versions.