PC Peripherals Show-off your keyboard's QMK/VIA(L) layers!

Stronk

Adept
Hello all,
Hope you are doing well. More and more mech keyboards are available with the popular open-source keyboard configuration tool QMK/VIA(L), and I thought it would be interesting to share how we are taking advantage of that. I'll go first:
1722235829656.png


This is my first mech keyboard, and this is how layer 1 looks like for me at the moment. Still trying to optimize it so it will likely change, but here it is as of now:
  • Top row has screen brightness and media controls
  • 2nd row has connection mode in the left side, Calculator button on the += key and backspace key as a macro for Win+Shift+S.
  • 3rd row has RGB saturation control and macro for Win+Shift+T (for Text Extractor via PowerToys)
  • 4th row has battery indicator (BTLVL) and macro for Ctrl+Win+V (for paste as plain text via PowerToys)
  • 5th row is primarily RGB controls; also, the ?/ key is used to access layer 2; right shift key as right ctrl (useful for hitting ctrl+enter to submit posts on TE :p)
  • Bottom row's Win key toggles Mac and Windows compatibility; and right Alt acts as menu options button
Look forward to seeing your config and hopefully we can learn from each other!
 
It appears that we have a smaller community of custom keyboard aficionados here than I initially thought :p
In any case, I will use this thread as a way to document my journey with VIA. Hopefully it proves helpful to someone or encourages you to start using VIA(L) :). Of course, feel free to share your keyboard layers and ask any questions/post comments!

