Lets the frame rate be capped at 30, 15 or 10 fps to find out whether the occasional random-colour flashes on single keys depend on the update rate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Womier K87 SignalRGB plugin
|
|
|
|
SignalRGB plugin for the wired Womier K87 with EVision firmware (USB `320F:502A`).
|
|
SignalRGB's built-in EVision plugin speaks the same protocol but does not list this
|
|
product ID or have a K87 layout, so the keyboard is ignored without this plugin.
|
|
|
|
## Install
|
|
|
|
Copy `Womier_K87_EVision.js` to `%USERPROFILE%\Documents\WhirlwindFX\Plugins\` and restart SignalRGB.
|
|
|
|
The device settings have a "Key test" option (column or row sweep) to check the LED map,
|
|
"Low frame-rate mode" in case the keyboard drops frames at full speed, and a "Frame rate limit"
|
|
(Unlimited / 30 / 15 / 10 fps). Known issue: single keys occasionally flash a random colour for a moment.
|
|
|
|
## Protocol
|
|
|
|
- HID interface 1, usage page `0xFF1C`, usage `0x92` (collection 4), 64-byte output reports.
|
|
- Colour frame: packets of `[0x04, sumLo, sumHi, 0x12, len(56), offLo, offHi, 0x00, ...56 RGB bytes]`,
|
|
where the checksum is the 16-bit sum of bytes 3..63. 7 packets cover LED slots 0..127.
|
|
- The keyboard falls back to its own effect when frames stop, so colours must be streamed.
|
|
|
|
## LED map
|
|
|
|
LED index = column * 8 + row (same scheme as SignalRGB's Redragon K557 layout, minus the numpad).
|
|
Exceptions: Page Up 115, Page Down 123, bottom row Space 45, Right Alt 77, Fn 85, Menu 93,
|
|
Right Ctrl 101, arrows 109 / 117 / 125.
|
|
|
|
## Tools
|
|
|
|
- `tools/hidcaps.ps1` lists the keyboard's HID collections with usage page/usage and report sizes.
|
|
- `tools/evision_led.ps1` sends test frames straight to the keyboard, e.g.
|
|
`evision_led.ps1 -Leds "0=ff0000,21=00ff00" -Seconds 60` lights LED 0 red and 21 green for a minute.
|
|
Used to map the LEDs; quit SignalRGB first so the two don't fight over the device.
|