Skip to content

Add NuPhy Air V2 keyboard support#99

Open
gabrielpopa wants to merge 3 commits into
CalcProgrammer1:masterfrom
gabrielpopa:codex/nuphy-air-v2-support
Open

Add NuPhy Air V2 keyboard support#99
gabrielpopa wants to merge 3 commits into
CalcProgrammer1:masterfrom
gabrielpopa:codex/nuphy-air-v2-support

Conversation

@gabrielpopa

@gabrielpopa gabrielpopa commented Jun 10, 2026

Copy link
Copy Markdown

Summary

Adds OpenRGB support for the NuPhy Air60 V2, Air75 V2, and Air96 V2 keyboards using their stock QMK/VIA firmware.

Features

  • Detects supported NuPhy Air V2 keyboards over VIA raw HID
  • Controls RGB Matrix effects
  • Supports static color, brightness, and effect speed
  • Saves lighting settings to the keyboard
  • Verifies VIA RGB Matrix support before registering the device

Limitations

NuPhy’s stock firmware does not expose direct per-key RGB control or the separate side-light bars through VIA. OpenRGB therefore controls whole-keyboard RGB Matrix effects only.

Validation

  • OpenRGB builds successfully
  • Physically tested with a connected NuPhy Air75 V2
  • Verified device detection
  • Verified static red color and brightness control using stock firmware

On Linux, install a udev rule so OpenRGB can access the keyboard after reconnecting or changing USB ports:

echo 'SUBSYSTEM=="hidraw", ATTRS{idVendor}=="19f5", ATTRS{idProduct}=="3246", TAG+="uaccess"' |
sudo tee /etc/udev/rules.d/61-openrgb-nuphy-air75-v2.rules

sudo udevadm control --reload-rules

Unplug and reconnect the keyboard, then confirm detection:

./build/openrgb --list-devices

Test static red lighting:

./build/openrgb --device "NuPhy Air75 V2" --mode static --color FF0000 --brightness 100

Expected result: the keyboard appears as NuPhy Air75 V2 and its main key lighting turns solid red. The separate side-light bars are not exposed through stock VIA firmware.

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