Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

The thing with these controllers is that all 8 controllers are accessible via DirectInput and 4 of them are also accessible via XInput at the same time. So it is technically possible for 4 of them to be accessed via XInput and the rest via DirectInput. The problem is that it is not easy to know which 4 controllers to skip via DirectInput since the enumeration order can differ and I don't think XInput exposes a unique ID of the controller so all frameworks I have dug into that support both DirectInput and XInput at the same time skip all of the XInput controllers on the DirectInput side when XInput is "activated". I've seen these approaches to dealing with supporting more than 4 XInput controllers in games:

  • Only use DirectInput
  • Have an option to disable XInput to allow for more than 4 XInput devices.
  • Automatically switch to DirectInput if more than 4 XInput controllers are connected. (not so common)

The reason some games have XInput as the default and an option to disable it is that some weird controller issues reported by a smaller set of users "disappear" when accessed via XInput. Also XBox360 controllers via DirectInput don't have rumble effect and triggers are on the same axis so holding both triggers is detected as none of them being pressed. This is due to the XBox360 driver being poorly implemented.