Jump to content

Mw5 Joystick Workarounds Thread


152 replies to this topic

#21 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 29 November 2019 - 06:01 PM

View PostCeltic Warrior, on 29 November 2019 - 11:04 AM, said:

Ok so I installed those programs and see my T.Flight Stick X in Xoutput but it still doesn't work in game... Any suggestions?


XOutput has some dependencies. and those dependancies have their own dependencies. i was able to get it to run just by installing VIGEm and the xbox 360 controller drivers. thats all i had to install to get it to work.

are you on windows 10? if not i think you have to install some dotnet stuff.

also try the vc++ redistributables.

Edited by LordNothing, 29 November 2019 - 06:04 PM.


#22 General Solo

    Member

  • PipPipPipPipPipPipPipPipPip
  • Legendary Founder
  • 3,625 posts

Posted 30 November 2019 - 04:16 AM

Do you have any experience with x360ce and is it any good ?

#23 Celtic Warrior

    Member

  • PipPipPipPipPipPipPip
  • The Death Wish
  • The Death Wish
  • 507 posts
  • LocationClan Wolf Operations - Tukayyid - Honolulu HI

Posted 30 November 2019 - 09:52 AM

View PostLordNothing, on 29 November 2019 - 06:01 PM, said:


XOutput has some dependencies. and those dependancies have their own dependencies. i was able to get it to run just by installing VIGEm and the xbox 360 controller drivers. thats all i had to install to get it to work.

are you on windows 10? if not i think you have to install some dotnet stuff.

also try the vc++ redistributables.


Yeah I'm on Win10 and installed both those programs.

Response from support

"Thank you for reaching out to us.

Beta has limited joystick support with incomplete customization.
We are currently collecting feedback and finalizing full support for the release build."

Hopefully they don't screw us JS players over on the final build. Regardless I paid for beta access so I'm **** out of luck on that.

#24 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 30 November 2019 - 03:51 PM

View PostCeltic Warrior, on 30 November 2019 - 09:52 AM, said:


Yeah I'm on Win10 and installed both those programs.

Response from support

"Thank you for reaching out to us.

Beta has limited joystick support with incomplete customization.
We are currently collecting feedback and finalizing full support for the release build."

Hopefully they don't screw us JS players over on the final build. Regardless I paid for beta access so I'm **** out of luck on that.


yea thats the standard reply they have been giving out for the joystick problems.

are you leaving the XOutput running when you start the game? because it will stop emulating the gamepad when you close it.

to test if its working hit windows+r and type in "joy.cpl" to bring up the joystick control panel. when you run xoutput and start the controller, a new device will show up in the panel. you can test the bindings by hitting properties. if none of those are working then stop the controller and edit your bindings in xoutput.

i really need to redo my instructions with pictures.

View PostOZHomerOZ, on 30 November 2019 - 04:16 AM, said:

Do you have any experience with x360ce and is it any good ?


i tried getting it to work with the game. this would be the preferred method as you don't have to install a buttload of dependencies. but the game just wont start when using it. this may be a drm thing as it does try to override a dll.

Edited by LordNothing, 30 November 2019 - 05:39 PM.


#25 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 30 November 2019 - 05:32 PM

i added some picture instructions to the main post.

Edited by LordNothing, 30 November 2019 - 05:38 PM.


#26 RedWolfwere

    Member

  • PipPip
  • Knight Errant
  • Knight Errant
  • 22 posts

Posted 01 December 2019 - 01:12 PM

I have a MS Sidewinder Precision Pro and a MS Precision Pro 2, not functioning at all in MW5 Beta.
Those still works fine in MWO.
Hope they bring in full joystick support, i love the sim feeling in MW, always used joysticks.

#27 Eurystheus

    Member

  • PipPipPipPipPip
  • The Grizzly
  • The Grizzly
  • 131 posts

Posted 01 December 2019 - 04:18 PM

View PostLordNothing, on 30 November 2019 - 05:32 PM, said:

i added some picture instructions to the main post.


I appreciate your efforts here to help people figure out how to make their joysticks work in MW5. Thank you for doing that.

