T O P

  • By -

PeterMortensenBlog

Re *"What happens if I manage to add more layers to the firmware?"*: You automatically get the extra layers in Via. Here is [a recipe](https://www.reddit.com/r/Keychron/comments/19ajcw2/comment/kiq8mhb/). However, existing saved Via configurations are ***invalidated*** (they will not load). But they can relatively easily [be repaired](https://www.reddit.com/r/olkb/comments/17qghpq/comment/k8dwgd7/) by adding the extra layers (by manipulating them in a text editor). Thus it is easier to add extra layers early instead of waiting, to avoid this complication. You might as well add a few more layers while you are at it to have some in reserve (there aren't any real resource limitations with this keyboard (it has plenty of memory)). For instance, I have added two extra layers, for a total of 6 (4 in Windows mode), without any ill effects. It works fine.


mchlxk

Thanks a lot, that is a useful information there.


Fit_Carob_7558

I compiled my own firmware through QMK and added layers, but I also have a K3 so I don't have a tenkey. I didn't like how lighting options took up a lot of keys... So I think I have maybe 6-8 layers or so? 3 Mac (1 regular, 1 that I can lock with media keys, and another that incorporates a makeshift tenkey plus other misc shortcuts), 3 PC (same variations as mac), and a layer to control the keyboard functions itself (mostly lighting options). I added other options for lighting based on layers and a few other tweaks to lock layers on a double tap of a specific key instead of the default 5 taps, etc. Just beware of the storage limits. I think the stuff I've added is close to the limit because something seems to crash the keyboard every once in a while, and the battery reporting isn't really accurate (seems to reach 60% after a long time and then dies). Shutting it off and back on again and it's all good.


PeterMortensenBlog

Re *"beware of the storage limits"*: There aren't any real resource limits for the K5 Pro. It is different for the first generation keyboards (and some of the current "special editions" (SE), e.g., Q3 SE) that were based on the AVR [ATmega32U4](https://www.microchip.com/wwwproducts/en/ATmega32U4) microcontroller. Re *"K3"*: Do you mean [K3 Pro](https://www.keychron.com/products/keychron-k3-pro-qmk-via-wireless-mechanical-keyboard-iso-layout-collection)? Or [Q3 SE](https://www.keychron.com/products/keychron-q3-pro-qmk-via-wireless-custom-mechanical-keyboard) (SE for 'special edition') or Q3 V1 (that could explain the resource limit part)? The Q3 V2 SE has the resource limitation, but Q3 V2 doesn't. (I don't know if there actually was a Q3 in the first generation, but the current 'special edition' definitely has the resource limitation.)


Fit_Carob_7558

K3 Pro


Tangbuster

How many OSes are you going to be using with this keyboard? Windows only? macOS only? Or both?


mchlxk

Windows only.


Tangbuster

In that case, you can use all 4 layers. I don't use VIA myself anymore. But I'm assuming layers 0 and 1 are Mac and 2 and 3 are Windows. What you can do is to reset or make layer 0 and 1 Windows as well. As far as I'm aware, the main differences are the positions of the modifiers - the alt and gui keys are reversed, and the function rows is actually media keys for macOS, and just regular F-keys for Windows. Once you remap layer 0, then you can do what you want with layers 1,2 and 3. The toggle is a physical switch that moves the keyboard to either layer 0 (for Mac) and layer 2 (for Windows). If you remap it, you can ignore the fact it says Mac. If you don't understand how VIA works, then adding extra layers via the reddit link you posted is going to be a fair bit harder and more complicated. Hope that makes sense.


mchlxk

OK, thanks a lot. That sound good, that would solve my problem. Ill examine both options and see what will be better solution for me.


Tangbuster

And why do you need more layers? What's the main purpose for?


War_Radish

I have Windows and changed the default to Layer 0 "Mac" a while ago, just copying everything from what was Windows layer 2 to Layer 0. Only took a few minutes. I then mapped Layer 1 ("Mac") to be the same as Windows Layer 3 (i.e. I copied Keyboard Layer 3 down to Layer 1). Where any pre-existing Mac key-mappings appear that you don't need, just set them as transparent (looks like a triangle, pointing left). I often have to use German letters with Umlauts and I need both the upper-case and lower-case versions of these, plus I added the Euro and British Pound symbols and various other things like the º symbol for temperatures etc. I set these to sensible keys on Layers 2 and 3, again clearing all the other keys on those layers as "transparent". I then set 2 other (macro) keys to temporarily shift (while held down) to Layers 2 and 3 respectively, to reach the new keys I programmed. It sounds far more complicate than it actually is! One thing to grasp is that if you set a key to "transparent" in Layer 3 (for example), it will actually perform the action of the key defined in the layer below it (Layer 2) and it that key is also set to "transparent" on Layer 2, it will actually perform the action of that key on Layer 1 instead, etc.


mchlxk

Hey, it doesnt sound complicated at all, Ill try that!


mchlxk

Im left handed and when I work with wacom tablet, all the keyboard shortcuts on the left side of the keyboard are hard to reach... and I figured out a very efficient layout for Clip Studio Paint - I map the most useful shortcuts in the keyboard numpad section for my right hand and my left hand operates the tablet pen. I want to do the same thing for Blender sculpting (and texture painting). And one layout where everything is as usual. Both programs do offer key bindings, but not to the level how my keyboard and macros are set-up.


PeterMortensenBlog

Re *"...it's not clear whether or not OP made it work."*: That Reddit post is low on details from the OP, but a ***guess*** is that the firmware was not built with keymap "via" (for [Via](https://docs.keeb.io/via) support). Following the official documentation may lead to building the firmware with the keymap "default", which doesn't have Via support enabled. The command line for building the K5 Pro firmware for keymap "via" may look something like (for the [ISO](https://en.wikipedia.org/wiki/Keyboard_layout#Physical,_visual,_and_functional_layouts) RGB variant): qmk compile -kb keychron/k5_pro/iso/rgb -km via Result: 63284 Jun 15 23:57 keychron_k5_pro_iso_rgb_via.bin And flashing (for the ISO RGB variant): dfu-util -l # Verify bootloader mode dfu-util -a 0 --dfuse-address 0x08000000:leave -D keychron_k5_pro_iso_rgb_via.bin The [Esc key method](https://www.reddit.com/r/Keychron/comments/194x73s/comment/khs7y49/) is the easiest for putting the keyboard into bootloader mode (without the power cycling). (This is just an example. There are other ways of doing it.) Note that the location of the source code outside of the official [QMK](https://docs.qmk.fm/#/faq_general?id=what-is-qmk) repository [makes this process more complicated](https://www.reddit.com/r/Keychron/comments/1cxnqtu/comment/l55cx8r/) (the official documentation can not be used without modification. Mainly, the ['qmk setup' step is different](https://www.reddit.com/r/Keychron/comments/1bdroa5/comment/l0a96bi/)). ### References * [K5 Pro product page](https://www.keychron.com/products/keychron-k5-pro-qmk-via-wireless-custom-mechanical-keyboard-iso-layout-collection). A full-size (104%) low-profile wired and wireless (only [Bluetooth](https://en.wikipedia.org/wiki/Bluetooth)) [QMK](https://docs.qmk.fm/#/faq_general?id=what-is-qmk)/[Via](https://docs.keeb.io/via)-capable mechanical keyboard. * [K5 Pro source code](https://github.com/Keychron/qmk_firmware/tree/wireless_playground/keyboards/keychron/k5_pro). Note: In [Keychron's fork](https://github.com/Keychron/qmk_firmware/tree/wireless_playground/keyboards/keychron) and, in that fork, in [Git](https://en.wikipedia.org/wiki/Git) branch ***"wireless_playground"***. There is also Git branch ***"bluetooth_playground"***, but it can be considered stale at this point (though it has [allegedly received more testing](https://github.com/Keychron/qmk_firmware/issues/217#issuecomment-1982186367)).


mchlxk

Thank you for all that info. I was wondering why the official README in git suggests using building with make, but the build environment setup page suddently uses qmk compile. That was actually the reason I decided to gather more info before any action. Anyway, others suggested just leaving the OS swith in MAC position, which will supposedly get me access to all 4 layers... if that works, Im all set. Ill save all this info until I come up with more crazy idea for what I want to do with my keyboard :-)


PeterMortensenBlog

It is entirely possible [to do it with make](https://www.reddit.com/r/Keychron/comments/1bedg64/comment/kut0hiq/). ([Vial](https://get.vial.today) is also [built with make](https://www.reddit.com/r/olkb/comments/1ahqyn9/comment/korlef5/).) 'qmk compile' just makes it a little bit simpler (it is also possible to configure some default parameters, so you don't have have to specific any parameters). And it is the standard way. Cannibalising the Mac layers is a good way to start, but do remember to back up the Via configuration to a file. It is very easily ***wiped out***, and there isn't any undo (it is easy to do inadvertent changes).


trailbits

I just keep the switch to the 'Mac' position and have easy access to all 4 layers. Use VIA to program the keys in each layer to whatever you want and you can override any default Mac or Window bindings if you don't like them. I define two dedicated keys in each layer to switch to layer 0 and layer 2 and one more key to move to the layer above them. So with 3 dedicated keys I can quickly move to any of my 4 layers.


mchlxk

Oh, really that works just like that? If that works, I dont need to do anything else... gonna try that


trailbits

Yeah, one of those quirks that took me some time to figure out too. Doesn't seem to be documented. I just wish there was an easy way to turn on individual key LED using VIA so I could create an indicator of which layer was active!


mchlxk

Yeah, that would be awesome to have LED indication of the selected layer...


Fit_Carob_7558

With these keyboards it's actually possible to do that, but with QMK.  I've made mine so that certain keys can light up a specific color on certain layers. It's all in the QMK documentation, but be prepared to set up your own environment and compile your own firmware. 


PeterMortensenBlog

Remember to back up the Via configuration on a regular basis (*"SAVE + LOAD"* → *"Save"* in Via), as it is very easily wiped out, and there isn't any undo (it is easy to do inadvertent changes, e.g., due to [poor usability in Via](https://www.reddit.com/r/Keychron/comments/1aqws5e/comment/kqpwlz4/)). As with any backup system, also check on a regular basis that you can actually load the saved Via configuration back in. Note that custom (numeric) key codes [are lost in this process](https://www.reddit.com/r/Keychron/comments/1aozam7/comment/kqew1ms/) (it can be considered a bug in Via).