---
# System prepended metadata

title: VIA notes
tags: [keyboard, qmk, via]

---

###### tags: `via` `qmk` `keyboard`

VIA notes
===

VIA advanced keycodes
---

Reference: https://docs.qmk.fm/#/keycodes

- `MT(MOD_LCTL,KC_ESC)`
- `MT(MOD_LSFT,KC_SPC)`
- `MT(MOD_LSFT,KC_LBRC)`
- `MT(MOD_LSFT,KC_RBRC)`
- `LT(3,KC_F)`
- `LT(2,KC_ENT)`
- `OSM(MOD_LSFT)`
- `G(KC_SPC)`
- `A(KC_SPC)`

VIA more layers
---

- add `config.h` and following line:

```c
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
```

- source: [如何讓VIA支持超過4個層](https://www.zfrontier.com/app/flow/emZo1QgnZ1Jb)

- Max VIA layers of some keyboards

| keyboard name            | Max VIA layers |
|:------------------------ |:-------------- |
| `dztech/dz60rgb_wkl/v2`  | 6              |
| `dztech/dz60rgb_ansi/v2` | 6              |
| `planck/rev6`            | 9              |
| `preonic/rev3`           | 7              |

Two main parts make keyboard powered by VIA
---

1. a keymap file compile from `qmk_firmware` with `VIA_ENABLE = yes` in `rules.mk`
2. a via json file that can give VIA the information of the keyboard, such as:
    - `vendorId`
    - `productId`
    - `matrix`
    - `layouts`
    - etc.