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,16 @@
/*
* Copyright (c) 2024 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <zmk/event_manager.h>
struct zmk_underglow_color_changed {
uint32_t layers;
bool wakeup;
};
ZMK_EVENT_DECLARE(zmk_underglow_color_changed);