Phase 0: scaffold modern RIOJoy solution + plan
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>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# RioGamepad — virtual HID driver
|
||||
|
||||
The `RioGamepad` virtual HID device replaces the legacy **vJoy** dependency. It
|
||||
is a KMDF driver built on the Windows **Virtual HID Framework (VHF, `vhf.sys`)**
|
||||
that presents a single HID game controller to Windows matching the layout the
|
||||
old app drove through vJoy:
|
||||
|
||||
| Report field | Count | Notes |
|
||||
|--------------|-------|-------|
|
||||
| Axes | 6 | X, Y, Z, Rx, Ry, Rz — 16-bit |
|
||||
| Hat switch | 1 | 4-direction POV with null state |
|
||||
| Buttons | 96 | 12 bytes of button bits |
|
||||
|
||||
The C# tray app feeds input reports to the driver through a custom
|
||||
`DeviceIoControl` IOCTL on the driver's control device; the driver relays them
|
||||
to Windows via `VhfReadReportSubmit`.
|
||||
|
||||
## Status
|
||||
|
||||
Phase 0 placeholder. Implementation is **Phase 1** in [../docs/PLAN.md](../docs/PLAN.md).
|
||||
|
||||
## Build prerequisites (Phase 1)
|
||||
|
||||
- Windows Driver Kit (WDK) for Windows 11 + matching Visual Studio + Windows SDK
|
||||
- A separate WDK/MSBuild project lives here (`RioGamepad.vcxproj`); it is **not**
|
||||
part of `RioJoy.sln` (different toolchain).
|
||||
|
||||
## Signing
|
||||
|
||||
For the cockpit cabinets, enable **test signing** (`bcdedit /set testsigning on`)
|
||||
and install a self-signed test certificate — appropriate for hardware you own.
|
||||
Redistribution would instead use Microsoft **attestation signing** via Partner
|
||||
Center. See the deployment notes in [../docs/PLAN.md](../docs/PLAN.md) (Phase 6).
|
||||
Reference in New Issue
Block a user