Skip to content

Scale per-key V component by global V component rather than ignoring per-key V component - #9

Open
CalcProgrammer1 wants to merge 1 commit into
Keychron:rtl8762gfrom
CalcProgrammer1:rtl8762g_per_key_v_scaling
Open

Scale per-key V component by global V component rather than ignoring per-key V component#9
CalcProgrammer1 wants to merge 1 commit into
Keychron:rtl8762gfrom
CalcProgrammer1:rtl8762g_per_key_v_scaling

Conversation

@CalcProgrammer1

Copy link
Copy Markdown

See my equivalent qmk_firmware PR here: Keychron/qmk_firmware#492

Applies the same changes on ZMK. Tested on Keychron Q6 Ultra 8K.

Video of OpenRGB Effects Plugin with an effect that varies per-key brightness:

https://www.youtube.com/watch?v=vb103j4zNA8

timeToy34 added a commit to timeToy34/agent-frow that referenced this pull request Aug 23, 2026
A second lighting surface beside Corsair: a Keychron Ultra on its cable or
2.4 GHz receiver, driven over the raw-HID protocol the Keychron Launcher uses
- no driver, no firmware of ours. The keyboard's mixed mode gives the F-row
to the app and keeps the user's effect on every other key; everything the
app changes is read first and put back on Quit (which exits without
unwinding, so the tray hands the keyboard back explicitly), and the protocol
module cannot spell either flash-save command. A snapshot file lets a killed
app restore on its next start instead of capturing its own work.

Shared between surfaces now: the palette, by F-row position rather than LED
id, and a Scene that decides when a frame is due and doubles as the clock.
KeyboardStatus is per surface; the Keyboard panel lists each; doctor gained
a keyboards section.

Found on hardware: the firmware pushes an A3 report on a layer change, so an
exchange reads until the reply that echoes its command.

Stock Ultra firmware ignores per-key brightness; firmware/keychron-ultra
carries Keychron/zmk#9 as a patch, a Docker build and a flashing guide.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant