Nazg, a new keyboard configurator that talks to VIA AND Vial keyboards

Hello fellow keeb lover friends,

After a whole month of research, design and development with the help of Claude Code, I am finally ready to talk to you about Nazg, a client that is aimed at being a substitute to commonly used VIA and Vial applications.

Nazg means “to rule them all”, a funny reference to The Lord of The Rings lore :wink:

Here is the main driver behind this tool development described below.

I use both the VIA and Vial protocols and their clients, both as an ordinary user and as a keyboard PCB designer.
Although they are great tools overall, there are a few things I do not like about them.

The most annoying one is that I need two different protocols and apps to configure the keyboards I have on hand.

VIA and Vial also each have their strengths and weaknesses:

  • VIA keyboard definitions are not stored in the firmware:
    • This forces users to hunt for the right keyboard definition on vendor sites when VIA has no official support for it.
    • Vial has no such issue.
  • They do not support the same QMK features, and their implementations can differ: Vial supports a wider range of QMK features than VIA.
  • The latest VIA protocol allows custom UI elements linked to protocol extensions; Vial has yet to add this incredible feature.
  • VIA requires a web browser (its native application is deprecated):
    • Firefox users are left out, and must use Chrome, Edge or Opera.
    • Some people prefer native apps, and users should have the choice.

So here what Nazg really is in short:

  • It is an open source project under the GPL3 or later licence.
  • It is multi-protocol aware:
    • For the moment talks with your VIA or Vial keyboards.
    • Has the Leyden Jar Diagnostic Tool feature integrated in it (used for Model F and Beam String keyboards).
    • I am opened to add new extensions and/or protocols in the future.
  • It is multi-platform:
    • Windows.
    • Linux.
    • macOS (Apple silicon starting with M1).
    • Web for Chrome, Edge and Opera browsers.
  • I tried my best to have a nice and legible UI (well at least for me, please don’t try to be soft on me if you don’t agree :wink: )
  • All QMK keys/commands can be set in an easy and legible way (no more obscure hexadecimal values to enter).
  • Something specific to VIA:
    • It contains all official VIA keyboard definitions.
    • It also contains a community keyboard definition package of around 700 boards:
      • This is to reduce the pain of hunting the definition for your board as much as possible.
      • I do plan to update it regularly when new boards come up or by your request.
    • And you can also add you own user keyboard definitions.

Tested on the following platforms:

  • Windows version for both VIA and Vial.
  • Linux version by one user on a Keychron board.
  • Web version on Edge browser.

No one tested it yet on macOS Apple silicon.

Please don’t be shy and have a try, and don’t hesitate to send bug reports if you find issues.

The Github page is here.

The link to the latest test release is here.

Here is a link to the web version here.

And a link to the manual here.

See you!

3 Likes

Downloading in a bit. Love the idea

1 Like