Initial: modular per-key RGB layer effect for ZMK

ZMK module providing per-key per-layer RGB effects via the modular
effect API (zmk_rgb_effect). Extracted from darknao's fork patches.

Contents:
- Layer effect: registers via ZMK_RGB_EFFECT_DEFINE, renders per-key
  colors based on active keymap layer
- Behaviors: underglow_color, underglow_battery, underglow_indicators
- DTS bindings: zmk,underglow-layer + behavior bindings
- Event: underglow_color_changed for reactive refresh

Requires: ZMK core with rgb-modular branch (effect registration API)
This commit is contained in:
afiqzudinhadi 2026-07-01 08:46:43 +08:00
commit 569dc85e0c
15 changed files with 557 additions and 0 deletions

View file

@ -0,0 +1,24 @@
description: |
Allows defining a rgbmap composed of multiple layers
compatible: "zmk,underglow-layer"
properties:
pixel-lookup:
type: array
required: true
child-binding:
description: "A layer to be used in a rgbmap"
properties:
bindings:
type: phandle-array
required: true
layer-id:
type: int
required: true
fade-delay:
type: int
required: false
default: -1