That said, I believe it is up to PGI to either include joystick support in the game, or include instruction on how to make them work. Community support is great, you're an example of that. Be that as it may, it should also come from the vendor.

#28 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 01 December 2019 - 04:34 PM

View PostEurystheus, on 01 December 2019 - 04:18 PM, said:


I appreciate your efforts here to help people figure out how to make their joysticks work in MW5. Thank you for doing that.

That said, I believe it is up to PGI to either include joystick support in the game, or include instruction on how to make them work. Community support is great, you're an example of that. Be that as it may, it should also come from the vendor.


i did some research on ue4 and apparently it doesn't even support direct input controls out of the box. of course there are engine plugins that do (i found one for ten bucks). so if they really wanted to support di, then they would get one of those. they might be on the assumption that xinput is the only option, and certainly the people at ms and epic just love pushing that terrible api.

in my own code projects i usually just break out sdl when i want to talk to sticks, its a lot less cumbersome than some of the ms sdks. sdl sticks are a little bit more limited than di (though not as bad as xinput), but its easy to enumerate and use multiple sticks. and the cool thing about sdl is its license compatible if you link dynamically.

this is totally something pgi should fix. but i have my doubts that 2 weeks is enough time. there seems to be that control mapping was in a very preliminary state with the demo and its likely one of the things that they are still working on. so if they have a good programmer and decide to support direct input sticks, they could get it done. but i worry that they are going to cave to industry pressure to eliminate di entirely. and these kinds of workarounds are important in that scenario.

Edited by LordNothing, 01 December 2019 - 04:48 PM.


#29 Surn

    Member

  • PipPipPipPipPipPipPipPip
  • The God of Death
  • The God of Death
  • 1,073 posts
  • Twitter: Link
  • LocationSan Diego

Posted 01 December 2019 - 09:29 PM

https://github.com/O...-Configurations

Here is my input.ini for Logitech Extreme 3d pro and have some test files with more joysticks

Edited by Surn, 02 December 2019 - 04:35 PM.


#30 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 02 December 2019 - 02:09 AM

playing around with surn's config file i was able to get my ch pro throttle and fighterstick to work, though i was unable to pull the same trick on my pro pedals for some reason (it could be that its the only one without any buttons on it).

i also discovered that you can also map multiple controllers, as i was able to get both my throttle and fighter stick to work at the same time. i just had to add a second InputRemapping=... line to the file. its entirely possible that more than 2 devices are supported and it just doesnt like my pedals. here are the working mappings, granted its just the axis mappings and ive yet to do buttons. buttons seem to be working. uggh, thats a lot of code to move 24 bits of data.

