feat(q5_max): map dip-switch to RGB effects (heatmap / solid white) #17

Merged
rootiest merged 1 commits from feat/rbg-switch into main 2026-04-11 06:16:11 +00:00
Owner

Summary

  • Repurposes the Win/Mac dip-switch to toggle RGB effects instead of switching default layers
  • Win side → solid white backlight (RGB_MATRIX_SOLID_COLOR + HSV_WHITE)
  • Mac side → typing heatmap (RGB_MATRIX_TYPING_HEATMAP), with saturation restored to 255 before switching to prevent the HSV_WHITE sat=0 from washing out the heatmap colors

Implementation notes

  • factory_test.c already owns dip_switch_update_user, so a new __attribute__((weak)) dip_switch_update_keymap() hook was added to q5_max.c and called from dip_switch_update_kb — the keymap overrides this weak symbol
  • The original default_layer_set call in dip_switch_update_kb is commented out (not removed) to preserve context

Test plan

  • Flip switch to Win side → keyboard switches to solid white backlight
  • Flip switch to Mac side → keyboard switches to colored typing heatmap
  • Verify brightness is preserved across switch flips
  • Confirm heatmap shows full color range (not white-only) after returning from solid white
## Summary - Repurposes the Win/Mac dip-switch to toggle RGB effects instead of switching default layers - Win side → solid white backlight (`RGB_MATRIX_SOLID_COLOR` + `HSV_WHITE`) - Mac side → typing heatmap (`RGB_MATRIX_TYPING_HEATMAP`), with saturation restored to 255 before switching to prevent the `HSV_WHITE` sat=0 from washing out the heatmap colors ## Implementation notes - `factory_test.c` already owns `dip_switch_update_user`, so a new `__attribute__((weak)) dip_switch_update_keymap()` hook was added to `q5_max.c` and called from `dip_switch_update_kb` — the keymap overrides this weak symbol - The original `default_layer_set` call in `dip_switch_update_kb` is commented out (not removed) to preserve context ## Test plan - [ ] Flip switch to Win side → keyboard switches to solid white backlight - [ ] Flip switch to Mac side → keyboard switches to colored typing heatmap - [ ] Verify brightness is preserved across switch flips - [ ] Confirm heatmap shows full color range (not white-only) after returning from solid white
rootiest added 1 commit 2026-04-11 06:15:53 +00:00
Replace the Win/Mac default-layer switch with an RGB effect toggle:
- Win side → solid white backlight
- Mac side → typing heatmap

Add a weak dip_switch_update_keymap() hook in q5_max.c to work around
factory_test.c already owning dip_switch_update_user().
rootiest merged commit 1d60306b66 into main 2026-04-11 06:16:11 +00:00
rootiest deleted branch feat/rbg-switch 2026-04-11 06:16:11 +00:00
Sign in to join this conversation.