Public fork · Configuration UX

Keyboard configurator

A VIA/Vial-compatible web configurator fork for exposing custom keyboard capabilities that do not fit cleanly into the stock application, while preserving normal behavior for standard devices.

Niche
Capability-aware custom keyboard configuration
Core stack
TypeScript · React · WebHID
Direction
Richer RGB and firmware-specific controls
Constraint
Extensions must not weaken upstream compatibility

The niche

Custom firmware often becomes more capable than the generic configurator used to control it.

This fork occupies that gap. It keeps the familiar VIA model for ordinary keyboards while creating a path for device-specific capabilities—such as richer RGB profiles or custom firmware controls—to appear when the connected hardware actually supports them.

What is different

The extension model is capability-driven rather than fork-wide.

Typed capability adapters

Device-specific features are isolated behind explicit support checks instead of leaking assumptions into the standard VIA path.

Richer RGB semantics

The direction goes beyond global effects toward profiles associated with layers, modifier families, combos and supported per-key behavior.

Firmware + UI co-design

The configurator is developed alongside custom firmware so exposed controls map to real device concepts rather than generic settings panels.

Hosted as a web tool

The configurator remains directly usable through GitHub Pages instead of requiring a custom desktop installer.

Product & design thinking

The objective is not to create a separate app for one keyboard. It is to make specialization coexist with a general-purpose tool.

That means custom controls should appear because a device advertises or satisfies a capability contract, not because the application happens to know a hard-coded model name. Standard devices should continue to receive the ordinary VIA experience.

This keeps the product understandable: users see controls that correspond to what their firmware can actually do, while unsupported features simply stay out of the way.

Development approach

Extension points are kept narrow so upstream compatibility remains a constraint, not an afterthought.

The fork tracks VIA while placing richer behavior behind typed adapters and capability detection. GitHub Actions builds and publishes the `/app/` Pages target, giving firmware work a stable configuration surface that can evolve independently from upstream hosting.

Next: Lemonade