the Quantum Mechanical Keyboard firmware is a fork of the TMK firmware made by Hasu. It's got a lot of new features and compatibility with a lot more keyboards. It makes the firmware very programmable. VIA builds upon that with a standalone GUI, and features lots of many new add-ons like plug and play (no flashing), RGB controls, switch tester, etc. Answer from rNV1s16iLiTi on reddit.com
๐ŸŒ
VIA
caniusevia.com
VIA | VIA
Compatible with 1400+ keyboards and easily added to other QMK keyboards. ... Configure, test and design in one place - VIA is the last application you'll need for your keyboard.
Docs
This combined with the vendorId is what is used by VIA to identify the keyboard when it is plugged in. ... The matrix property defines how many rows and columns the PCB's switch matrix uses. This must match the MATRIX_ROWS and MATRIX_COLS symbols in the QMK firmware.
Configuring QMK
VIA works by communicating with the firmware that is running on the device and sending it commands across USB. Enabling the VIA feature in QMK enables both the ability to communicate with the VIA Configurator and the ability to store keymaps and other settings.
Firmware
Precompiled QMK firmware for VIA-supported keyboards
Supported Keyboards
Compatible as of 1/11/2026
๐ŸŒ
VIA
usevia.app
VIA
Your keyboard's best friend
Discussions

what is QMK?
the Quantum Mechanical Keyboard firmware is a fork of the TMK firmware made by Hasu. It's got a lot of new features and compatibility with a lot more keyboards. It makes the firmware very programmable. VIA builds upon that with a standalone GUI, and features lots of many new add-ons like plug and play (no flashing), RGB controls, switch tester, etc. More on reddit.com
๐ŸŒ r/MechanicalKeyboards
5
30
July 1, 2020
Via vs qmk - Learning and discussion - KeebTalk
So Iโ€™m just getting started in the hobby and my first board is a gmmk pro that just arrived yesterday. Iโ€™m super hyped to build it but then remembered that there was a whole debatical about it not supporting via. Which brings me to my question. Whatโ€™s the major differences between qmk and via ... More on keebtalk.com
๐ŸŒ keebtalk.com
2
May 12, 2021
VIA is game-changing!
With Vial you can do even more. It adds quite a lot of qol features over VIA. Let's you configure tap-dance, key-combos and key overrides instead of only plain macros. And you can change QMK settings on the fly. And it still has a proper desktop app instead of being browser based... More on reddit.com
๐ŸŒ r/MechanicalKeyboards
28
54
August 2, 2024
Can you make rgb patterns with Via or QMK?

QMK can, VIA cannot.

More on reddit.com
๐ŸŒ r/olkb
1
2
August 3, 2019
๐ŸŒ
QMK
qmk.fm
QMK Firmware
Open-source keyboard firmware for Atmel AVR and Arm USB families
๐ŸŒ
eTeknix
eteknix.com โ€บ home โ€บ deals โ€บ uk deals โ€บ peripherals
EPOMAKER Galaxy100 QMK/VIA Gaming Keyboard - eTeknix
1 day ago - QMK/VIA Keyboard with Multi-Device Compatibility. To elevate your typing experience, the Galaxy100 keyboard is upgraded with QMK/VIA support.
๐ŸŒ
epomaker
epomaker.com โ€บ blogs โ€บ guides โ€บ via-usage-guide
How to Use VIA (Advanced Guide) โ€“ epomaker
4 days ago - This combination can be set using ... alt key combination, which is A(KC) according to the QMK documentation. Therefore, the keycodes for "alt+a" would be represented as A(KC_A). Now, let's set this combination in VIA....
Find elsewhere
๐ŸŒ
KeebTalk
keebtalk.com โ€บ learning and discussion
Via vs qmk - Learning and discussion - KeebTalk
May 12, 2021 - So Iโ€™m just getting started in the hobby and my first board is a gmmk pro that just arrived yesterday. Iโ€™m super hyped to build it but then remembered that there was a whole debatical about it not supporting via. Which brings me to my question. Whatโ€™s the major differences between qmk and via ...
๐ŸŒ
Reddit
reddit.com โ€บ r/mechanicalkeyboards โ€บ via is game-changing!
r/MechanicalKeyboards on Reddit: VIA is game-changing!
August 2, 2024 -

Hi all,

Hope your weekend goes/is going well! I recently got my first* mechanical keyboard, and one of the chief reasons I wanted to get one was to customize it any way I'd like. As a result, I had VIA(L) support high up in my must-haves. About a week into ownership of the same, I think I have settled on a layout that makes sense to me (but of course, I am open to feedback and questions!).

I will document my journey with VIA in this post. Hopefully it proves helpful to someone or encourages them to start using VIA(L). I would also love to see how your layers are setup, so please do share them!

