Jump to content

Mw5 Joystick Workarounds Thread


152 replies to this topic

#81 Warhawke_

    Member

  • Pip
  • Survivor
  • 18 posts
  • LocationThe Great State of Texas

Posted 21 December 2019 - 08:20 AM

Okay so I am answering my own question...

To map the Saitek X55 Rhino Pro......

Quote

NAME: X-55 Rhino Stick (Bulk)
VID: 0x0738
PID: 0x2215
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Joystick_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Joystick_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Joystick_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Joystick_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Joystick_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Joystick_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Joystick_Button7
BUTTON: InButton=GenericUSBController_Button8, OutButtons=Joystick_Button8
BUTTON: InButton=GenericUSBController_Button9, OutButtons=Joystick_Button9
BUTTON: InButton=GenericUSBController_Button10, OutButtons=Joystick_Button10
BUTTON: InButton=GenericUSBController_Button11, OutButtons=Joystick_Button11
BUTTON: InButton=GenericUSBController_Button12, OutButtons=Joystick_Button12
BUTTON: InButton=GenericUSBController_Button13, OutButtons=Joystick_Button13
BUTTON: InButton=GenericUSBController_Button14, OutButtons=Joystick_Button14
BUTTON: InButton=GenericUSBController_Button15, OutButtons=Joystick_Button15
BUTTON: InButton=GenericUSBController_Button16, OutButtons=Joystick_Button16
BUTTON: InButton=GenericUSBController_Hat1, OutButtons=Joystick_Hat_1
BUTTON: InButton=GenericUSBController_Hat2, OutButtons=Joystick_Hat_2
BUTTON: InButton=GenericUSBController_Hat3, OutButtons=Joystick_Hat_3
BUTTON: InButton=GenericUSBController_Hat4, OutButtons=Joystick_Hat_4
BUTTON: InButton=GenericUSBController_Hat5, OutButtons=Joystick_Hat_5
BUTTON: InButton=GenericUSBController_Hat6, OutButtons=Joystick_Hat_6
BUTTON: InButton=GenericUSBController_Hat7, OutButtons=Joystick_Hat_7
BUTTON: InButton=GenericUSBController_Hat8, OutButtons=Joystick_Hat_8
AXIS: InAxis=GenericUSBController_Axis2, OutAxis=Joystick_Axis2, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.05, DeadZoneMax=0.05, MapToDeadZone=FALSE
AXIS: InAxis=GenericUSBController_Axis3, OutAxis=Joystick_Axis3, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.2, DeadZoneMax=0.2, MapToDeadZone=TRUE
AXIS: InAxis=GenericUSBController_Axis1, OutAxis=Joystick_Axis1, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.05, DeadZoneMax=0.05, MapToDeadZone=TRUE

START_BIND
NAME: X-55 Rhino Throttle (Bulk)
VID: 0x0738
PID: 0xA215
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Throttle_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Throttle_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Throttle_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Throttle_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Throttle_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Throttle_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Throttle_Button7
BUTTON: InButton=GenericUSBController_Button8, OutButtons=Throttle_Button8
BUTTON: InButton=GenericUSBController_Button9, OutButtons=Throttle_Button9
BUTTON: InButton=GenericUSBController_Button10, OutButtons=Throttle_Button10
BUTTON: InButton=GenericUSBController_Button11, OutButtons=Throttle_Button11
BUTTON: InButton=GenericUSBController_Button12, OutButtons=Throttle_Button12
BUTTON: InButton=GenericUSBController_Button13, OutButtons=Throttle_Button13
BUTTON: InButton=GenericUSBController_Button14, OutButtons=Throttle_Button14
BUTTON: InButton=GenericUSBController_Button15, OutButtons=Throttle_Button15
BUTTON: InButton=GenericUSBController_Button16, OutButtons=Throttle_Button16
BUTTON: InButton=GenericUSBController_Button17, OutButtons=Throttle_Button17
BUTTON: InButton=GenericUSBController_Button18, OutButtons=Throttle_Button18
BUTTON: InButton=GenericUSBController_Button19, OutButtons=Throttle_Button19
BUTTON: InButton=GenericUSBController_Hat1, OutButtons=Throttle_Hat_1
BUTTON: InButton=GenericUSBController_Hat2, OutButtons=Joystick_Hat_2
BUTTON: InButton=GenericUSBController_Hat3, OutButtons=Joystick_Hat_3
BUTTON: InButton=GenericUSBController_Hat4, OutButtons=Joystick_Hat_4
BUTTON: InButton=GenericUSBController_Hat5, OutButtons=Joystick_Hat_5
BUTTON: InButton=GenericUSBController_Hat6, OutButtons=Joystick_Hat_6
BUTTON: InButton=GenericUSBController_Hat7, OutButtons=Joystick_Hat_7
BUTTON: InButton=GenericUSBController_Hat8, OutButtons=Joystick_Hat_8
AXIS: InAxis=HOTAS_XAxis, OutAxis=Throttle_Axis1, Invert=TRUE, Offset=0.9, DeadZoneMin=-0.08, DeadZoneMax=0.08, MapToDeadZone=TRUE

AXIS: InAxis=HOTAS_RZAxis, OutAxis=Throttle_Axis2, Invert=TRUE, Offset=1.0, DeadZoneMin=-0.08, DeadZoneMax=0.08, MapToDeadZone=TRUE

Edited by Warhawke_, 21 December 2019 - 08:22 AM.


#82 Peace2U

    Member

  • PipPipPipPipPipPip
  • 368 posts

Posted 23 December 2019 - 05:38 PM

Just want to thank LordNothing for providing a joystick config for me to try out.
Sorry to report, I have not been playing 5 for a while.
Been spending my free time doing the latest challenge on MWO, but will be back soon and will report the results of the config provided.
Peace

Edit:
I tried this config but it acts like the joystick is not connected.
Things I did - in order:
1. added the "StartBind" configuration provided by LordNothing utilizing my VID/PID to the end of the factory original .Remap file, while maintaining the formatting of the original .Remap file (spacing and carriage returns)
This resulted in the mech spinning in circles with no control over torso or throttle.
2. Removed all factory original lines from the .Remap file and inserted the provided config with the original formatting, then modified the formatting to match the original .Remap layout.
Both resulted in no movement of the mech via joystick.
3. Tried inserting the script provided from the github link into the "input.ini" file (which was blank to begin with)
This also resulted in no movement from the joystick.
**NOTE: the input.ini modification also had a strange effect in-game:
When you go to options and controllers/joysticks, all axis are blank.
You can change the axis's and save, but when you return to check them they are blank again.

Starting to lose patience, so I'll have a glass of wine and take another look at this later.
Peace

Edited by Peace2U, 30 December 2019 - 04:54 PM.


#83 MitchellAvellar

    Member

  • Pip
  • Ace Of Spades
  • 12 posts

Posted 24 December 2019 - 01:50 AM

Just....OMG. Did these guys seriously just release another mech game that you have to edit text files to use a joystick in? Do they even play this game? Do they understand that a whole host of people only play this game with a flightstick, because, you know, it is a mech game and we've been playing mech games for 30 years with flightsticks and would never in a million years play a mech game with a mouse and keyboard because it just plain ain't no fun.

I'ma go away on this one just like i did on MWO for the first several years until they finally got flightsticks working (sort of) on that one. SMH. It's just sad and so very disappointing.

#84 Alreech

    Member

  • PipPipPipPipPipPipPipPip
  • Little Helper
  • Little Helper
  • 1,649 posts

Posted 25 December 2019 - 01:28 PM

Lol, what a joke.
Didn't they care, was it incompetence or comes the Unreal Engine without the functions to map joystick axis and buttons without editing cryptic files ?

Whatever, here are my settings for the MAD CATZ V1 STICK.
I use it in the left hand, only for throttle and turning control, so i just need 2 axis and didn't map more.
I use YAxis for Throttle, XAxis for Legs. Sensity Ingame on max.
Needs probably more fine tuning, because the Mech sometimes stop moving even with the stick pressed fully forward.
START_BIND
NAME: MAD CATZ V1 STICK
VID: 0x0738
PID: 0x2237
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Joystick_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Joystick_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Joystick_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Joystick_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Joystick_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Joystick_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Joystick_Button7
BUTTON: InButton=GenericUSBController_Hat1, OutButtons=Joystick_Hat_1
BUTTON: InButton=GenericUSBController_Hat2, OutButtons=Joystick_Hat_2
BUTTON: InButton=GenericUSBController_Hat3, OutButtons=Joystick_Hat_3
BUTTON: InButton=GenericUSBController_Hat4, OutButtons=Joystick_Hat_4
BUTTON: InButton=GenericUSBController_Hat5, OutButtons=Joystick_Hat_5
BUTTON: InButton=GenericUSBController_Hat6, OutButtons=Joystick_Hat_6
BUTTON: InButton=GenericUSBController_Hat7, OutButtons=Joystick_Hat_7
BUTTON: InButton=GenericUSBController_Hat8, OutButtons=Joystick_Hat_8
AXIS: InAxis=HOTAS_XAxis, OutAxis=Joystick_Axis2, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.1, DeadZoneMax=0.1, MapToDeadZone=FALSE
AXIS: InAxis=HOTAS_YAxis, OutAxis=Joystick_Axis1, Invert=TRUE, Offset=0.5, DeadZoneMin=-0.3, DeadZoneMax=0.3, MapToDeadZone=TRUE


