Modernization of the legacy vJoy-based RIO cockpit interface for Win10/11, removing the vJoy dependency in favor of a custom VHF/UMDF HID driver, rewritten in C#/.NET 8 as a background tray app with per-game profiles. - Reorganize: legacy C++ -> legacy/, cockpit art -> docs/reference/ - RioJoy.sln: src/RioJoy.Core (lib) + src/RioJoy.Tray (tray app), net8.0-windows x64 - driver/ placeholder for the RioGamepad WDK driver - docs/PLAN.md (7-phase plan; profiles + serial-yield model) - docs/PROTOCOL.md (RIO wire format + iRIO input-map reference) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
RIOJoy
Modern Windows 10/11 interface between the cockpit RIO (Remote Input/Output) board and Windows, as a virtual joystick / keyboard / mouse — the successor to the legacy vJoy-based app, with no vJoy dependency.
The RIO has 72 digital inputs and outputs (lighted buttons) and 5 analog axes (joystick X/Y, throttle, left pedal, right pedal), connected over RS-232 at 9600 8N1. RIOJoy exposes these to games that don't natively know about the cockpit hardware, with per-game profiles. (The native games — Firestorm, Red Planet — talk to the RIO directly and do not use this app.)
Repository layout
| Path | Contents |
|---|---|
src/RioJoy.Core |
Protocol, profile model, input mapper, HID feeder (class library) |
src/RioJoy.Tray |
Background tray application |
driver/ |
RioGamepad virtual HID driver (KMDF + VHF) — replaces vJoy |
docs/PLAN.md |
Full modernization plan (7 phases) |
docs/PROTOCOL.md |
RIO wire format + iRIO input-map reference |
docs/reference/ |
Cockpit overlay art & the legacy labeling pipeline |
legacy/ |
Original C++/vJoy implementation, kept as reference |
Building
Requires the .NET 8 SDK and Windows. The driver builds separately with the
WDK (see driver/README.md).
dotnet build RioJoy.sln -c Release
Status
Phase 0 (scaffold + plan). See docs/PLAN.md for what's next.