https://github.com/Genteure/zmk-bthome
ZMK ( https://zmk.dev ) is an open source, wireless-first, modular and composable keyboard firmware. "ZMK BTHome" is a ZMK module that enables keyboards to send BTHome v2 advertisements, allowing you to have a dedicated "lights off" key on your keyboard.
Battery reporting
Keyboards can report their battery level (in percentage) and battery voltage. For wireless split keyboards with multiple physical parts acting as a single keyboard, each split part reports its own battery values.
Buttons
The module supports configurable number of BTHome buttons with all button event types.
BTHome buttons are fully integrated into the ZMK keymap just like regular keys. Instead of "send keycode A", you can set keys to "BTHome button 1 press", "BTHome button 2 long press", etc.
ZMK has composable "keymap behaviors". You can wrap BTHome button behaviors from this module with ZMK built-in behaviors, such as "hold tap" or "tap dance", to make double tapping send "BTHome button double press". Or you could put BTHome button behaviors behind a "fn" key (keymap layer) and make "fn + A" send "BTHome button 1 press" and "fn + B" send "BTHome button 1 double press" etc.