Something went wrong. Try again later
    Follow

    PC

    Platform »

    The PC (Personal Computer) is a highly configurable and upgradable gaming platform that, among home systems, sports the widest variety of control methods, largest library of games, and cutting edge graphics and sound capabilities.

    Recommended joystick-to-keyboard mapping software?

    Avatar image for sweetz
    sweetz

    1286

    Forum Posts

    32

    Wiki Points

    0

    Followers

    Reviews: 0

    User Lists: 0

    #1  Edited By sweetz

    So I've been on a kick playing through the Wing Commander series (up to WC3 now), and the one thing that sucks about these games is that they don't have remappable controls. I have a Thrustmaster T.16000m flight stick and while Thrustmaster does have their own mapping software (called TARGET) it's ridiculously over-complex for the kind of simple button-to-keyboard key mapping I need.

    To that end, I've been using JoyToKey, which is is nice and easy to use - but it has one problem: it doesn't stop the joystick buttons acting as normal joystick buttons in addition to the mapped keyboard key. This is a problem because the Wing Commander games have certain actions that are hardcoded to button 2 (i.e. if you hold it down and move the stick right or left it acts as a roll, press it at the same time as the trigger and it fires a missile). I don't want these actions to happen on button 2 because I've mapped them to other dedicated buttons, I want button 2 to only work as the keyboard key I assign it to and not still work as "button 2" as far as the game sees it.

    I used to have a Logitech joystick and Logitech's profiler software does work that way, but unfortunately it can only be used with Logitech sticks.

    There are a bunch of other joystick mapping utilities out there, so I'm kind of at a loss for where to start and don't want to waste time messing with a bunch of them. Doesn't anyone know a particular utility that will do what I want as far as making the joystick button only work as a keyboard key and stop it from being detected as a joystick button by the game.

    Avatar image for azhp
    AzHP

    230

    Forum Posts

    30

    Wiki Points

    0

    Followers

    Reviews: 0

    User Lists: 5

    #2  Edited By AzHP

    I believe what you're asking for is impossible, or at least only possible if the joystick driver itself is intercepting the input and preventing it from being interpreted by the operating system. The reason the Logitech program was able to work is because it is operating at the driver level. Any other program will be receiving the input at the same time any other program in the operating system would receive it. It's just "listening," not "intercepting" if that makes sense. I know that's not the answer you want to hear, but it's unlikely a solution exists unless you can rewrite the driver for your gamepad. Your best bet is to figure out how to configure TARGET to do what you want.

    Avatar image for sweetz
    sweetz

    1286

    Forum Posts

    32

    Wiki Points

    0

    Followers

    Reviews: 0

    User Lists: 0

    #3  Edited By sweetz

    Intercepting wouldn't need to happen at the driver level, it would just need to happen at the DirectInput/XInput level.

    Truth be told TARGET isn't that hard to use, but as far as I can tell, it doesn't have basic "run in the background, automatically apply profile" functionality. It has to be manually run every time and go through a "boot" sequence where it loads the profile script. It's a pain for the simple thing I want it for.

    Avatar image for bollard
    Bollard

    8298

    Forum Posts

    118

    Wiki Points

    0

    Followers

    Reviews: 3

    User Lists: 12

    If you really want to stop a game taking predefined inputs from a joystick that you can't just remove the mapping for in the game you actually need something that intercepts the input before it reaches the game. The only thing I can think of that might get you there is AutoHotkey. I don't even know if it has support for peripherals, all I know is it can take the input from a key on the keyboard and make the game think it's something else/a combination of keys instead. It uses a basic scripting language that is a little fiddly but doesn't require programming knowledge.

    Also, see this: http://www.autohotkey.com/docs/misc/RemapJoystick.htm

    Avatar image for sweetz
    sweetz

    1286

    Forum Posts

    32

    Wiki Points

    0

    Followers

    Reviews: 0

    User Lists: 0

    So I looked into Pinnacle Game Profiler, since that seems to be popular, and it specifically has a function to do this - block a game with native joystick support from reading a button. It sticks a DirectInput wrapper file in the game directory to intercept the calls.

    Unfortunately, it doesn't seem to work with Wing Commander 3 or Privateer 2 (I'm playing the Win95 native versions of both). I suspect that the DirectX calls they're using are too ancient for the DX8+ era wrapper that Pinnacle Game Profiler uses. I tested it with a more modern game and it did work as intended. Looks like I might be out of options.

    This edit will also create new pages on Giant Bomb for:

    Beware, you are proposing to add brand new pages to the wiki along with your edits. Make sure this is what you intended. This will likely increase the time it takes for your changes to go live.

    Comment and Save

    Until you earn 1000 points all your submissions need to be vetted by other Giant Bomb users. This process takes no more than a few hours and we'll send you an email once approved.