Skip to content

Latest commit

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

R75 Remaster

Custom Vial + SOCD + OpenRGB (offset) firmware and Linux host tools for the wired Royal Kludge R75 (VID:PID 342d:e484).

Stock “VIA” on these boards is a locked-down OEM build. This remaster turns the same PCB into a full Vial keyboard with CS2-friendly SOCD and PC-driven RGB (including a real cava bar visualizer on the key matrix).

Risk: Flashing custom firmware can soft-brick until DFU recovery. Always backup first. Esc-hold on plug-in enters bootloader (and clears EEPROM).


Features

  • Vial — layers, tap dance (via app), combos, macros, VialRGB
  • SOCD cleaner — WASD last-win, toggleable (SOCDTOG)
  • OpenRGB offset protocol (0x20) — host RGB without killing Vial’s RAW HID
  • Linux host visualizers — cava spectrum/bars/beat modes over HID
  • Safety — stock dumps, restore images, DFU scripts

Quick start

# Build
./scripts/build.sh
# Backup (keyboard must be in DFU)
./scripts/backup-stock.sh
# Flash (explicit confirmation required)
./scripts/flash.sh firmware/r75-vial-socd-openrgb.bin --yes

Full DFU / restore notes: docs/FLASH.md
OpenRGB / cava notes: docs/OPENRGB.md
Host packages: docs/HOST_APPS.md

Enter DFU

MethodHow
SoftwareFn + Right Shift + Q (QK_BOOT on CTL layer)
HardwareUnplug → hold Esc → plug in (also erases EEPROM)
VialSecurity → Enter bootloader

Useful keybinds (after flash)

ActionBinding
CTL (config) layerHold Fn + Right Shift
Bootloader (DFU)CTL + Q
Clear EEPROMCTL + Z
Toggle SOCDCTL + T
Toggle NKROCTL + N
Vial unlockEsc + Enter

Configure everything else in the Vial app (not the old VIA Design JSON).


Host RGB / cava visualizer

Close Vial first (same RAW HID interface).

python host/openrgb_probe.py # should print OpenRGB offset 0x0e
python host/audio_reactive_rgb.py --list
python host/audio_reactive_rgb.py --mode cava
python host/audio_reactive_rgb.py --mode beat
python host/audio_reactive_rgb.py --mode cava-peak --sensitivity 1.4

Also: host/cpu_heat_rgb.py (CPU → color wash).


Repo layout

overlay/ remaster sources (tracked) — applied onto vial-qmk at build
backups/ stock-from-device.bin, Original-Firmware.hex, …
firmware/ r75-vial-socd-openrgb.bin|.hex
host/ cava visualizer, probes, configs
scripts/ build, backup, flash
docs/ FLASH, OPENRGB, HOST_APPS
udev/ QMK/WB32 udev rules
vendor/ local clones only (gitignored — do not push)

vendor/ is not committed (vendor/vial-qmk ≈ 1.6GB). ./scripts/build.sh clones vial-qmk / wb32 tools if missing and applies overlay/.


Credits

This remaster stands on a lot of prior work. Huge thanks to the people and projects below — please star / support their repos.

Keyboard firmware lineage

Project / personRole
sdk66Original Hangsheng / RK R75 QMK tree
iamdanielv (kb_rk_r65)R65 customization this port descends from
irfanjmdn (r65)Earlier R65 QMK / Vial work
boa / mossbed (boafur)R75 VialRGB port + matrix/RGB fixes we based on
snakkarike/Royal-Kludge-R75SOCD integration, stock hex backup, OpenRGB/SignalRGB R75 variants

Libraries & tooling

ProjectRole
vial-kb/vial-qmkVial-enabled QMK fork (build tree)
getreuer / SOCD CleanerSOCD filtering library (via snakkarike’s packaging)
reelmesh/openrgb-gmmk2-p96-isoOpenRGB↔Vial offset protocol approach adapted here
WestberryTech/wb32-dfu-updaterWB32 DFU flash / dump CLI
QMKFirmware framework
cavaDesktop audio spectrum fed into host/audio_reactive_rgb.py

Hardware

  • Royal Kludge / RK — R75 board
  • Hangsheng — OEM controller platform (342d:e484)

If we missed a credit you care about, open an issue or PR and we’ll fix it.


Disclaimer

Custom firmware can damage or temporarily brick devices. You flash at your own risk. Keep backups/stock-from-device.bin and/or backups/Original-Firmware.hex before experimenting.


Remastered for Linux-first use. Built, not bought.

About

Firmware for the Royal Kludge R75 Wired Keyboard With Full VIA and QMK Support and LED manipulation

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Contributors

Languages