GMK87 Lighting Presets and Effects
The GMK87 keyboard comes with 8 built-in lighting presets, 19 underglow effects, 5 LED modes, and 9 LED colors. This guide covers everything you need to configure your keyboard lighting exactly how you want it.
For full CLI reference and advanced configuration options, see the Configure Lighting guide.
On this page
Built-in Presets
Each preset configures underglow effects, LED color, brightness, and speed for a complete look. See how to apply them below.
Underglow Effects
The GMK87 supports 19 underglow effects. Select them by name in the app, or by name or number via CLI and API.
| Index | Effect Name | Description |
|---|---|---|
| 0 | off | Disables underglow completely |
| 1 | horizontal-dimming-wave | Horizontal wave that dims across the keys |
| 2 | horizontal-pulse-wave | Horizontal wave with a pulsing intensity |
| 3 | waterfall | Color cascades downward like a waterfall |
| 4 | full-cycling-colors | All keys cycle through colors simultaneously |
| 5 | breathing | Smooth fade in and out like breathing |
| 6 | full-one-color | Solid single color across all keys |
| 7 | glow-pressed-key | Lights up only the key you press |
| 8 | glow-spreading | Light radiates outward from the pressed key |
| 9 | glow-row | Lights up the entire row of the pressed key |
| 10 | random-pattern | Random keys light up in random colors |
| 11 | rainbow-cycle | Rainbow gradient cycles across the keyboard |
| 12 | rainbow-waterfall | Rainbow colors cascade downward |
| 13 | wave-from-center | Light wave radiates outward from the center |
| 14 | circling-jk | Light circles around the J and K keys |
| 15 | raining | Random keys light up and fade like rain drops |
| 16 | wave-left-right | Wave sweeps from left to right across keys |
| 17 | slow-saturation-cycle | Slowly cycles through saturation levels |
| 18 | slow-rainbow-from-center | Slow rainbow that expands from the center |
LED Modes
The big LED (screen area indicator) supports 5 display modes.
| Mode | Name | Description |
|---|---|---|
| 0 | Blinking One Color | LED blinks in a single color at a steady interval |
| 1 | Pulse Rainbow | LED pulses through rainbow colors smoothly |
| 2 | Blinking One Color (Alt) | Alternate blinking pattern in a single color |
| 3 | Fixed Color | Stays on a single solid color with no animation |
| 4 | Fixed Color (Alt) | Alternate fixed color display mode |
LED Colors
The LED supports 9 color presets. Select them visually in the app, or by name or number via CLI and API.
Apply with the App
The GMK87 Configurator desktop app provides a visual interface for all lighting settings.
- Open the app and connect your keyboard via USB.
- Navigate to the Lighting tab.
- Pick a preset from the dropdown, or configure effects, brightness, speed, and colors individually.
- Use the color picker to choose a custom RGB color, or enable Rainbow Mode.
- Click Apply to save the configuration to the keyboard.
Apply with the CLI
Apply a preset
npx gmk87 preset gaming
Custom configuration
Mix and match any underglow effect, LED mode, color, brightness, and speed:
Rainbow cycle at full brightness:
npx gmk87 lights --effect rainbow-cycle --brightness 9 --speed 0
Cyan breathing with a fixed teal LED:
npx gmk87 lights --effect breathing --red 0 --green 255 --blue 255 --brightness 5 --led-mode 3 --led-color teal
Turn off all lighting:
npx gmk87 preset off
All CLI flags
| Flag | Range | Description |
|---|---|---|
| --effect | name or 0-18 | Underglow effect |
| --brightness | 0-9 | Underglow brightness (0=off, 9=max) |
| --speed | 0-9 | Effect speed (0=fast, 9=slow) |
| --rainbow | true/false | Enable rainbow color cycling |
| --red --green --blue | 0-255 | Custom RGB values |
| --led-mode | 0-4 | LED display mode |
| --led-color | name or 0-8 | LED color preset |
Apply with the API
Use the Node.js API for programmatic control of lighting.
Apply a preset
import { loadPreset } from 'gmk87-hid-uploader/src/api.js'
await loadPreset('gaming')
Custom configuration
import { setLighting } from 'gmk87-hid-uploader/src/api.js'
await setLighting({
underglow: {
effect: 11, // rainbow-cycle
brightness: 7,
speed: 3,
hue: { red: 0, green: 200, blue: 255 }
},
led: { mode: 3, color: 5 }
})
presets.json from the project root, modify it, and load it with the loadPreset function.