Vial

Vial is an open-source cross-platform GUI and a QMK fork for configuring your keyboard in real time.
The program let's you customize your keyboard with an easy and intuitive interface without any knowledge about programming.

First time use
  • Download and install the latest version of VIAL or use web version
  • Plug the keyboard and it will be autodetected
  • Unlock your keyboard by clicking on the “Security” menu and then “Unlock” and follow the steps which will be shown on the screen
  • Change any key that you want and it will be instantly remaped, customize different settings to your liking
  • Save your current layout by clicking on a "File>Save current layout" in case you want to revert any further changes (Optional)

Let's now check what main tabs do


Keymap
As the name suggests, here you can view and customize your keymap.
Simply click on any key you would like to change in the top view then select your replacement key in the bottom menu.
Your new key will be instantly ready for use.

Layer
Layers allow the ability to change the functionality of the entire keyboard based on what “layer” it’s currently on. It’s best to visualize layers stacked on top of each other. Keys can be configured to switch between layers as needed similar to Shift key on a number row.
You can view each layer available by clicking the coresponding number at the top of the interface. Layer 0 is your base/main layer.

Switching between layers can be done in a few ways. In the lower menu, select the layer tab to view all the different options.
  • MO(*) - momentarily activates the layer. As soon as you let go of the key, the layer is deactivated.
  • DF(*) - changes which layer is the default layer. This stays until the device loses power.
  • TG(*) - toggles the layer, activating it if it’s inactive and vice versa.
  • TT(*) - If you hold the key down, the layer is activated, and then is de-activated when you let go (like MO). If you repeatedly tap it, the layer will be toggled on or off (like TG). It needs 5 taps to do this.
  • OSL(*) - momentarily activates the layer until the next key is pressed.
  • LT layer (kc) - momentarily activates the layer when it is held, sends a keycode when pressed. The keycode can be defined like all the other buttons, Just select the smaller box inside.

Layer use examples:

  • Separate layer for macro to automate bits of code or to answer e-mails
  • Layer to open useful apps, folders and other files
  • Next layer could be set for shortcuts for a more productive work in your program of choice
  • You could even setup a special layer for gaming

The Triangle symbols represent Transparency. Those mean the action is the same as the layer below it. This is useful so that keys from different layers can be pressed at the same time.

Now let's dig deeper in the tabs of the bottom menu and check what they do


  • Basic and ISO/JIS - it's the standard keys of the ANSI, ISO, JIS layouts
  • Layers - see the information about layers above
  • Quantum - specific keycodes from QMK firmware, move the cursor over any interesting keycode and there will be information on what it does
  • Backlight - keycodes for controlling the RGB (if your keyboard supports it) directly from keyboard
  • App, Media and Mouse - additional useful keys for controlling apps and media play, also here you can make your keyboard to do mouse actions
  • Tap Dance - configure different actions depending on how a button is used. For example, the same button could be configured to active a macro when the button is tapped or activate something else when the button is held (more information below)
  • User - user defined keycodes, here you can find custom keys that we programmed for your use, as before, just hower cursor over to learn what each function does
  • Macro - macros can be used to perform a pre-programmed sequence of actions or steps. (more information below)
Macros
Macros allow you to send multiple keystrokes when pressing just one key. These can do anything you want: type common phrases for you, copypasta, repetitive game movements, or even help you code.

1. Configure Macros
Click the Macros tab. All the macros that can be configured will be displayed as separate tabs. Select a Macro you would like to configure. In the picture below M0 is selected

The next step is to add actions. In the bottom right corner, you can
  • Add action - Manually adds an action to the list. Configure it to do exactly what you want. select from different options - hold, tap, release, and delay.
  • Tap Enter - Lots of macros end with an “Enter” key so this button makes it easier to add that.
  • Record macro - Lets you record the macro directly from your keyboard. It’s not the most reliable but it’s a great place to start.
Use these buttons to add actions to the list. These will be performed in order when the macro is activated.
Actions can be reordered using the arrows on the left.
When you are satisfied with the configuration of all macros, click save to save all changes. If you want to revert to what is already on the device, click revert

Examples
Opens Task Manager on Windows by pressing Ctrl+Shift and then tapping Esc
Launch a program on Windows by opening the Start Menu, typing out the program name, and pressing Enter.
Type out an address
2. Using Macros
After the macro has been configured, it can be used. Just click on a key you would like to use for a macro in the keymap then select it in the bottom menu under the macro tab.
More information about Macros feature can be found in the offical QMK documenation
Tap Dance
With this feature one can specify keys that behave differently, based on the amount of times they have been tapped, and when interrupted, they get handled before the interrupter.
For example, X, C, V keys can execute Cut, Copy and Paste functions while you hold the key for a short time - no modificators required.
Or hit the semicolon key once, send a semicolon. Hit it twice, rapidly – send a colon.

1. Configuring Tap Dance
Click the Tap Dance tab at the top and one of the available numbers below it.
Each tap dance can be configured to do different actions based on how the button is pressed. In the case below, when the button is “Tapped”(On tap), the Left GUI is pressed but when the button is held(On hold), the button activates layer 1. The other two options (On double tap) and (On tap + hold) can also be configured.
The tapping term represents the timing on how the firmware distinguishes between the actions. If a button is held for longer than the tapping term it’s considered a hold. If a button is held for shorter than the tapping term it’s considered a tap.
When you are satisfied with the configuration of all tap dance configurations, click save to save all changes. If you want to revert to what is already on the device, click revert.

2. Using a Tap Dance
After the tap dance has been configured and saved, it can be used. Just click on a key you would like to use for a tap dance in the keymap then select it in the bottom menu under the Tap Dance tab.
More information about Tap Dance feature can be found in the offical QMK documenation
Combos
This feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting A and S within the combo term would hit ESC instead, or have it perform even more complex tasks.

1. Combos
Click the Combos tab at the top and one of the available numbers below it, the settings for that particular combo will be shown. Up to 4 combination of keys can be configured to activate 1 action. Each key must be pressed within the combo term to be considered a combo. In the case below, pressing the +/= key and the backspace key will instead trigger the delete key.
2. Using a Combo
After the combo has been configured and saved, it can be used. There is no need to assign it to a specific key.

More information about Combo feature can be found in the offical QMK documenation
Key overrides
Key overrides allows you to override modifier-key combinations to send a different modifier-key combination or perform completely custom actions. Don’t want shift + 1 to type ! on your computer? Use a key override to make your keyboard type something different when you press shift + 1. The general behavior is like this: If modifiers w + key x are pressed, replace these keys with modifiers y + key z in the keyboard report.

  1. Key Overrides
In the example below while pressing the combination of keys Left Ctrl + Backspace (two keys needs to be pressed without any specific time window) will be replaced by Delete

2. Using a key override
After the key override has been configured, it can be used. There is no need to assign it to a specific key.

More information about Key Overrides feature can be found in the offical QMK documenation
QMK Settings
This tab can be used to configure the fine details of how QMK operates

  • Magic - swap different keys for convenience
  • Grave Escape - this feature allows you to share the grave key (` and ~) with Escape
  • Tap-Hold - precise customization of your tap hold keys
  • Auto Shift - tap a key and you get its character. Tap a key, but hold it slightly longer and you get its shifted state
  • Combo - precise customization of your combo keys
  • One Shot Keys - precise customization of your one shot keys
  • Mouse Keys - precise customization of your mouse keys
Matrix Tester
Here you can test keypresses on your keyboard