It appears that we have a smaller community of custom keyboard aficionados here than I initially thought
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:
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:
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):
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:
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!