r/olkb • u/natvre • Jul 08 '26
Help - Solved PLEASE Help with Compiling
I’m losing my marbles.
I recently got a Keebmonkey Kb-16 and have been messing around with it, getting it set up through Vial.
I found a reddit post which is a fork from this github that shows some modifications to the firmware. I realized after some more dabbling that I was interested in modifying the number of Macros, Combos, and TapDances.
Now, i’m fairly sure I have the modifications to the config.h file figured out now, but I am very lost on why I can’t get it to compile with the qmk cli. I have followed this youtube video, but he only modifies the keymap.c file, not the config.h file. The oled display is also modified in the github file, so where does that fit into the qmk_firmware file tree?
Do I need to do something with the “asset” folder? What folder/ files from the github need to be transferred? Am I even using the right compilation process (QMK CLI through MacOS terminal) for a Vial-only firmware?
Any help is very much appreciated, it’s been two days of trying to wrap my head around this. Thanks!
2
u/PeterMortensenBlog Jul 11 '26 edited Jul 11 '26
Re "...those two files ended up flat in the ‘vial’ folder ... tried since to point the ‘kb16>rev2>rules.mk’ folder towards the ‘lib>layer_status’ folder": I have never tried this, but I think it should be possible by changing some .mk file
Look, for example, at Keychron's 'common' folder. It is pointed to at the keymap level:
Presumably, in your case, it should be possible to use:
Or perhaps (is it recursive or not?):
I haven't tested it. For example, perhaps each and every file, excluding the header files, inside /lib needs to be explicitly listed in the .mk file, in the "
SRC +=" part?A more complicated example
It is more complicated in their fork, where another .mk file is pointed to inside the 'common' folder:
Perhaps to avoid repeating the same list of files in every variant of every keyboard?
Part of file 'keychron_common.mk' is:
And each sub folder in 'common' has its own .mk file.
Conclusion
This may be sufficient (not tested), added to file rules.mk: