Looking for a way to remap joystick axis to POV hats

Discussion in 'Technical Discussion' started by MarzSyndrome, Feb 6, 2015.

  1. MarzSyndrome


    Everything is going to the beat. Member
    One of the main problems with trying to use today's controllers with older Windows titles - mainly from the 90's and early 00's - is that they weren't programmed to understand the difference and co-existence of traditional joystick axis and the POV hats which make up today's d-pads.

    Old-school gaming isn't as great as it could be when you're restricted to using the left analog stick for all movement duties in a game that wasn't designed for analogue in the first place.

    I've tried looking around for various solutions to this, and during my travels have come across x360ce, Universal Joystick Remapper, Xpadder, Pinnacle Game Profiler........ the list goes on.

    However, it seems none of these do the one simple thing I'm after - the ability to remap the axis to the d-pad and have all games - whether they use DInput, DInput8, or XInput - acknowledge the POV as axis so remapping becomes easier. And I mean proper controller recognition - I'm not interested in a lazy keyboard-to-gamepad solution like Joy2Key. Why would I want to change every config to use a keyboard instead? Not to mention there's bound to be some titles out there with little to no keyboard support. Oh, and running Joy2Key in the background means potentially doing stuff accidentally within the Windows OS itself just by randomly pressing buttons - I'd rather they didn't have to share such a world.

    At least someone had the right idea recently: over at the GOG forums, one fellow came up with a DLL wrapper for the 1996 platformer Gex to make it remap axis to d-pad while the game was running - it can be found here for those interested. Only problem is that he programmed it specifically with that game in mind, and said game does its joystick support through WinMM, which is what he patches. Having checked a few other Windows titles from the era, plus the more recent Raiden III (another GOG title), this is not a common way of handling controllers, so the patch would be no good for them.

    So anyway. Is it easy and/or possible to program some kind of generic axis-to-POV patcher/wrapper for most if not all games?
  2. Korama


    Tech Member
    What you ask is definitely possible. Easy? Well, it's not too difficult, but handling all the interfaces you listed, DInput in particular, can be tedious.
    I've written POV-to-axis patches for a few games as well. They all used the WinMM joystick functions, though.
    Anyway, why not get a gamepad with a dedicated "digital mode" that swaps/assigns the POV to the XY axes in hardware?