Intro (skip if you know what VIA is)

For those with a VIA supported keyboard (including basically all Keychrons and some Royal Kludge boards!), I would strongly urge you to give it a try as it is super-easy, doesn't even need you to install any application on your computer and will likely make you more productive! All you have to do is go to https://usevia.app/ using any Chromium-based browser (Edge, Brave, Chrome, etc.); since Firefox doesn't give the browser access to the system's HID devices for increased security. All settings you change are automatically applied and saved to your keyboard. The most awesome feature imo is that because VIA can be used as a webapp, one can access it from any WebHID supported browser (check here for support) on any device!

Adding Macros

First order of business was adding macros to speed up my most used keyboard shortcuts. This is how I initially coded M0 to activate Windows' Snipping Tool:

{KC_LGUI, KC_LSFT, KC_S}

This is a "chord" type macro. While this M0 macro worked correctly, I faced an issue with M1 (Win Shift T) and M2 (Ctrl Win V) macros which I also coded as chords in the same way. Whenever activated, the modifier keys of the macros (Win & Shift for M1; Ctrl & Win for M2) would stay active even after I was done activating them, and remained that way till I activated the macro again.

I am not sure if this is the best way to go about this, but coding macros as a combination of keystrokes pressed and released with an amount of delay solved the problem. So, M0 would now look like this:

{+KC_LGUI}{+KC_LSFT}{+KC_T}{10}{-KC_LGUI}{-KC_LSFT}{-KC_T}

I also incorporated these delays for the other macros. Additionally, I added another macro M3 (Win + Period) to be make access to the emoji menu easier.
The annoying thing about adding macros is that on the face of it, the VIA webapp appears to have a perfectly functional macro editor (similar to the one in Logitech G Hub) as below:

However, it doesn't seem to be possible to add commands (unlike the Logitech G Hub Macro editor) through this GUI interface. The record function also doesn't seem to work (at least for the macros I was trying to add) even when in full screen. So, this editing layout appears only once I type the script in the script tab. It is still great seeing a visual description of just what exactly the script does, along with the option to change or remove keys and delay times, but adding a + button to add a key or delay would have made it perfect and much more accessible by making the learning curve much easier.

In any case, learning QMK scripting should be fairly easy, so this is not a big issue. Just something I wanted to put out there in case others have the same issues as me.

That's basically it for macros. I had the option to add as many as 16 (M0 through M15), although you would also need to make sure that all your scripts fit into the board's memory.

Using multiple layers (aka a 2nd "Fn" key)

Perhaps the biggest change you can make for your keyboard habits compared to my last post is learning to use multiple layers. I recently saw this YouTube video in my feed showing how to make the Caps Lock key more useful, which inspired me to remap the Caps Lock key (which I rarely use anyway) on my Bridge75 Plus to a combo Caps Lock and Fn key using QMK's Layer Tap (LT) function in VIA.