#85 DDM PLAGUE

    Member

  • PipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 151 posts
  • LocationFlorida

Posted 30 December 2019 - 06:49 PM

Heres the thing.. it shouldnt be this hard. the game was supposed to be developed by the Old MW standards..and no matter what any one tells you you dont drive a mech with a keyboard and mouse.. but they keep developing for the thumb generation,this will be the same failure as MWO, That is just the facts. I put a **** ton of money in MWO and still eneded up with a game that is half measures after all this time. I put 125 bucks into MW5 and it is already a lost coz but at least it only cost that 125 to learn that no one knows how to do Mech any more. our game is dead gents , there will be no more classic Mech battles of leagues.
the magic of mech 1 - 4 and Mercs is gone. the days of the gaming zone are over. we no longer have control. I have been playing Mechs for over 35years and it saddens me to say lets just let it die. But its time to let it die the new blood has no honor or hope
DDM_PLAGUE out

#86 Peace2U

    Member

  • PipPipPipPipPipPip
  • 368 posts

Posted 31 December 2019 - 10:58 AM

I respect DDM's opinion and can sympathize with his level of frustration.
However, I would encourage other fans of this game to reach out to the developers and convince them that they are making an error by not supporting conventional input translation into this product.
If we have enough voices, or if some voices are very loud, it has a tendency to get attention (which is what this issue lacks)
Corporate interests do not like noise, and we all know what is brown and rolls downhill.
I can envision some social networking fireworks by some clever enthusiasts that could echo to the highest hill.
If we are heard by the guys smoking the imported cigars, they will put the appropriate pressure on the right people to get-er-done.
If you do create a hashtag (like #MW5NOJOY) or any other form of protest about this, please post it on this forum so we can participate.
Peace-Out

#87 LordNothing

    Member

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

Posted 31 December 2019 - 04:24 PM

this implementation is far from ideal. you could even call it minimally viable.

but i notice from config to config that there is a lot of redundant data. for example most of the buttons are 1->1 or 2->2. only time you need to map one button index to another is when using multiple sticks. there are examples of how to do that but i think of it as an advanced feature. in most use cases it might be better just to tell the game how many buttons your stick has, how many hats, etc, and then have it generate button mappings automatically. granted this should be a shortcut, not a replacement for the system already in play.

im also finding a lot of the axis information is also redundant. for example i almost always use MapToDeadZone=TRUE because having a ledge between dead and doing something is just bad control theory. granted im sure i can find and advance use case for this feature, so you can make it a default and just allow the user to omit it. variables such as Offset need not be set in most use cases, offset for example should be a default and for all but advanced edge cases as it is almost always 0.5. DeadZoneMin and DeadZoneMax could be replaced by a single DeadZone variable then compute the min and max from that variable (+ or - DeadZone*0.5). you can still explicitly set the min and max if you need to. invert is nice to have here because i was having an issue with the invert mouse/joystick options in the game, where by if id invert my mouse it would invert my joystick too even though they had their own invert box. getting them to agree with each other was kind of hard, but thats more of a bug.

next problem is mapping one of the 14 possible axis designations to the 5 js and 5 throttle intermediates. seems it would be easier just to have an equal number of intermediates s inputs and then automatically map them. Throttle_Axis1 would always map to HOTAS_ZAxis, as that seems to be the default on most joysticks. first 3 Joystick_Axis* would map to HOTAS_XAxis, HOTAS_YAxis, and HOTAS_RZAxis. again that covers most usage cases. generic axes would be mapped to the remaining joystick axes, and then throttle axes. then you could just pick axes in the game until one works. only thing you would really need in your joystick config, in most cases, would be the joystick name and vid/pid numbers. or just scan everything and omit anything that throws an exception (which your code should handle).

Edited by LordNothing, 31 December 2019 - 04:30 PM.


#88 Peace2U

    Member

  • PipPipPipPipPipPip
  • 368 posts

Posted 31 December 2019 - 10:36 PM

I noticed in the joystick config PDF provided by PGI that there are multiple axis input types shown as HOTAS_(X,Y,Z,RZ) or GenericUSBController_(1thru10)
What is the difference in the way the game interprets them, or is there an advantage/disadvantage for one or the other?
So if I wanted to use my Sidewinder joystick (VID: 0x045E PID: 0x001B) Y-axis for throttle up/down and the X-axis for turning left/right, should I use the GenericUSBController-axis input or the HOTAS-axis input?

And I want to thank LordNothing for taking a lot of time to help many players with these joystick issues.
He is the personification of what a forum conversation should be like.
Not a place to just gripe and complain, but a venue to work things thru, share knowledge and ideas, and help others to love the game as much as I'm sure he does.
Kudos - - -

#89 Steve Jenner Hobba

    Member

  • PipPip
  • Bad Company
  • Bad Company
  • 20 posts

Posted 01 January 2020 - 01:01 PM

View PostLordNothing, on 17 December 2019 - 11:31 AM, said:


here's my ch map. its the one i use with my controllers. most of the controls are on the throttle side so it works pretty well with a mouse, the stick side controls are very rudimentary at best (pretty much weapons, zoom controls, and lance commands). i know there are a couple mappings that are wrong, i made this profile for the demo so some bindings are bad because they moved a couple keys.

ultimately it really doesnt matter how you set it up or what sticks you are using. just make sure it outputs on cm device one, axes x,y,z,r. and map the buttons directly to keyboard commands. its a lot easier than mapping it in the game.


Your Insight on doing the mapping in CH MANAGER instead of ingame proved so true.
Since you mapped directly to the Fighterstick/Throttle I've gone the length to create a command file for the CH Manager allowing a easier setup of different devices.

I've got now my Combatstick (including secondary set of commands via shift button) and the Pro Pedals mapped. Stick controls the Torso YAW/Pitch. Pedals control the legs, the toebrakes act as jumpjet / Fullstop keypress by a bit of scripting.
Throttle is either throttle wheel on stick or keyboard, right now prefer keyboard for ability to override pedals with a/d keypresses. But as time passes and I'm again familar with my footsteering this becomes less frequent.

Feels a bit like in the Novellas and is similar to my old MW4 setup.

Thank you again for the excellent work and triggering of my own thinkering with the command file.

S!

#90 LordNothing

    Member

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

Posted 01 January 2020 - 06:06 PM

View PostPeace2U, on 31 December 2019 - 10:36 PM, said:

I noticed in the joystick config PDF provided by PGI that there are multiple axis input types shown as HOTAS_(X,Y,Z,RZ) or GenericUSBController_(1thru10)
What is the difference in the way the game interprets them, or is there an advantage/disadvantage for one or the other?
So if I wanted to use my Sidewinder joystick (VID: 0x045E PID: 0x001B) Y-axis for throttle up/down and the X-axis for turning left/right, should I use the GenericUSBController-axis input or the HOTAS-axis input?

And I want to thank LordNothing for taking a lot of time to help many players with these joystick issues.
He is the personification of what a forum conversation should be like.
Not a place to just gripe and complain, but a venue to work things thru, share knowledge and ideas, and help others to love the game as much as I'm sure he does.
Kudos - - -


the axis inputs are just the axis designations the stick uses. it varies from stick to stick so on some sticks x is x, on others x is generic 1. i don't think they behave any differently. if you cant make your x work try generic 1 and vise versa, or just try every possible in axis till you find one that works. just make sure the out axis is mapped to something in game and that sensitivity is nonzero.

there may be a difference in the way the output axes work, throttles may behave differently from joystick axes. but im not 100% sure about that.

Edited by LordNothing, 01 January 2020 - 06:07 PM.


#91 Mystere

    Member

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

Posted 02 January 2020 - 04:55 PM

View PostPeace2U, on 31 December 2019 - 10:58 AM, said:

However, I would encourage other fans of this game to reach out to the developers and convince them that they are making an error by not supporting conventional input translation into this product.


Here is the rub: We should not be doing this in 2020! For crying out loud, what was PGI thinking in not including something that is more basic than basic? <smh>

View PostLordNothing, on 31 December 2019 - 04:24 PM, said:



this implementation is far from ideal. you could even call it minimally viable.


I almost cried … almost. However, I just had a new case of bubbly delivered that I will start drinking instead.

Edited by Mystere, 02 January 2020 - 04:57 PM.


#92 Warhawke_

    Member

  • Pip
  • Survivor
  • 18 posts
  • LocationThe Great State of Texas

Posted 07 January 2020 - 11:36 AM

Okay here is my Siatek x55 Rhino pro updated HOTAS throttle, I am still refining this and will soon offer foot Rudders as of now the torso is controlled by the stick rudder. enjoy!

NAME: X-55 Rhino Stick (Bulk)
VID: 0x0738
PID: 0x2215
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Joystick_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Joystick_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Joystick_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Joystick_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Joystick_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Joystick_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Joystick_Button7
BUTTON: InButton=GenericUSBController_Button8, OutButtons=Joystick_Button8
BUTTON: InButton=GenericUSBController_Button9, OutButtons=Joystick_Button9
BUTTON: InButton=GenericUSBController_Button10, OutButtons=Joystick_Button10
BUTTON: InButton=GenericUSBController_Button11, OutButtons=Joystick_Button11
BUTTON: InButton=GenericUSBController_Button12, OutButtons=Joystick_Button12
BUTTON: InButton=GenericUSBController_Button13, OutButtons=Joystick_Button13
BUTTON: InButton=GenericUSBController_Button14, OutButtons=Joystick_Button14
BUTTON: InButton=GenericUSBController_Button15, OutButtons=Joystick_Button15
BUTTON: InButton=GenericUSBController_Button16, OutButtons=Joystick_Button16
BUTTON: InButton=GenericUSBController_Hat1, OutButtons=Joystick_Hat_1
BUTTON: InButton=GenericUSBController_Hat2, OutButtons=Joystick_Hat_2
BUTTON: InButton=GenericUSBController_Hat3, OutButtons=Joystick_Hat_3
BUTTON: InButton=GenericUSBController_Hat4, OutButtons=Joystick_Hat_4
BUTTON: InButton=GenericUSBController_Hat5, OutButtons=Joystick_Hat_5
BUTTON: InButton=GenericUSBController_Hat6, OutButtons=Joystick_Hat_6
BUTTON: InButton=GenericUSBController_Hat7, OutButtons=Joystick_Hat_7
BUTTON: InButton=GenericUSBController_Hat8, OutButtons=Joystick_Hat_8
AXIS: InAxis=GenericUSBController_Axis2, OutAxis=Joystick_Axis3, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.05, DeadZoneMax=0.05, MapToDeadZone=FALSE
AXIS: InAxis=GenericUSBController_Axis3, OutAxis=Joystick_Axis2, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.2, DeadZoneMax=0.2, MapToDeadZone=TRUE
AXIS: InAxis=GenericUSBController_Axis1, OutAxis=Joystick_Axis1, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.05, DeadZoneMax=0.05, MapToDeadZone=TRUE

START_BIND
NAME: Rhino X-55 Throttle
VID: 0x0738
PID: 0xA215
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Throttle_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Throttle_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Throttle_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Throttle_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Throttle_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Throttle_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Throttle_Button7
BUTTON: InButton=GenericUSBController_Button8, OutButtons=Throttle_Button8
BUTTON: InButton=GenericUSBController_Button9, OutButtons=Throttle_Button9
BUTTON: InButton=GenericUSBController_Button10, OutButtons=Throttle_Button10
BUTTON: InButton=GenericUSBController_Button11, OutButtons=Throttle_Button11
BUTTON: InButton=GenericUSBController_Button12, OutButtons=Throttle_Button12
BUTTON: InButton=GenericUSBController_Button13, OutButtons=Throttle_Button13
BUTTON: InButton=GenericUSBController_Button14, OutButtons=Throttle_Button14
BUTTON: InButton=GenericUSBController_Button15, OutButtons=Throttle_Button15
BUTTON: InButton=GenericUSBController_Button16, OutButtons=Throttle_Button16
BUTTON: InButton=GenericUSBController_Button17, OutButtons=Throttle_Button17
BUTTON: InButton=GenericUSBController_Button18, OutButtons=Throttle_Button18
BUTTON: InButton=GenericUSBController_Button19, OutButtons=Throttle_Button19
BUTTON: InButton=GenericUSBController_Button20, OutButtons=Throttle_DPad1_Up
BUTTON: InButton=GenericUSBController_Button21, OutButtons=Throttle_DPad1_Right
BUTTON: InButton=GenericUSBController_Button22, OutButtons=Throttle_DPad1_Down
BUTTON: InButton=GenericUSBController_Button23, OutButtons=Throttle_DPad1_Left
BUTTON: InButton=GenericUSBController_Button24, OutButtons=Throttle_DPad2_Up
BUTTON: InButton=GenericUSBController_Button25, OutButtons=Throttle_DPad2_Right
BUTTON: InButton=GenericUSBController_Button26, OutButtons=Throttle_DPad2_Down
BUTTON: InButton=GenericUSBController_Button27, OutButtons=Throttle_DPad2_Left
BUTTON: InButton=GenericUSBController_Button28, OutButtons=Throttle_Hat1
BUTTON: InButton=GenericUSBController_Button29, OutButtons=Throttle_Hat2
BUTTON: InButton=GenericUSBController_Button30, OutButtons=Throttle_Hat3
BUTTON: InButton=GenericUSBController_Button31, OutButtons=Throttle_Hat4
AXIS: InAxis=HOTAS_XAxis, OutAxis=Throttle_Axis1, Invert=TRUE, Offset=0.5, DeadZoneMin=-0.08, DeadZoneMax=0.08, MapToDeadZone=TRUE
AXIS: InAxis=HOTAS_YAxis, OutAxis=Throttle_Axis2, Invert=TRUE, Offset=0.5, DeadZoneMin=-0.08, DeadZoneMax=0.08, MapToDeadZone=TRUE
AXIS: InAxis=HOTAS_ZAxis, OutAxis=Throttle_Axis3, Invert=FALSE, Offset=0.5, DeadZoneMin=-0.00, DeadZoneMax=0.00, MapToDeadZone=FALSE
AXIS: InAxis=HOTAS_RXAxis, OutAxis=Throttle_Axis4, Invert=FALSE, Offset=0.5, DeadZoneMin=-0.00, DeadZoneMax=0.00, MapToDeadZone=FALSE
AXIS: InAxis=HOTAS_RYAxis, OutAxis=Throttle_Axis5, Invert=FALSE, Offset=0.5, DeadZoneMin=-0.00, DeadZoneMax=0.00, MapToDeadZone=FALSE

#93 cx5

    Member

  • PipPipPipPipPip
  • 136 posts
  • LocationHong Kong

Posted 07 January 2020 - 07:50 PM

View PostAlreech, on 25 December 2019 - 01:28 PM, said:

Lol, what a joke.
Didn't they care, was it incompetence or comes the Unreal Engine without the functions to map joystick axis and buttons without editing cryptic files ?

Whatever, here are my settings for the MAD CATZ V1 STICK.
I use it in the left hand, only for throttle and turning control, so i just need 2 axis and didn't map more.
I use YAxis for Throttle, XAxis for Legs. Sensity Ingame on max.
Needs probably more fine tuning, because the Mech sometimes stop moving even with the stick pressed fully forward.
START_BIND
NAME: MAD CATZ V1 STICK
VID: 0x0738
PID: 0x2237
BUTTON: InButton=GenericUSBController_Button1, OutButtons=Joystick_Button1
BUTTON: InButton=GenericUSBController_Button2, OutButtons=Joystick_Button2
BUTTON: InButton=GenericUSBController_Button3, OutButtons=Joystick_Button3
BUTTON: InButton=GenericUSBController_Button4, OutButtons=Joystick_Button4
BUTTON: InButton=GenericUSBController_Button5, OutButtons=Joystick_Button5
BUTTON: InButton=GenericUSBController_Button6, OutButtons=Joystick_Button6
BUTTON: InButton=GenericUSBController_Button7, OutButtons=Joystick_Button7
BUTTON: InButton=GenericUSBController_Hat1, OutButtons=Joystick_Hat_1
BUTTON: InButton=GenericUSBController_Hat2, OutButtons=Joystick_Hat_2
BUTTON: InButton=GenericUSBController_Hat3, OutButtons=Joystick_Hat_3
BUTTON: InButton=GenericUSBController_Hat4, OutButtons=Joystick_Hat_4
BUTTON: InButton=GenericUSBController_Hat5, OutButtons=Joystick_Hat_5
BUTTON: InButton=GenericUSBController_Hat6, OutButtons=Joystick_Hat_6
BUTTON: InButton=GenericUSBController_Hat7, OutButtons=Joystick_Hat_7
BUTTON: InButton=GenericUSBController_Hat8, OutButtons=Joystick_Hat_8
AXIS: InAxis=HOTAS_XAxis, OutAxis=Joystick_Axis2, Invert=FALSE, Offset=-0.5, DeadZoneMin=-0.1, DeadZoneMax=0.1, MapToDeadZone=FALSE
AXIS: InAxis=HOTAS_YAxis, OutAxis=Joystick_Axis1, Invert=TRUE, Offset=0.5, DeadZoneMin=-0.3, DeadZoneMax=0.3, MapToDeadZone=TRUE


I need exactly same but for TWCS alone without the T16000m,

Frustrating to say only Rocker Axis to rotate leg is not working, every other buttons works. Very annoying.

Edit = the ministick hasn't been tried on manual edit setup, would be good as a FREE-LOCK, i.e. running from being shot, torso twist to max as shield and free-lock back to see incoming fire.

Some mechs do not have side windows, can't see outside, like Shadow-Hawk, what a drag.

Mech design is so game and in-logical to possible real word requirements.

Edited by cx5, 07 January 2020 - 07:55 PM.


#94 cx5

    Member

  • PipPipPipPipPip
  • 136 posts
  • LocationHong Kong

Posted 08 January 2020 - 06:58 AM

OK, solved, solution for thurstmaster TWCS standalone unit without joystick for ROCKER axis to rotate leg is

AXIS: InAxis=HOTAS_RzAxis, OutAxis=Throttle_Axis2, Invert=FALSE, Offset=-0.499, DeadZoneMin=0, DeadZoneMax=0.05, MapToDeadZone=TRUE

Sensitivity must be maximum = 1, set in game, not editable in file.

Explanation and experience sharing.

RzAxis is the rocker axis for TWCS.
Deadzone play extremely important role, wrong settings cause leg to rotate right non stop, or not rotate at all. If you do not use my deadzone examples, you will experience completely different results.

Offset=-0.499 is currently best sweet spot. On firestarter mech stationary anchor rotatation one round 360 degrees test speed, right side 3.7 seconds full circle, left side 3.7 seconds full circle. Perfect.

If both deadzonemin and max = zero, leg will auto rotate right non stop very very slowly. Hence max need 0.05 tiny bit more than zero. It only happens after rocker has been used once. i.e. game start no problem, touch rocker then leg auto rotate and not recoverable, very annoying.

Else example when deadzonemin=0, max=0.5(too much)
when
offset=-0.44 left rotation 4.1 seconds, right rotation 3.7 seconds. Rotation speed not balanced.
offset=-0.42 left rotation 4.3 seconds, right rotation 3.6 seconds.
offset=-0.4 left rotation 4.5 seconds, right rotation 3.6 seconds.
offset=-0.1 will auto rotate leg right side fast
offset>0 will auto rotate leg right side very fast
offset>1 will auto rotate leg right side very very fast
you get the point.

GLGGHF mechwarriors

#95 LordNothing

    Member

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

Posted 09 January 2020 - 10:45 PM

i think it goes like this. i dont have the code so i cant be 100% sure but this is what i think happens.

mw5 gets a calibrated axis and maps it in the range 0..1

if the axis is inverted it is multiplied by -1 at this point (its now in a rage -1..0).

the axis value is then added to the offset value:
normal: 0 + -0.5 = -0.5, 1 + -0.5 = 0.5
inverted: -1 + 0.5 = -0.5, 0 + 0.5 = 0.5
in either case axis is now in the range -0.5..0.5 with the center being 0. other offset values use the same math but result in a different ranges. i think this is scaled out to the final range (probably -1..1) later after the deadzones are applied.

now dead zones are applied relative to the zero point. you explicitly set the range of the dead bar. i think the only requirement here is min < max. the game may flip them if its wrong, or it could put the deadzone at the extremities instead of the middle (sometimes useful on some throttles), or it could result in undefined behavior. i haven't tried it so idk.

i believe some scaling is now done on the data to get it into a more useful range. this is also where map to deadzone comes into play. say your value is positive at this point. if MapToDeadzone = true then that is used as the low point, otherwise 0 is used. the maximum possible value is used as the high point. with these two values, and the desired range, you can just do a lerp to get the final value. same goes for negative values, except the minimum possible value and minimum deadzone (or 0) are used.

Edited by LordNothing, 09 January 2020 - 10:48 PM.


#96 Tarzan In Can

    Rookie

  • Ace Of Spades
  • Ace Of Spades
  • 2 posts

Posted 10 January 2020 - 09:45 AM

Using Thrustmaster 16000 joystick plus mouse. X axis turns, Y axis is throttle, disabled Z axis: heres the mapping:

AXIS: InAxis=HOTAS_XAxis, OutAxis=Joystick_Axis3, Invert=FALSE, Offset=-0.498039, DeadZoneMin=-0.1, DeadZoneMax=0.1, MapToDeadZone=TRUE
AXIS: InAxis=HOTAS_YAxis, OutAxis=Throttle_Axis1, Invert=TRUE, Offset=0.5, DeadZoneMin=-0.08, DeadZoneMax=0.08, MapToDeadZone=TRUE

All apologies if this is old news. Took a while to get it right. So easy to setup in MWO.

#97 TIMBERWOLF ALPHA

    Rookie

  • 2 posts
  • Locationredding ca

Posted 13 January 2020 - 11:54 PM

help!!! I have the Saitek X45 HOTAS


and have tried several different fixes to the HOTAS file with no luck, there is not a complete working X45 HOTAS remap that I can find, my mech just looks up at the sky, if you have a workaround, Please, help, I can add my device ID's and paste it to the correct file location, thank you in advance for any help,


Timberwolf.

Edited by TIMBERWOLF ALPHA, 13 January 2020 - 11:55 PM.


#98 Celtic Warrior

    Member

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

Posted 14 January 2020 - 06:04 PM

Any update on JS support? Still can't get it to work.

#99 cx5

    Member

  • PipPipPipPipPip
  • 136 posts
  • LocationHong Kong

Posted 15 January 2020 - 04:54 PM

View PostTIMBERWOLF ALPHA, on 13 January 2020 - 11:54 PM, said:

help!!! I have the Saitek X45 HOTAS


and have tried several different fixes to the HOTAS file with no luck, there is not a complete working X45 HOTAS remap that I can find, my mech just looks up at the sky, if you have a workaround, Please, help, I can add my device ID's and paste it to the correct file location, thank you in advance for any help,


Timberwolf.


Hi, saw you post double, must be desperate, hence I put my bet on these advice.

1st I assume you managed to find your VIDandPID thing, no instructions from me.

2nd, set deadzone to min -0.01 and max 0.01, and forever keep this, don't change anymore, PROBABLY. Else you must find/solve the deadzone first before attempting axis. This should solve your mech looking up in the sky. Or I should say deadzone is the primary solution to solve mech looking into sky only. if I have to guess other min max, based on @LordNothing share info,

combinations min max
a) -0.01, 0.01
Posted Image 0, 1
c) -1, 0