And for those who have a VIA supported keyboard (including almost 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!
Lastly, if your keyboard has both wired and wireless/Bluetooth functionality, VIA can be used only when connected in wired mode (the settings you change are maintained in all other connection modes).

Anyway, I have learnt a thing or two about properly coding macros. This is how I initially coded M0 to activate Windows' Snipping Tool (located in layer 1 backspace in the previous post):
{KC_LGUI, KC_LSFT, KC_S}
The above is an example of using 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 were also coded as chords. Whenever I activated either of them, the modifier keys of the macros (Win & Shift for M1; Ctrl & Win for M2) would stay active 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 while the webapp appears to have a perfectly functional macro editor (similar to the one in Logitech G Hub) as below:
1722635801739.png

one cannot add commands (unlike the Logitech G Hub Macro editor). 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 great to see a visual description of the script along with the option to change or remove keys and delay times, but adding just a + button to add a key or a delay would have made it perfect.
In any case, learning QMK scripting is pretty 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.

Moving on the biggest change compared to my last post is the way layers are accessed. I recently saw this YouTube video in my feed showing how to make the Caps Lock key more useful. It inspired me to remap my Caps Lock button (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 anyway prefer having the Fn key accessible to my left hand because then I always have access to it (to access any key on the right side, I need to remove my hands from the mouse; and shifting hands from left to right side is inconvenient). The old Fn key now works as the Right Ctrl key.

This facilitated the other big change - I moved all of the keyboard's factory configurable options (connection mode, RGB controls, debounce time, battery level indicator & switching to Apple layout) 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:
1722636403281.png

The Caps Lock key is used as as an Fn key through the Layer Tap function, the Fn key is now Right Ctrl. I changed the order of Home, End, PgUp & PgDn keys as I frequently use Home and End functions while typing to make it more convenient for me.

Layer 1 (accessible by holding the Caps Lock key for longer than 10ms or so):
1722637255484.png

The Fn row came with predefined functions for layer 1, which I modified for 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: Opens right click menu
With the Caps Lock key held, holding the Left Shift key makes layer 2 accessible:
1722637430516.png

All factory configurable settings 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 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 way something useful. Happy typing and enjoy the weekend!
 
Last edited:
damn nice, thats some good config, I would loved to get QMK/VIA support too but my Rk100 doesnt have that, I really shoulda paid 3-4k more for a keychron
 
damn nice, thats some good config, I would loved to get QMK/VIA support too but my Rk100 doesnt have that, I really shoulda paid 3-4k more for a keychron
Thanks for your kind words :)
Yeah there's always something better out there, but we all got our own constraints ¯\_(ツ)_/¯
I would have ideally liked to get a Varmilo Minilo98 Pro since I really wanted to have a numpad, but that was about 4k more than the Bridge.

Plus I'm sure that the RK software would have ateast 1 advantage over VIA - you are likely able to set shortcuts to launch applications, which the webapp version of VIA cannot do. Maybe not the most important feature, but it is useful/important for some. For example, I was using the search button on a Logitech K780 to launch WhatsApp.

Enjoy your keyboard and I'm sure your next one will be even better!
 
Last edited:
After using the Kiiboom for about 4 days now, I'm pretty sure I have found my ideal keyboard thanks to its modularity - not just hardware, but software too thanks to an additional modifier key (Fn) towards the right of the spacebar. This is helpful to use the arrow keys cluster as a mouse when needed in a pinch. Here are how the layers look as of now:

Layer 0
1724473572813.png

  • Caps Lock key enables layer 2 when held, otherwise acts as the Caps Lock if tapped
  • Fn key acts as toggle to activate/deactivate Layer 1
  • Knob acts as volume up/down for scrolling and mute when pressed
  • PgDn button acts as Home, Home and PgUp act as PgUp and PgDn respectively
Layer 1
1724473729900.png

  • Right Alt acts as options
  • Arrow keys are used to navigate the mouse cursor
  • PgDn and End keys are left and right click respectively
  • Knob is used a scroll wheel and does middle click when pressed
The mouse functionality is especially useful for things like smart TV, Dex, console, etc as you no longer need to connect 2 devices separately. I now understand the appeal of having the ThinkPad nipple in the middle of a keyboard - it is very convenient to not have to take your hands off the keyboard to perform simple mouse navigation and clicks! Surprised that there doesn't appear to be a mechanical keyboard today which incorporates it.

Layer 2
1724474571120.png

This is where all macros are accessed (and this layer is accessed by holding the CL key)

Layer 3
1724474990642.png

I moved all hardware functions, including pairing modes and RGB settings, to layer 2 since I'm not going to be using it that often anyway. This layer is accessed by holding the CL and left Shift key. Pressing CL + Shift + S to put the computer to sleep is pretty helpful though.

Layer 4 is empty at the moment but I think that these are enough for now haha.
 
Last edited:
Trying to understand this - what can this do that keyboard remapping software (like karabiner elements, AutoHotkey etc.) cannot do?
 
Trying to understand this - what can this do that keyboard remapping software (like karabiner elements, AutoHotkey etc.) cannot do?
As I understand, there are a few major advantages over software/OS based solutions like AHK:
  • The key remapping is persistent across devices. Since the changes made in QMK and VIA are on a hardware level, the experience of using the keyboard remains consistent across any and all devices you use it with. Moreover, since VIA is a webapp, you can program the keyboard on one device and use it even on a computer which may not allow you to install third party applications or have admin access (work issued laptops, for example).
  • The addition of layers is a huge benefit and makes it much more powerful than something like AHK, and especially thanks to the GUI. While you can define macros in AHK to essentially act as pseudo layers, I don't think it's the same experience.
  • Much more customization is possible with QMK and VIA. With functions like mod tap, layer tap and more, there's much more that is possible in a much easier way than non-GUI scripting based software. An unintended benefit of using such hardware level "scripting" like QMK or VIA is that you can play competitive games without being banned, since there is no software running in the background.
  • While VIA may not seem very relevant for a 75% or larger keyboard, it is almost a necessity for smaller keyboard sizes (look up 40% keyboards :p). Pure scripting based software would be much more tedious to setup for smaller keyboards, along with the fact that you would need to ensure that all the devices you use the keyboard with have the same software and layouts, and that changes are kept in sync. QMK, VIA and Vial work on keyboards which have internal memory (and RAM and a CPU - most of these keyboards have 32-bit ARM Cortex processors and are a computer in their own right) and can hence store configuration internally with no need for any software constantly running in the background.
I am sure that there are likely more (and better) benefits of QMK-based solutions over scripting software, but this is what I can think off the top of my head
 
Your thread pushed me down the rabbit hole of trying to learn more about keyboard layers. Interestingly also came across this: https://www.magictypist.com/ which solves some of the challenges with software based solutions. I will be trying this out soon. I have a Keychron K2 which I think is not supported by QMK/VIAL, so software based solutions is all I can try.
 
Your thread pushed me down the rabbit hole of trying to learn more about keyboard layers. Interestingly also came across this: https://www.magictypist.com/ which solves some of the challenges with software based solutions. I will be trying this out soon. I have a Keychron K2 which I think is not supported by QMK/VIAL, so software based solutions is all I can try.
Glad to hear that this inspired you to customize your keyboard! And yeah magictypist looks like a great way to make AHK more accessible by acting as a GUI layer for it (basically what VIA is to QMK, albeit with limited features). Good luck and I hope this helps you be more efficient/productive :)

Also surprised that the K2 is not a QMK board since most Keychrons are. In any case, glad that you have found a solution for your needs :D
 
Back
Top