[/Script/RawInput.RawInputSettings]
InputRemapping=(DeviceName="CH Fighterstick USB",VendorID="0x068E",ProductID="0xC0F3",AxisRemapping=((InAxis=GenericUSBController_Axis1,OutAxis=Axis_TorsoYaw,Offset=-0.500000,DeadZoneMin=-0.020000,DeadZoneMax=0.020000,CurvePoints=((X=1.000000,Y=1.000000),(X=0.000000,Y=0.000000),(X=-1.000000,Y=-1.000000))),(InAxis=GenericUSBController_Axis2,OutAxis=Axis_TorsoPitch,Offset=-0.500000,DeadZoneMin=-0.020000,DeadZoneMax=0.020000,CurvePoints=((X=1.000000,Y=-1.000000),(X=0.000000,Y=0.000000),(X=-1.000000,Y=1.000000)))),ButtonRemapping=((InButton=GenericUSBController_Button1,OutButtons=(Joystick_Button1)),(InButton=GenericUSBController_Button2,OutButtons=(Joystick_Button2)),(InButton=GenericUSBController_Button3,OutButtons=(Joystick_Button3)),(InButton=GenericUSBController_Button4,OutButtons=(Joystick_Button4)),(InButton=GenericUSBController_Button5,OutButtons=(Joystick_Button5)),(InButton=GenericUSBController_Button6,OutButtons=(Joystick_Button6)),(InButton=GenericUSBController_Button7,OutButtons=(Joystick_Button7)),(InButton=GenericUSBController_Button8,OutButtons=(Joystick_Button8)),(InButton=GenericUSBController_Button9,OutButtons=(Joystick_Button9)),(InButton=GenericUSBController_Button10,OutButtons=(Joystick_Button10)),(InButton=GenericUSBController_Button11,OutButtons=(Joystick_Button11)),(InButton=GenericUSBController_Button12,OutButtons=(Joystick_Button12)),(InButton=GenericUSBController_Button13,OutButtons=(Joystick_Button13)),(InButton=GenericUSBController_Button14,OutButtons=(Joystick_Button14)),(InButton=GenericUSBController_Button15,OutButtons=(Joystick_Button15)),(InButton=GenericUSBController_Button16,OutButtons=(Joystick_Button16)),(InButton=GenericUSBController_Hat1,OutButtons=(Joystick_Hat_1)),(InButton=GenericUSBController_Hat2,OutButtons=(Joystick_Hat_2)),(InButton=GenericUSBController_Hat3,OutButtons=(Joystick_Hat_3)),(InButton=GenericUSBController_Hat4,OutButtons=(Joystick_Hat_4)),(InButton=GenericUSBController_Hat5,OutButtons=(Joystick_Hat_5)),(InButton=GenericUSBController_Hat6,OutButtons=(Joystick_Hat_6)),(InButton=GenericUSBController_Hat7,OutButtons=(Joystick_Hat_7)),(InButton=GenericUSBController_Hat8,OutButtons=(Joystick_Hat_8))))
InputRemapping=(DeviceName="CH Pro Throttle USB",VendorID="0x068E",ProductID="0xC0F1",AxisRemapping=((InAxis=GenericUSBController_Axis3,OutAxis=Axis_Throttle,Offset=-0.500000,DeadZoneMin=-0.050000,DeadZoneMax=0.050000,CurvePoints=((X=1.000000,Y=-1.000000),(X=0.000000,Y=0.000000),(X=-1.000000,Y=1.000000))),(InAxis=GenericUSBController_Axis1,OutAxis=Axis_LegsRotation,Offset=-0.500000,DeadZoneMin=-0.050000,DeadZoneMax=0.050000,CurvePoints=((X=1.000000,Y=1.000000),(X=0.000000,Y=0.000000),(X=-1.000000,Y=-1.000000)))),ButtonRemapping=((InButton=GenericUSBController_Button1,OutButtons=(Joystick_Button1)),(InButton=GenericUSBController_Button2,OutButtons=(Joystick_Button2)),(InButton=GenericUSBController_Button3,OutButtons=(Joystick_Button3)),(InButton=GenericUSBController_Button4,OutButtons=(Joystick_Button4)),(InButton=GenericUSBController_Button5,OutButtons=(Joystick_Button5)),(InButton=GenericUSBController_Button6,OutButtons=(Joystick_Button6)),(InButton=GenericUSBController_Button7,OutButtons=(Joystick_Button7)),(InButton=GenericUSBController_Button8,OutButtons=(Joystick_Button8)),(InButton=GenericUSBController_Button9,OutButtons=(Joystick_Button9)),(InButton=GenericUSBController_Button10,OutButtons=(Joystick_Button10)),(InButton=GenericUSBController_Button11,OutButtons=(Joystick_Button11)),(InButton=GenericUSBController_Button12,OutButtons=(Joystick_Button12)),(InButton=GenericUSBController_Button13,OutButtons=(Joystick_Button13)),(InButton=GenericUSBController_Button14,OutButtons=(Joystick_Button14)),(InButton=GenericUSBController_Button15,OutButtons=(Joystick_Button15)),(InButton=GenericUSBController_Button16,OutButtons=(Joystick_Button16)),(InButton=GenericUSBController_Hat1,OutButtons=(Joystick_Hat_1)),(InButton=GenericUSBController_Hat2,OutButtons=(Joystick_Hat_2)),(InButton=GenericUSBController_Hat3,OutButtons=(Joystick_Hat_3)),(InButton=GenericUSBController_Hat4,OutButtons=(Joystick_Hat_4)),(InButton=GenericUSBController_Hat5,OutButtons=(Joystick_Hat_5)),(InButton=GenericUSBController_Hat6,OutButtons=(Joystick_Hat_6)),(InButton=GenericUSBController_Hat7,OutButtons=(Joystick_Hat_7)),(InButton=GenericUSBController_Hat8,OutButtons=(Joystick_Hat_8))))


