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>
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 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`](src/RioJoy.Core/) | Protocol, profile model, input mapper, HID feeder (class library) |
|
|
| [`src/RioJoy.Tray`](src/RioJoy.Tray/) | Background tray application |
|
|
| [`driver/`](driver/) | `RioGamepad` virtual HID driver (KMDF + VHF) — replaces vJoy |
|
|
| [`docs/PLAN.md`](docs/PLAN.md) | Full modernization plan (7 phases) |
|
|
| [`docs/PROTOCOL.md`](docs/PROTOCOL.md) | RIO wire format + `iRIO` input-map reference |
|
|
| [`docs/reference/`](docs/reference/) | Cockpit overlay art & the legacy labeling pipeline |
|
|
| [`legacy/`](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`](driver/README.md)).
|
|
|
|
```sh
|
|
dotnet build RioJoy.sln -c Release
|
|
```
|
|
|
|
## Status
|
|
|
|
Phase 0 (scaffold + plan). See [`docs/PLAN.md`](docs/PLAN.md) for what's next.
|