Add signed ViGEmBus virtual-joystick support (Xbox 360)
Replace the test-signed RioGamepad driver as the default joystick output with a ViGEmBus virtual Xbox 360 controller (Nefarius.ViGEm.Client) — properly signed, so it installs with no test-signing / Secure Boot change / reboot. The coordinator now selects ViGEm first, then the RioGamepad HID feeder, then a no-op. The XInput layout caps joystick buttons at 11, so the editor's joystick picker lists the named Xbox buttons (A, B, X, Y, LB, RB, Back, Start, L3, R3, Guide); the hat maps to the D-pad and the six axes to the sticks + triggers. Bind anything beyond 11 to the keyboard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
using System.Runtime.Versioning;
|
||||
using System.Text;
|
||||
using RioJoy.Core.Editing;
|
||||
using RioJoy.Core.Hid;
|
||||
using RioJoy.Core.Output;
|
||||
using RioJoy.Core.Mapping;
|
||||
using RioJoy.Core.Profiles;
|
||||
using RioJoy.Core.Protocol;
|
||||
@@ -262,8 +262,9 @@ public sealed class ProfileEditorForm : Form
|
||||
_valueCombo.Items.Add(new ValueItem(k.Name, k.Value));
|
||||
break;
|
||||
case RioRouteKind.Joystick:
|
||||
for (int btn = 1; btn <= RioHidReport.ButtonCount; btn++)
|
||||
_valueCombo.Items.Add(new ValueItem($"Button {btn}", (byte)btn));
|
||||
// The signed ViGEmBus Xbox 360 pad exposes 11 buttons; show their names.
|
||||
for (int btn = 1; btn <= ViGEmJoystickSink.MappableButtonCount; btn++)
|
||||
_valueCombo.Items.Add(new ValueItem($"Button {btn} ({ViGEmJoystickSink.ButtonNames[btn - 1]})", (byte)btn));
|
||||
break;
|
||||
case RioRouteKind.Hat:
|
||||
foreach (RioHat h in new[] { RioHat.Up, RioHat.Right, RioHat.Down, RioHat.Left })
|
||||
|
||||
Reference in New Issue
Block a user