Click to view our Accessibility Statement or contact us with accessibility-related questions
Hi everyone, As many of You I've got "weird" PCB in my enter67 kit. One that has double caps lock support, side caps lock led placement and no VIA support. Compiling default VIA firmware for this PCB enables VIA but disables RGB. Solution form @Alliex is also not optimal as it uses RGBLIGHT (underglow RGB functionality) instead of RGB_MATRIX for per key RGB. Because of above I was forced to write my own flavor of QMK firmware for this PCB. Features:
  • VIA support.
  • Proper RGB_MATRIX implementation with all effects enabled.
  • Caps Lock indicato.
Link to source code on GitHub: enter67-rgbmatrix-VIA If You want to try it out You can use QMK WSL with my qmk-firmware fork.
  1. enter qmk compile -kb enter67 -km rgbmatrix-via
  2. unplug keyboard
  3. press and hold ESC and plug-in keyboard
  4. enter qmk flash -kb enter67 -km rgbmatrix-via
Edits/Updates:
  1. Better LED map for RGB.
  2. Added Caps Lock indicator support.
(Edited)
Alliex
3
Feb 22, 2024
NoobensBarrichelloGood call! Thanks for updating and tagging me. I'm still learning the quirks of QMK/KMK/VIA/VIAL :) I finally figured out to use RGBMATRIX while debugging a different keyboard (MF17) and haven't gone back to update this kb yet (to self: this is my reminder to do so) ---------------------------------------------------------------------------------------------------- However, for anyone wanting to use RGBLIGHT for doing a pseudo-'per-key' lighting based on layers, using the config.h in my other post, you can do something like this in your keymap.c: const rgblight_segment_t PROGMEM my_fist_layer[] = RGBLIGHT_LAYER_SEGMENTS(    {1, 10, HSV_GREEN},    {13, 1, HSV_ORANGE},    {45, 1, HSV_RED},    {46, 2, HSV_BLUE},    {48, 2, HSV_PURPLE},    {50, 2, HSV_MAGENTA} ); const rgblight_segment_t PROGMEM my_second_layer[] = RGBLIGHT_LAYER_SEGMENTS(    {1, 10, HSV_GOLD},    {25, 1, HSV_SPRINGGREEN},    {39, 1, HSV_TURQUOISE},    {53, 1, HSV_ORANGE} ); //Later layers take precedence const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(    my_first_layer,    my_second_layer  ); void keyboard_post_init_user(void) {    // Enable the LED layers    rgblight_layers = my_rgb_layers; } layer_state_t layer_state_set_user(layer_state_t state) {    rgblight_set_layer_state(0, layer_state_cmp(state, 1));    rgblight_set_layer_state(1, layer_state_cmp(state, 2));    return state; }
AlliexMy implementation for sure is not ideal. I also never worked with QMK in cases other than changing keymap. But I'm looking more and more into QMK and ZMK (First time hearing about KMK!) If someone is skilled in QMK then I would be glad for PRs with improvements! At the end the goal is to get this keyboard working as advertised for everyones benefit. :)
(Edited)
PRODUCTS YOU MAY LIKE
Trending Posts in Mechanical Keyboards