So now, if I press the Caps Lock key normally, it acts like a regular CL key. However, if I press it for more than the duration of a tap, it acts as the Fn key! I also much prefer having the Fn key accessible to my left hand, because then I always have access to it (to access keys on the right side, I'd need to remove my hand from the mouse; and shifting hands from left to right side is just inconvenient). I remapped the old Fn key to the Right Ctrl key since I do use it a fair bit.

This facilitated the other big change - I moved all of the keyboard's factory configurable options to layer 2. While holding the Caps Lock key, the Left Shift key is used to access the second layer.

This is how layer 0 (default layer) looks like now:

The function row came with predefined functions for layer 1 (which I think is based on the default Apple layout), of which I modified keys F5-F12. I rarely use the media keys on any keyboard since my I use my G502 (thanks to G-Shift) for that.
Here are the other functions accessed through this layer:

  • The += key launches the calculator. Right now, it's only marginally faster than pressing the win key, typing "ca" and hitting enter, but I expect this to improve as I incorporate this into my muscle memory.

  • E key: Emoji menu via macro M3 (Win + period)

  • T key: M1 for OCR via PowerToys (Win + Shift + T)

  • S key: M0 for snipping tool (Win + Shift + S)

  • V key: M2 for paste as plain text via PowerToys (Ctrl + Win + V)

  • Win key: Right click menu

With the Caps Lock key held, holding the Left Shift key makes layer 2 accessible::

All factory configurable settings (connection mode, RGB controls, debounce time, battery level indicator & switching to Apple layout) have been moved to Layer 2 as I would prefer to have layer 1 for stuff used more often.

That's all of it! While there is another layer (3) available to use, I don't see myself making use of it at least for this keyboard. I imagine it might be more useful on smaller keyboards (40%, 60% etc.).

Most of the changes next are likely going to be trying to make layer 1 even more efficient/productive. If you read all of this, thanks for persevering through and I hope you took away something useful. Happy typing and enjoy the weekend!

๐ŸŒ
Keebio
docs.keeb.io โ€บ via-technical
VIA and QMK Firmware | Keebio Documentation
VIA consists of two parts: Firmware and VIA Configurator. The firmware is for the most part QMK with the VIA_ENABLE feature enabled. Note that by default, most keyboards do not have the VIA_ENABLE feature enabled.
๐ŸŒ
Keychron
keychron.com โ€บ blogs โ€บ news โ€บ why-qmk-via-is-one-of-the-most-essential-features-for-a-custom-keyboard
Why QMK/VIA is one of the most essential features for a custom keyboar โ€“ Keychron
September 2, 2022 - QMK/VIA is literally the Holy Grail of keyboard customization with infinite possibilities. The VIA configurator allows users to intuitively remap any key on the keyboard, and create numerous macro commands, shortcuts, or key combinations for ...
๐ŸŒ
iNVINTIX
invintix.com โ€บ en โ€บ sider โ€บ hva-er-qmkvia
What is QMK/VIA? - iNVINTIX
VIA is a tool created to ease the process of keyboard customization by making the reprogramming task more straightforward. It enables individuals with minimal coding skills to utilize the capabilities of QMK via an easy-to-understand interface.
๐ŸŒ
Kinetic Labs
kineticlabs.com โ€บ blog โ€บ what-are-via-and-qmk-for-mechanical-keyboards
What are VIA and QMK for Mechanical Keyboards?
... VIA works like an add-on firmware to QMK, and it lets you modify your keyboardโ€™s keymap without you having to reflash the firmware with every modification and without having to program any instructions.
๐ŸŒ
Mechanical Keyboards
mechanicalkeyboards.com โ€บ collections โ€บ qmk-via-compatible-keyboards
QMK / VIA Compatible Keyboards
QMK and VIA are open-source firmware that make it easy to program your keyboard to work exactly how you need it. While the functionality of QMK and VIA are different with every keyboard, the ability to change your keyboard to fit your needs ...
๐ŸŒ
Akkogear
akkogear.eu โ€บ home โ€บ news โ€บ news
QMK and VIA: A Guide to Keyboard Customization
September 10, 2024 - In contrast, QMK provides a wide range of customization options, from changing key functions to complex macro settings, which can be set by the user. VIA, short for Viable Interrupt Alternative. It was developed as a branch of QMK (Quantum ...
๐ŸŒ
GitHub
github.com โ€บ the-via โ€บ app
GitHub - the-via/app
VIA is a powerful, open-source web-based interface for configuring your QMK-powered mechanical keyboard. It allows you to customize your keymaps, create macros, and adjust RGB settings (if it has RGB) on the fly, without needing to recompile ...
Starred by 1.4K users
Forked by 287 users
Languages ย  TypeScript
๐ŸŒ
VIA
caniusevia.com โ€บ configuring qmk
Configuring QMK | VIA
VIA works by communicating with the firmware that is running on the device and sending it commands across USB. Enabling the VIA feature in QMK enables both the ability to communicate with the VIA Configurator and the ability to store keymaps and other settings.
๐ŸŒ
ATTACK SHARK
attackshark.com โ€บ home โ€บ blogs โ€บ blogs
Why Is QMK/VIA One of the Most Essential Features of a Custom Keyboard?
October 18, 2024 - This level of control means your custom keyboard can support a multitude of tasks with precision, from graphic design to gaming to coding, all optimized for your individual workflow. VIA Firmware emerges as the user-friendly counterpart to QMK, ...
๐ŸŒ
NuPhy
nuphy.com โ€บ home โ€บ qmk/via keyboards
Nuphy QMK/VIA Wireless Custom Mechanical Keyboards & Low-Profile โ€“ NuPhy
NuPhy's QMK/VIA wireless custom mechanical keyboards & low-profile models. Customize your typing experience with advanced programmability, sleek designs.
๐ŸŒ
Vial
get.vial.today
Home - Vial
Vial is an open-source cross-platform (Windows, Linux and Mac) GUI and a QMK fork for configuring your keyboard in real time.
๐ŸŒ
MonsGeek
monsgeek.com โ€บ home โ€บ blog โ€บ understanding qmk/via keyboards: features, benefits, and usage guide
Understanding QMK/VIA Keyboards: Features, Benefits, and Usage Guide - MonsGeek
April 13, 2025 - A QMK/VIA keyboard is a highly customizable mechanical keyboard powered by QMK (Quantum Mechanical Keyboard) firmware, with VIA serving as a user-friendly interface for easy key remapping.