Worse yet some games will completely ignore the fact you have a controller hooked up and only offer keyboard support for your game and that’s it. One of the biggest ones being that if you didn’t have an official Microsoft Controller then the game will not even let you continue past its the start screen. Depending on the gaming engine used this generated a series of problems. Devs were using versions 1.1 to 1.3 versions which simply ‘assumed’ the mapping of each button to that of a classic Xbox 360 joystick.
Instead of using archaic and complicated hooks such as the original xinput.dll which is version 1.0. That’s exactly what developers started to do. Spelunky HD is just one of many games that assumes you are installing an Xbox 360 Controller and nothing else. Microsoft in particular made it very easy to port back and forth between Xbox and PC because everything relied on Direct X. Developers will branch out to other platforms to sell their games. But after the game has been released for a while. Thus as a developer, you begin to program your game to conform to the standards of that environment.
The highest place to sell your game unless it’s crazily complicated is typically the console environment. Common sense will tell developers will go to where the market is.