u/mctechnology17

▲ 112 r/olkb+2 crossposts

ZMK OLED Brightness (No additional hardware required!)

ZMK OLED Brightness (No additional hardware required!)
Runtime brightness/contrast behaviors for ZMK display devices
[zmk-oled-brightness](https://github.com/mctechnology17/zmk-oled-brightness)
Extend your battery life
compatible with stock/custom display
No additional hardware required

u/mctechnology17 — 6 days ago
▲ 190 r/olkb+2 crossposts

Live World Cup scores on my keyboard (in progress)

The central side talks to a desktop companion app through Raw HID over BLE and can show FIFA World Cup live or recent match scores (in progress), weather, time, layout, volume and music.
It also runs headless to sync keyboard state with the peripheral side: layer, central battery, WPM animation, modifiers and connected profile states.
The peripheral nice!view acts as a compact synced dashboard for keyboard state and activity

u/mctechnology17 — 16 days ago
▲ 182 r/olkb+2 crossposts

zmk-nice-oled update + other new zmk-modules

More coming soon
Update (coming soon):   
- [zmk-nice-oled](https://github.com/mctechnology17/zmk-nice-oled): nice_oled, nice_epaper, nice_custom: Default support for the new modules mentioned below, many fixes and many new features :slight_smile:
2. New Module:   
- zmk-profile-peripheral: ZMK module that exposes central BLE active profile state on a split peripheral.   
- zmk-modifiers-peripheral: ZMK module that exposes central explicit modifier state on a split peripheral.  
- zmk-layer-peripheral: ZMK module that exposes central explicit modifier state on a split peripheral.  
- zmk-wpm-peripheral: ZMK module that exposes WPM on a split peripheral through a separate API and event for peripheral-side displays.
Notes:  
- All new modules are display-agnostic. They are not tied only to zmk-nice-oled and can be consumed by any external shield or by the official ZMK display/status screen code.  
- Central-side display widgets are optional. The central can run headless and still synchronize profile, modifiers, layer and WPM state to the peripheral.  
- Peripheral displays consume public APIs and events instead of private widget state.  
- Each module can be enabled or disabled independently through Kconfig.  
- zmk-wpm-peripheral supports both synced mode from central and local peripheral-side WPM calculation.   
- zmk-wpm-peripheral can either display WPM synchronized from the central side or calculate WPM locally on the peripheral without depending on central sync.  
- zmk-layer-peripheral currently syncs the layer index; peripheral displays can show a fallback like Layer N without requiring central keymap label APIs on the peripheral.

u/mctechnology17 — 23 days ago