USB-to-XInput Service (C#)

Job ID: 39927132

Budget: $250 – $750 USD

I need a lightweight Windows background service that runs head-less, starts with the OS, and silently bridges my custom USB HID gamepad to a virtual Xbox 360 controller created through ViGEmBus. The primary goal is smooth, low-latency gaming, so the service must poll the physical device at a high rate and mirror every input to XInput without drops or perceptible lag.

Key requirements
• Written in C#, targeting .NET 6 or later.
• Automatically discovers one specific VID/PID pair on connection and ignores everything else.
• Creates and maintains a ViGEmBus Xbox 360 target; if the bus or pad disconnects, the service should attempt safe reconnection.
• No GUI, tray icon, or config files—hard-coded mapping is fine.
• Clean install/uninstall via command-line switches or an MSI.
• Source code delivered in a well-structured solution with brief build instructions.

Acceptance criteria
• Consistent <1ms polling of the HID reports.
• All buttons, D-Pad, sticks, triggers correctly mapped to XInput equivalents.
• Verified operation in popular PC games without input drops over a continuous two-hour session.

When you reply, include a concise project proposal outlining your approach, any similar work you have done, and expected milestones.