Many older games (and even some modern ones on Steam) only recognize the primary game controller. Your second stick is ignored. In this case, you need a virtual joystick driver like vJoy.
// In DriverEntry: WDF_DRIVER_CONFIG config; WDF_DRIVER_CONFIG_INIT(&config, TwinJoystickEvtDeviceAdd);// In EvtDeviceAdd: WDF_IO_QUEUE_CONFIG queueConfig; WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE(&queueConfig, WdfIoQueueDispatchSequential); queueConfig.EvtIoInternalDeviceControl = TwinJoystickEvtInternalDeviceControl;
// For HID reports: NTSTATUS TwinJoystickEvtInternalDeviceControl(...) // Handle IOCTL_HID_GET_REPORT_DESCRIPTOR // Handle IOCTL_HID_READ_REPORT (for input from sticks)twin usb joystick driver windows 10
For advanced users: You can force Windows to assign fixed joystick IDs via the Registry. Many older games (and even some modern ones
Warning: Microsoft does not officially support this method, and Windows Updates may override it.
Symptoms: Force feedback doesn’t work, or LEDs stay off. For advanced users: You can force Windows to
Fix – Force driver replacement:
If you plug in two identical joysticks (e.g., two Thrustmaster T.16000M), Windows often sees them as the same device. It will only register one, or will randomly assign inputs between the two.
Solution: You need a driver that can differentiate by USB port. The best free tool is Joystick Gremlin (more on this below).
Many hobbyists and gamers connect two USB joysticks to a single PC for flight sims, arcade cabinets, or custom control panels. Windows 10 usually recognizes each USB joystick as a separate device, but there are scenarios where you need a dedicated “twin joystick” driver or software to combine axes, remap inputs, or ensure both controllers work reliably in legacy games and custom applications.