based on 1st deadzone assumed solved, may be you see no effect in game, but in reality it might solve something, e.g. in my case solved the leg auto rotate right side non stop. So it looks like doing nothing, but actually solved, then need below 3rd step to fully appear.

3rd=final find your axis and link to mw5, i.e. my case was rocker = RZaxis, hence map to whatever in mw5 e.g. throttle axis 2, and finally in game select throttle axis 2.

4th = But the leg still does not rotate by rocket, only NUGDEs = moves tiny bit then stopped. Why? Because in game sensitivity is zero, got to push it all the way right full bar to number 1.

As you see, just to solve a rocker rotate leg must set 4 different things and if one wrong, it appears totally not working. LordNothing's advice of DEADZONE is paramount is very real very important step 1.

5th = repeat 3rd steps for other keys also.

but assuming if VID and PID is correct, then you should be able to map the key in game without needing to edit the file, if this case CANNOT be achieved, then don't bother my steps 2nd, 3rd and 4th, then I don't know what to advice.

process of elimination, good luck.

Edited by cx5, 15 January 2020 - 05:03 PM.


#100 cx5

    Member

  • PipPipPipPipPip
  • 136 posts
  • LocationHong Kong

Posted 15 January 2020 - 04:59 PM

View PostCeltic Warrior, on 02 December 2019 - 12:58 PM, said:

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.


Hi, from my experience and guesses, this problem is deadzone, try above 3 combinations I gave to timberwolf.

big notification reminder, if it NUDGES = moves a tiny bit but stopped, means the key map/axis link is correct but deadzone in edit file is wrong and sensitivity in game setting is wrong.





2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users