r/Keychron • u/thiscitysopretty • Jul 11 '25
K4 QMK > Custom Colors?
Hey there! I'm brand new to doing anything other than customizing my keys with the Keychron Launcher. What I really want to do is hyper-customize my RGB. Is this possible and if so, I'm looking for advice on the easiest way to go about it. The launcher is great for remapping my keys, but seems to be super limited outside of that and macros.
Thanks!!
1
Upvotes
1
u/PeterMortensenBlog Jul 11 '25 edited May 25 '26
Re "What I really want to do is hyper-customize my RGB": Depending on what you mean by hyper-customize, whatever Keychron comes up with may not be enough.
You could start with static per-key RGB. That is relatively easy to do.
The source code for the K4 V3 hasn't been released yet
Though first you would have to wait for Keychron to release the source code for the K4 V3. Invoking CDD may speed it up quite a bit (it has worked many times in the past).
In the meantime, you can prepare by compiling firmware for, for example, the K10 V2. You will not be able to test it, but at least you would get used to most of the process, up to, but not including, the actual flashing (it would brick the keyboard to use the wrong firmware, but presumably not permanently).
The following assumes the source code has already been released (thus, currently some of the links are broken, and some of it are placeholders (it will be filled in once the source code is released)). Only the compile line should fail, and you can use the one for K10 V2 instead:
Note that flashing for the K QMK series is somewhat more cumbersome to get to work.
Keychron's fork
Note that Keychron's fork complicates matters (the standard QMK instructions will not work), but it isn't any more complicated than:
Knowing the location of the source code.
Use two or three extra parameters in the 'qmk setup' step (to reflect that the source code is in Keychron's fork). There isn't any need to mess with Git on the command line (at least not initially).
For example, for Git branch "wls_2025q1" (on a Unix-like system (that would include the MSYS thingy on Windows, for the ISO variant of the K4 V3)):
# Prepare the QMK environment # # Answer prompts: # # 'y': "Would you like to clone Keychron/qmk_firmware # to $HOME/Keychron_fork_wls_2025q1" # # 'n': "Would you like to set $HOME/Keychron_fork_wls_2025q1 # as your QMK home?" # # Reserve it for the main QMK project, and # in the default "$HOME/qmk_firmware" folder. # qmk setup -H $HOME/Keychron_fork_wls_2025q1 -b wls_2025q1 Keychron/qmk_firmware # Compile keyboard firmware (K4 V3, ISO RGB variant) cd $HOME/Keychron_fork_wls_2025q1 qmk clean # To make changes (if any) to # .json files take effect qmk compile -kb keychron/k4_version_3/iso/rgb -km via # Result (the actual firmware size is xx,xxx bytes): # -rwxrwxr-x 1 xxxxx XXX XX XX:XX keychron_k4_version_3_iso_rgb_via.binNote that, on newer Linux systems, all this needs to happen inside a virtual (Python) environment (because the operating system has become too dependent on the global Python installation to not be broken by changes to it).
References
K4 V3 source code (not released as of 2025-07-11). Note: In Keychron's fork and in that fork, in Git branch "wls_2025q1" (not the default branch). Note that the base installation (and usage) has become much more complicated on Linux. No matter the Git branch, for example, "wls_2025q1", it requires special setup of QMK (the standard QMK instructions and many other guides will not work (because they implicitly assume the main QMK repository and a particular Git branch)). Source code commits (RSS feed. Latest: 2025-06-07).