those lines that mess look rather complicated but at closer examination its just a list of key-value pairs with hierarchy denoted by the (), very reminiscent of lua tables. try as i might to format them in a readable matter with the proper appliction of white space and line breaks, the game never seems to like it that way and will overwrite it with a sanitized version when you run the game. you can also set deadzones and sensitivity and other variables. even set float curves to do advanced calibration. cool beans.

important thing is that you need to look up your controller in the device manager, get its name, vid and pid (latter to can be found under hardware ids and should be four digit hex codes). much of the other data is self explanatory. the 'CurvePoints=' part is the float curve and its just a list of x,y plots, likely interpolated.

anyway to use them just get surn's file and replace the line starting in 'InputRemapping' with one, the other, or both.
upon further testing ive found that you dont need the stuff at the bottom of surn's file as i was able to remove it and the controls still worked. though it does let you tweak global deadzones and provides a reference to function names. so you can just paste the code block above into your input.ini. its set up with the stick controlling torso, and the throttle and thumbstick controlling throttle and legs. im running with an inverted y (or as i call it, 'normal').

next step is to break out my arduino joystick library and see if i can get the game to recognize my arduino as a controller. then i can put that 16-bit delta simga adc breakout board sitting in my drawer to good use, i also have some diy hall sensors that are pretty awesome. simpit here we come.

also if anyone else has a set of ch pedals, can you test this out. trying to figure out if this is a me problem or if its everyone. be sure the controller is in direct mode in your ch software if you use it and stick this in your input.ini, should make the rudder control your legsm though its not working for me for some reason dispite the other ch controllers working fine.

 
[/Script/RawInput.RawInputSettings]
InputRemapping=(DeviceName="CH Pro Pedals USB",VendorID="0x068E",ProductID="0xC0F2",AxisRemapping=((InAxis=GenericUSBController_Axis3,OutAxis=Axis_LegsRotation,Offset=-0.500000,DeadZoneMin=-0.050000,DeadZoneMax=0.050000,CurvePoints=((X=1.000000,Y=-1.000000),(X=0.000000,Y=0.000000),(X=-1.000000,Y=1.000000)))))


e: with regards to joystick combining, it seams you cant reuse button designations. so if for example you have 8 buttons on one controller and 8 buttons on another, you need to assign the first stick to buttons 1-8. and the second stick to buttons 9-16. otherwise they will have mirrored functions.

Edited by LordNothing, 02 December 2019 - 05:44 AM.


#31 Surn

    Member

  • PipPipPipPipPipPipPipPip
  • The God of Death
  • The God of Death
  • 1,073 posts
  • Twitter: Link
  • LocationSan Diego

Posted 02 December 2019 - 09:41 AM

In my testing I was using +InputMapping which should add a new item, without the + it should overwrite an existing item. So, maybe I have that relationship wrong?

Added them to my project!

https://github.com/Oncorporation/MW5Mercs-Configurations/releases/tag/v.0.2.4

Good job!

Edited by Surn, 02 December 2019 - 04:34 PM.


#32 Celtic Warrior

    Member

  • PipPipPipPipPipPipPip
  • The Death Wish
  • The Death Wish
  • 507 posts
  • LocationClan Wolf Operations - Tukayyid - Honolulu HI

Posted 02 December 2019 - 12:58 PM

Thanks for all your help its appreciated but unfortunately I still can't get mine to work even with the pictures. XOuput when running stalls my machine quite a bit and doesn't run all that well so maybe that's part of the problem.

Thanks.

#33 Eurystheus

    Member

  • PipPipPipPipPip
  • The Grizzly
  • The Grizzly
  • 131 posts

