c38d8de9425ef5d018c573baf192dc65ccd255a2
Drop the per-packet device.pause(1), which rounds up to the Windows timer tick and capped the keyboard at roughly 10 fps; keep a pause in low frame-rate mode. Add a "Key test" option with column and row sweeps to verify the LED map. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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, and "Low frame-rate mode" in case the keyboard drops frames at full speed.
Protocol
- HID interface 1, usage page
0xFF1C, usage0x92(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.ps1lists the keyboard's HID collections with usage page/usage and report sizes.tools/evision_led.ps1sends test frames straight to the keyboard, e.g.evision_led.ps1 -Leds "0=ff0000,21=00ff00" -Seconds 60lights 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.
Languages
JavaScript
51.6%
PowerShell
48.4%