Folks, I am hoping for some assistance. I have a Thrustmaster T.16000M joystick, which is the cheapest one I could find that had Hall sensors. I loaded the Thrustmaster TARGET software on my Windows 7 x64 computer. I have defined the buttons and axes 'S' and 'J' curves in the TARGET software. I have mapped only the axes in the MWO game options. I have ensured that the 'Relative' input option in both the TARGET software and the MWO game options is NOT selected. The problem is that when I run the TARGET configuration file and then start MWO, I find that while in a Match, my mech does not auto-center with the joystick, as I would expect with the default condition of Absolute inputs rather than Relative inputs. Currently, if I Twist my stick, the mech's torso turns as expected. However, if I then release the twist and allow it to return to its neutral position, the mech's tors remains twisted, rather than returning to neutral position. By neutral position I mean the legs and torso are aligned straight-ahead and level to the horizon. I would be very grateful for any advice anyone cares to give. Thanks!
3
Help Request To Thrustmaster Target Users
Started by Victor DeVedici, Apr 07 2013 01:16 PM
9 replies to this topic
#1
Posted 07 April 2013 - 01:16 PM
#2
Posted 07 April 2013 - 03:10 PM
Loc Nar is probably the guy you want to ask about it. Along with posts in this section of the forums, he also has posts in the Hardware and Peripherals section. He has some experience with T.A.R.G.E.T., and has developed MWO applicable scripts for it.
#3
Posted 08 April 2013 - 10:15 AM
Hi Victor,
I indeed have a useable script for the T16000, which I should really update to reflect the latest developments in MWO as well as with my own implementations of TARGET. Rather than keeping you waiting for the ver1.1 (although I did at least just update it to reflect analog turning), I have copypatad my original T16000 stuff below, which will get you going pretty quickly. I will also get to updating it to latest features and post back with that, but one of the many wonderful things about TARGET, is how easy it is to make changes once you have a functioning setup as a template.
The subject of sticks and MWO is a long winded one for me, but the short version is that I have constructed my own stick out of
a resurrected Cougar. The stick was intended for [my mechpit](http://mwomercs.com/...440-my-mechpit/), but that project stalled and it is now installed in my new mechpit, which I just started posting about, but back to your stick:
You may prefer adjustments or remap buttons, and that is easy peasy once you have the script up and running, and either I can tell you how to do it or I can just tweak it for you.
When using this stick, your kbm are still active, so you can chat if you like, or grab the mouse at any point if things get too goofy. Here is the diagram with the button mapping:
Installation instructions:
1. Open TARGET Script Editor (not GUI)
2. *click Menu and select 'new' and select TARGET .tmc file and fill in the name blank and click 'open'
3.delete entire contents of the page that comes up, and copypasta the TARGET script below in it's place
4. Save current script (click folder symbol between fwd/back arrows and joystick at upper left)
5. Run script
6. open your MWO user.cfg folder (C:\Games\Piranha Games\MechWarrior Online\user.cfg) with Notepad and add the following 2 lines:
7. close notepad/user.cfg and save edits when prompted
8. Open the MWO client and go to Menu>options and scroll down to bottom of 'configure controls' list. (be the controls are set to default at this stage)
9. click the far right cell for Throttle, and move the throttle on the stick to bind that axis; click yes when asked if you want to remap controls
10. click the far right cell for analog Turning, and twist the stick, being careful not to disturb the other axes! click yes when asked if you want to remap controls and save/exit.
11. Enjoy!
I indeed have a useable script for the T16000, which I should really update to reflect the latest developments in MWO as well as with my own implementations of TARGET. Rather than keeping you waiting for the ver1.1 (although I did at least just update it to reflect analog turning), I have copypatad my original T16000 stuff below, which will get you going pretty quickly. I will also get to updating it to latest features and post back with that, but one of the many wonderful things about TARGET, is how easy it is to make changes once you have a functioning setup as a template.
The subject of sticks and MWO is a long winded one for me, but the short version is that I have constructed my own stick out of
a resurrected Cougar. The stick was intended for [my mechpit](http://mwomercs.com/...440-my-mechpit/), but that project stalled and it is now installed in my new mechpit, which I just started posting about, but back to your stick:
You may prefer adjustments or remap buttons, and that is easy peasy once you have the script up and running, and either I can tell you how to do it or I can just tweak it for you.
When using this stick, your kbm are still active, so you can chat if you like, or grab the mouse at any point if things get too goofy. Here is the diagram with the button mapping:
Installation instructions:
1. Open TARGET Script Editor (not GUI)
2. *click Menu and select 'new' and select TARGET .tmc file and fill in the name blank and click 'open'
3.delete entire contents of the page that comes up, and copypasta the TARGET script below in it's place
4. Save current script (click folder symbol between fwd/back arrows and joystick at upper left)
5. Run script
6. open your MWO user.cfg folder (C:\Games\Piranha Games\MechWarrior Online\user.cfg) with Notepad and add the following 2 lines:
cl_joystick_throttle_range = 0 //fwd/x/reverse cl_joystick_invert_throttle = 1 //fwd=fwd
7. close notepad/user.cfg and save edits when prompted
8. Open the MWO client and go to Menu>options and scroll down to bottom of 'configure controls' list. (be the controls are set to default at this stage)
9. click the far right cell for Throttle, and move the throttle on the stick to bind that axis; click yes when asked if you want to remap controls
10. click the far right cell for analog Turning, and twist the stick, being careful not to disturb the other axes! click yes when asked if you want to remap controls and save/exit.
11. Enjoy!
//************************************************************************** // UNOFFICIAL MECHWARRIOR JOYSTICK SUPPORT // For the Thrustmaster T16000 // // // Written by Loc Nar // (http://mwomercs.com/forums/user/190978-loc-nar/) // // MechWarrior Online Joystick -> Mouse/Keyboard override // //************************************************************************** include "target.tmh" int main() { Configure(&HCougar, MODE_EXCLUDED); Configure(&Joystick, MODE_EXCLUDED); Configure(&Throttle, MODE_EXCLUDED); Configure(&LMFD, MODE_EXCLUDED); Configure(&RMFD, MODE_EXCLUDED); if(Init(&EventHandle)) return 1; SetKBRate(32, 50); SetKBLayout(KB_ENG); //////////////////////////////////////// //////MOVEMENT //////////////////////////////////////// //JOY Y MapAxis(&T16000, JOYY, MOUSE_Y_AXIS, AXIS_REVERSED, MAP_RELATIVE); SetSCurve(&T16000, JOYY, 0, 5, 0, 7, -9); //JOY X MapAxis(&T16000, JOYX, MOUSE_X_AXIS, AXIS_NORMAL, MAP_RELATIVE); SetSCurve(&T16000, JOYX, 0, 0, 0, 7, -8); //Turning MapAxis(&T16000, RUDDER, AXIS_NORMAL, MAP_RELATIVE); SetSCurve(&T16000, RUDDER, 0, 10, 0, 0, 0); //Throttle MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&T16000, THR, 0, 10, 0, 0, 0); //Jump Jets/Center Torso MapKey(&T16000, B9, SPC); //////////////////////////////////////// //////STICK MAPPING //////////////////////////////////////// //Firing Weapons MapKey(&T16000, TS1, '1'); //Fire Weapon 1 MapKey(&T16000, H1L, '2'); //Fire Weapon 2 MapKey(&T16000, H1U, '3'); //Fire Weapon 3 MapKey(&T16000, H1R, '4'); //Fire Weapon 4 MapKey(&T16000, H1D, '5'); //Fire Weapon 5 MapKey(&T16000, TS2, '6'); //Fire Weapon 6 //MapKey(&T16000, TS1, '\'); //Alpha //Targeting/Toggle ECM MapKey(&T16000, TS4, PULSE+'r'); //Display Team Info/Toggle Chainfire MapKey(&T16000, TS3, 'q'); //////////////////////////////////////// //////BASE MAPPING, Primary Functions //////////////////////////////////////// //Freelook MapKey(&T16000, B9, L_CTL); //Heat Vision MapKey(&T16000, B10, PULSE+'h'); //Night Vision MapKey(&T16000, B5, PULSE+'n'); //Zoom/Advanced Zoom MapKey(&T16000, B6, PULSE+'z'); //Jump Jets/Center Torso MapKey(&T16000, B7, SPC); ////////////////////////////////// //////Shift Layer Functions ////////////////////////////////// SetShiftButton(&T16000, B8, 0, 0, 0, 0); //Firing Weapons MapKeyIO(&T16000, TS1, USB[0x31], '1'); //Alpha Strike //Weapons List Navigation MapKeyIO(&T16000, H1L, PULSE+LARROW, '2'); //left arrow MapKeyIO(&T16000, H1U, PULSE+UARROW, '3'); //up arrow MapKeyIO(&T16000, H1R, PULSE+RARROW, '4'); //right arrow MapKeyIO(&T16000, H1D, PULSE+DARROW, '5'); //down arrow MapKeyIO(&T16000, TS2, PULSE+R_CTL, '6'); //select/deselect weapons //Toggle ECM MapKeyIO(&T16000, TS4, PULSE+'j', PULSE+'r'); //toggle ECM //Toggle Chainfire MapKeyIO(&T16000, TS3, PULSE+BSP, 'q'); //toggle chainfire //Advanced Zoom MapKeyIO(&T16000, B6, PULSE+'v', PULSE+'z'); //advanced zoom //Center Torso MapKeyIO(&T16000, B7, PULSE+'c', SPC); //center torso //Toggle Chainfire MapKeyIO(&T16000, TS3, PULSE+BSP, 'q'); //toggle chainfire ///////////////////////////////////////////////// //////BASE MAPPING. Secondary functions ///////////////////////////////////////////////// //Power MapKey(&T16000, B14, 'p'); //Battlegrid MapKey(&T16000, B15, PULSE+'b'); //Toggle Missile Doors MapKey(&T16000, B16, PULSE+'/'); //Heat Shutdown Override MapKey(&T16000, B13, 'o'); //Scoreboard MapKey(&T16000, B12, TAB); //Cockpit Light MapKey(&T16000, B11, PULSE+'.'); printf("ALL SYSTEMS NOMINAL!"); } int EventHandle(int type, alias o, int x) { DefaultMapping(&o, x); }
#4
Posted 08 April 2013 - 08:55 PM
Loc Nar, thank you very much for posting your configuration. Unfortunately, it does not resolve my issue of the mech's attitude not returning to a neutral position once the stick is allowed to return to a neutral position. I still must move the stick in the opposite direction in order to return the mech to a centered, neutral position. Thanks, anyway.
#5
Posted 08 April 2013 - 09:14 PM
Replace the section //Turning with this one, which makes that axis absolute instead of relative...
edit: or to change any axis you want to behave as you describe, change to MAP_ABSOLUTE instead of MAP_RELATIVE...
//Turning MapAxis(&T16000, RUDDER, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&T16000, RUDDER, 0, 10, 0, 0, 0);
edit: or to change any axis you want to behave as you describe, change to MAP_ABSOLUTE instead of MAP_RELATIVE...
Edited by Loc Nar, 08 April 2013 - 09:18 PM.
#6
Posted 12 April 2013 - 05:00 PM
Loc Nar, I tried your suggestion of changing the Relative string to Absolute. This, however, did not have the desired effect. I will just wait to see what support PGI provides for the game. Thanks anyway.
#7
Posted 12 April 2013 - 09:22 PM
Your welcome, but you should not be giving up so quickly. The whole point of TARGET is that it is so malleable, and it's not hard to tweak/mod it to tune it precisely to ones liking. especially now with the luxury of a training ground and the ability to esc in/out to make changes to TARGET and get right to testing them until you get it where you want. Assuming you got the absolute inputs on the axes you wanted, from there you need to play with the numbers before throwing in your towel. I am not making this up, but there is no level of support that PGI could ever hope to provide in the future that is not already at your fingertips with TARGET.
The numbers inside the SetCurve line are as follows: (L_deadzone, C_deadzone, R_deadzone, curve, scale)
Of those numbers, the ones that are important to you are the second one, C_deadzone, and the last one, scale, which are responsible for center deadzone and sensitivity. If you are using absolute inputs, I forgot to tell you to make C_deadzone value zero, since you do not want a deadzone on an absolute axis. The last number is the one that will allow you to set the sensitivity to the range you want that will offer you the best balance between range of motion and controllability. The initial values for those parameters I set for relative inputs, and will not likely be right with absolute.
Honestly, the real problem has nothing to do with PGI. It comes from using an airplane joystick who's entire design principal is engineered around restricted relative inputs and trying to use it to pilot a mech, which is designed around unrestricted absolute inputs. Simply swapping input types or playing with sensitivities or deadzones (all very easy to do with TARGET) does not address the fundamentally opposing design criteria in these two elements. This is why it is such a long winded subject for me, and there is much misconception. Short of making a gimbal for a stick that is designed around unrestricted absolute inputs, playing MWO with a stick is hard mode at best but again this is not PGI's lack of support. Be happy you picked the T16000, cause it's the cheapest/fastest route to get you right past the technical hurdles that keep most of this shrouded in mystery, and allows you to immediately sense it's not going to go well in the long term even under the best of conditions.
The numbers inside the SetCurve line are as follows: (L_deadzone, C_deadzone, R_deadzone, curve, scale)
Of those numbers, the ones that are important to you are the second one, C_deadzone, and the last one, scale, which are responsible for center deadzone and sensitivity. If you are using absolute inputs, I forgot to tell you to make C_deadzone value zero, since you do not want a deadzone on an absolute axis. The last number is the one that will allow you to set the sensitivity to the range you want that will offer you the best balance between range of motion and controllability. The initial values for those parameters I set for relative inputs, and will not likely be right with absolute.
Honestly, the real problem has nothing to do with PGI. It comes from using an airplane joystick who's entire design principal is engineered around restricted relative inputs and trying to use it to pilot a mech, which is designed around unrestricted absolute inputs. Simply swapping input types or playing with sensitivities or deadzones (all very easy to do with TARGET) does not address the fundamentally opposing design criteria in these two elements. This is why it is such a long winded subject for me, and there is much misconception. Short of making a gimbal for a stick that is designed around unrestricted absolute inputs, playing MWO with a stick is hard mode at best but again this is not PGI's lack of support. Be happy you picked the T16000, cause it's the cheapest/fastest route to get you right past the technical hurdles that keep most of this shrouded in mystery, and allows you to immediately sense it's not going to go well in the long term even under the best of conditions.
#8
Posted 13 April 2013 - 08:45 AM
TL;DR of Loc Narpost above:
MW:O is designed around the way a mouse works, not a joystick. Basically.
MW:O is designed around the way a mouse works, not a joystick. Basically.
#9
Posted 14 April 2013 - 11:41 AM
Quote
TL;DR of Loc Narpost above:
MW:O is designed around the way a mouse works, not a joystick. Basically.
MW:O is designed around the way a mouse works, not a joystick. Basically.
Close... more accurate would be:
TL;DR: MW:O is designed around unrestricted absolute inputs, not restricted relative inputs. The only known ways to achieve this type of input is a mouse, or making a joystick that satisfies this criteria of this type of input.
#10
Posted 17 December 2014 - 12:00 PM
I have Warthog Flight Stick
I wan't to try to use it instead of mouse altough I know that using mouse is superior. But how can I find what to put in SetSCurve parameters? Currently the mouse cursor moves only little in the middle of the screen
I wan't to try to use it instead of mouse altough I know that using mouse is superior. But how can I find what to put in SetSCurve parameters? Currently the mouse cursor moves only little in the middle of the screen
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users