Posted 03 December 2019 - 02:27 PM

I'm using a Thrustmaster T.16000 FCS. I am able to assign buttons in MW5, works like it does in MWO.

In MWO the throttle is recognized as Joy 0 Slider 0.
I can find no way to get MW5 to recognize the slider for throttle control.

In MWO I have torso twist assigned to Joy 0 Axis X and Analog turn to Joy 0 Rot Z.
In MW5 they are the opposite. I would like to be able to change the assignments in MW5 to match MWO, but I don't see a way of doing that.

#34 Lazor Sharp

    Member

  • PipPipPipPipPipPip
  • Stone Cold
  • Stone Cold
  • 353 posts

Posted 03 December 2019 - 02:52 PM

Anyone using a Saitek X52 PRO Joystick....? would love to get mine to work as it does in MWO....

#35 Nesutizale

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Privateer
  • The Privateer
  • 3,239 posts

Posted 03 December 2019 - 03:02 PM

Also using the Thrustmaster T16k and it works for me...also I had to clear all inputs first and had to set sensitivity to 1.

#36 Mystere

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • Bad Company
  • Bad Company
  • 22,783 posts
  • LocationClassified

Posted 03 December 2019 - 03:08 PM

View PostEurystheus, on 03 December 2019 - 02:27 PM, said:

I'm using a Thrustmaster T.16000 FCS. I am able to assign buttons in MW5, works like it does in MWO.

In MWO the throttle is recognized as Joy 0 Slider 0.
I can find no way to get MW5 to recognize the slider for throttle control.

In MWO I have torso twist assigned to Joy 0 Axis X and Analog turn to Joy 0 Rot Z.
In MW5 they are the opposite. I would like to be able to change the assignments in MW5 to match MWO, but I don't see a way of doing that.


Have you tried using the TARGET software that came with your FCS to assign and/or switch axes? That is normally the easiest way to do such things when a game itself does not allow it.

But if you already have and it does not work, well that is a really big deal breaker. Posted Image

#37 Eurystheus

    Member

  • PipPipPipPipPip
  • The Grizzly
  • The Grizzly
  • 131 posts

Posted 03 December 2019 - 03:16 PM

View PostNesutizale, on 03 December 2019 - 03:02 PM, said:

Also using the Thrustmaster T16k and it works for me...also I had to clear all inputs first and had to set sensitivity to 1.

Does it recognize the slider as the throttle?

#38 Nesutizale

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Privateer
  • The Privateer
  • 3,239 posts

Posted 03 December 2019 - 03:19 PM

Haven't tried that one. All other buttons worked and I stopped there. Got to used to mouse and keyboard.

[edit]
Fired up MW5 and no I can't assign throttle.

Edited by Nesutizale, 03 December 2019 - 03:22 PM.


#39 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 16,734 posts

Posted 03 December 2019 - 05:54 PM

View PostMystere, on 03 December 2019 - 03:08 PM, said:


Have you tried using the TARGET software that came with your FCS to assign and/or switch axes? That is normally the easiest way to do such things when a game itself does not allow it.

But if you already have and it does not work, well that is a really big deal breaker. Posted Image


i haven't had luck with any virtual joystick drivers. neither the ch virtual drivers nor vjoy. dont have a thrustmaster so i cant test target, but my guess is it would be more of the same. my hunch is that its bypassing direct input entirely and going straight for the usb hid stack. but if you run your sticks in native mode, theres a chance you can get it to work with with the ini like i was able to get my ch sticks to work (but not pedals for some reason).

#40 Eurystheus

    Member

  • PipPipPipPipPip
  • The Grizzly
  • The Grizzly
  • 131 posts

Posted 06 December 2019 - 09:42 AM

I sent MWO tech support this email about my experience using my T.16000 FCS joystick with MW5. Specifically, no way to reassign the twist and turn axis, and the slider is not recognized as a throttle. I got this response back:

Thank you for taking the time to provide feedback.
The Beta build has incomplete joystick support and limited customization.
We expect to have it ready for the release.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users