Dual Thrustmaster 16000 FS using TARGET script issue

Hi, i was just wondering if any other CMDR has had any experience with using a dual Thrustmaster 16000m Flight sticks and having any success with running the TARGET script to improve/correct sensitivity and being able to use it with ED.

I decided to get the twin joystick setup because using the xbox controller was useless when it came to trying to hit anything using fixed weapons. I thought that a joystick would have a better analogue range and when I switched, I found that a twin joystick setup was actually more difficult to use and it took a bit of practice to get the hang of it. I still get better results with using the XBox controller. I do find that a twin joystick setup is really immersive and it is a lot more fun than an xbc and the investment was worth it.

After a lot of practice, bindings getting reconfigured and research, I realized that when using fixed weapons, that there is no significant sensitivity difference between an xbox controller and joystick. I don't know if it is just me or anyone else. So I have been trying to use the TARGET software curves mapping to fix it.

The issue is that when I run the script and then launch ED. The result I find is that ED will not recognize TARGET's virtual controller which results in being unable to use the twin setup. If I run without the script then
the dual setup is fine,that it recognizes the twin controls but minus the sensitivity settings I need which is why I wanted to convert at the start. The results is like having giant XBox controller analogue sticks that are more touchier. If this is what the result was going to be then I would have never gone this route.

I do find it hard to work out as well, if the game's ship flight assist factors were altered at all since the updates as I bought the setup at around the same time. What I do find is that when it comes to docking that there is a huge difference between the past and the present, but because of the variables, it has been difficult to tell which is which.

Anyway back to the point, I am looking to hear from anyone who has had success with running a dual Thrustmaster t16000 script in ED with the profile and bindings being recognised and the sensitivity settings being effective.
 
Well since nobody here is any help I found an excellent YouTube tutorial.

https://www.youtube.com/watch?v=otXW6sJNIns.

The only problem is that the Target curves profile will only be effective for the left-hand stick so if you want the right-hand stick to have the curve/sensitivity adjustment then unplug the LH stick instead and proceed as the instructions. (yet to be tested)

I was nearly gonna waste a lot of time and effort programming every action for the game.

Geez..this tasking and fixes are for highly trained and paid IT experts to work on, which I am not.

Shame on you Thrustmaster Corporation and to some amount of blame, Frontier Developments.

This should have been sorted out early in the process.

Now I have to do rebinds and testing. :mad:
 
Hello,

I do use twin T16000 as controls and can recommend it to anyone wanting to fly in space with 6 axis, rather than a hotas, which would be best suited for aircraft only.

Never needed to use Target software though might look into it now.

Is it worth all the bother?

Thanks in advance.
 
Tried using Target to set curves for a Warthog setup; ED could not see joystick at all. Read about a conflict so never tried again. Will watch this thread for developments.
 
Hello,

I do use twin T16000 as controls and can recommend it to anyone wanting to fly in space with 6 axis, rather than a hotas, which would be best suited for aircraft only.

Never needed to use Target software though might look into it now.

Is it worth all the bother?

Thanks in advance.

If you want to have a better result for using fixed weapons then yes it is worth it.

The workaround as suggested on the Youtube video just gives better sensitivity resolution for one joystick only. (unfortunately, I haven't found a fix to be able to include both joysticks for ED).

When creating/editing a control profile in TARGET software, do not include both, because it wont get recognised by ED as dual controls.

Thrustmaster devs really need to enable TARGET software to run more than 1 instance of TARGET so it will make a virtual controller for each joystick by running 2 profiles at the same time.

Or Frontier devs to include better sensitivity settings for ED.
 
Hi, I use Thrustmaster TARGET with dual stick, however I have one Warthog and one T16000m. My script is a customised version of Aussiedroid's Enhanced Warthog Script.

The thing to note is that in those scripts the individual peripherals are referred to with their respective hardware id, which in case of two T16000m should be identical I guess. I would however be really surprised if there was no way to configure independently different curves for different sticks.

Finally I also have issues aiming railguns with the joystick - could I ask you what kind of curve you had planned for your main stick?
 

Arguendo

Volunteer Moderator
Not exactly OT, but a slight diversion to the left;

I have an issue trying to get the T16000M FCS (HOTAS, no pedals) to work properly in Elite with TARGET. Curves aren't the issue though, but the keybinds are. For some reason, when I press the #1 key on the Throttle, TARGET registers that just fine. When I press the #1 key on the Stick however, TARGET recognizes this as pressing the #1 button on both the Stick and the Throttle. That means binding something for the #1 stick button ends up showing as Joy 1 + Joy 1 in ED.

Has anyone encountered this problem and have a fix for it? I've resorted to using Joystick Curves instead, but I'd like to get TARGET up and running if nothing less.
 
Since V.3.0.16.426 from the Target software Update note :
Updated support for the T.16000M joystick (T.A.R.G.E.T. now differentiates between right- and left-handed models, allowing for configurations combining a right-handed T.16000M + a left-handed T.16000M).

If you use Target Script :

T16000 is the right
T16000L is the left

For your sensitivity settings :

From Target Script manual P27/60 :
Code:
SetSCurve(&Joystick, JOYX,
5, //Left Deadzone set to 5%
2, //Center Deadzone set to 2%
5, //Right Deadzone set to 5%
3, //Curve set to 3
0 //Scale/zoom neutral
);

-> Change this value in the code below to match what you want (all axis for both joystick have this default value in this code):

Code:
MapAxis(&T16000, JOYX, DX_X_AXIS,    AXIS_NORMAL, MAP_ABSOLUTE);    [COLOR=#32CD32]// Set R Joystick Control X Axis[/COLOR]
SetSCurve(&T16000, JOYX,5, 2, 5, 3, 0);
MapAxis(&T16000, JOYY, DX_Y_AXIS,    AXIS_NORMAL, MAP_ABSOLUTE);    [COLOR=#32CD32]// Set R Joystick Control Y Axis[/COLOR]
SetSCurve(&T16000, JOYY, 5, 2, 5, 3, 0);
MapAxis(&T16000L, JOYX, DX_X_AXIS,    AXIS_NORMAL, MAP_ABSOLUTE);    [COLOR=#32CD32]// Set L Joystick Control X Axis[/COLOR]
SetSCurve(&T16000L, JOYX,5, 2, 5, 3, 0);
MapAxis(&T16000L, JOYY, DX_Y_AXIS,    AXIS_NORMAL, MAP_ABSOLUTE);    [COLOR=#32CD32]// Set L Joystick Control Y Axis[/COLOR]
SetSCurve(&T16000L, JOYY, 5, 2, 5, 3, 0);


For MapKey : (DXKey = DX1 -> DX32) Check Target Manual P20-P22
Code:
MapKey (&T16000,DXKey,....);
MapKey (&T16000L,DXKey,....);

MapKeyR (&T16000,DXKey,....);
MapKeyR (&T16000L,DXKey,....);

MapKeyIO (&T16000,DXKey,....);
MapKeyIO (&T16000L,DXKey,....);

MapKeyRIO (&T16000,DXKey,....);
MapKeyRIO (&T16000L,DXKey,....);

MapKeyUMD (&T16000,DXKey,....);
MapKeyUMD (&T16000L,DXKey,....);

MapKeyRUMD (&T16000,DXKey,....);
MapKeyRUMD(&T16000L,DXKey,....);

MapKeyIOUMD (&T16000,DXKey,....);
MapKeyIOUMD(&T16000L,DXKey,....);

MapKeyRIOUMD (&T16000,DXKey,....);
MapKeyRIOUMD(&T16000L,DXKey,....);

Or instead of DXKey, you can use the Target Button's Name
Code:
TS1 // The trigger
TS2, TS3, TS4 // The 3 thumb buttons
H1L, H1R, H1U, H1D // The POV Hat
B5, B6, B7, ...., B16 // The 12 buttons on the base


Hoping that help you

Edit : Check this post https://forums.frontier.co.uk/showthread.php/394813-Dual-T16000-Script
Edit2 : If you need help, PM me
 
Last edited:
I have an issue trying to get the T16000M FCS (HOTAS, no pedals) to work properly in Elite with TARGET. Curves aren't the issue though, but the keybinds are. For some reason, when I press the #1 key on the Throttle, TARGET registers that just fine. When I press the #1 key on the Stick however, TARGET recognizes this as pressing the #1 button on both the Stick and the Throttle. That means binding something for the #1 stick button ends up showing as Joy 1 + Joy 1 in ED.

This looks like an error in the TARGET configuration on your part - I cannot help you without seeing your code.

Since V.3.0.16.426 from the Target software Update note :
Updated support for the T.16000M joystick (T.A.R.G.E.T. now differentiates between right- and left-handed models, allowing for configurations combining a right-handed T.16000M + a left-handed T.16000M).

If you use Target Script :

T16000 is the right
T16000L is the left

Interesting. How does the system knows which one is the left-handed variant?
 
Not exactly OT, but a slight diversion to the left;

I have an issue trying to get the T16000M FCS (HOTAS, no pedals) to work properly in Elite with TARGET. Curves aren't the issue though, but the keybinds are. For some reason, when I press the #1 key on the Throttle, TARGET registers that just fine. When I press the #1 key on the Stick however, TARGET recognizes this as pressing the #1 button on both the Stick and the Throttle. That means binding something for the #1 stick button ends up showing as Joy 1 + Joy 1 in ED.

Has anyone encountered this problem and have a fix for it? I've resorted to using Joystick Curves instead, but I'd like to get TARGET up and running if nothing less.

In target script the T16000M FCS Throttle should be TWCSThrottle

So :

Code:
MapKey (&T16000,DXKey,....); //For Joystick Buttons
MapKey (&TWCSThrottle,DXKey,....); //For Throttle Buttons
...
 
Interesting. How does the system knows which one is the left-handed variant?

By trying? [where is it]





In T16000M Manual : That should apply in Target Script AND in Target GUI
Code:
To set the positions of the 12 buttons located on the base to right-handed mode, set theselector switch (12) located under the joystick's base to "RIGHT HANDED":
To set the positions of the 12 buttons located on the base to left-handed mode, set theselector switch (12) located under the joystick's base to "LEFT HANDED":

By switching this selector, you change the PID :
Code:
T16000    = [COLOR=#A52A2A]"VID_044F&PID_B10A"
[/COLOR]T16000L    = [COLOR=#A52A2A]"VID_044F&PID_B10B"[/COLOR]


 
Last edited:
By trying? [where is it]

In T16000M Manual :

Code:
To set the positions of the 12 buttons located on the base to right-handed mode, set theselector switch (12) located under the joystick's base to "RIGHT HANDED":

By switching this selector, you change the PID :
Code:
T16000    = [COLOR=#A52A2A]"VID_044F&PID_B10A"
[/COLOR]T16000L    = [COLOR=#A52A2A]"VID_044F&PID_B10B"[/COLOR]



/thread

This is the answer right here.
 

Arguendo

Volunteer Moderator
Can't help with GUI (never launched it) I'm sorry :(
Likewise, never used the GUI either.
Here's what appears when clicking "view script". Is this what you guys are talking about?
Code:
include "target.tmh"
int main()
{
    Configure(&HCougar, MODE_EXCLUDED);
    Configure(&Joystick, MODE_EXCLUDED);
    Configure(&Throttle, MODE_EXCLUDED);
    Configure(&T16000L, MODE_EXCLUDED);
    Configure(&LMFD, MODE_EXCLUDED);
    Configure(&RMFD, MODE_EXCLUDED);
    Configure(&TFRPRudder, MODE_EXCLUDED);
    if(Init(&EventHandle)) return 1;
    SetKBRate(32, 50);
    SetKBLayout(KB_ENG);
    SetShiftButton(0, 0, 0, 0, 0, 0);
    MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&T16000, JOYX, 0, 10, 0, 5, 0);
    MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&T16000, JOYY, 0, 10, 0, 5, 0);
    MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&T16000, RUDDER, 0, 4, 0, 2, 0);
    MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
    MapAxis(&TWCSThrottle, TRDR, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TRDR, 0, 0, 0, 0, 0);
    MapAxis(&TWCSThrottle, TTHR, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TTHR, 0, 20, 0, 0, 0);
    MapAxis(&TWCSThrottle, TANT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TANT, 0, 0, 0, 0, 0);
    MapAxis(&TWCSThrottle, TMSTX, DX_XROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TMSTX, 0, 5, 0, 5, 0);
    MapAxis(&TWCSThrottle, TMSTY, DX_YROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TMSTY, 0, 5, 0, 5, 0);
    MapAxis(&TWCSThrottle, TCSRIGHT, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TCSRIGHT, 0, 0, 0, 0, 0);
    MapAxis(&TWCSThrottle, TCSRUDDER, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TCSRUDDER, 0, 0, 0, 0, 0);
    MapAxis(&TWCSThrottle, TCSLEFT, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
    SetSCurve(&TWCSThrottle, TCSLEFT, 0, 0, 0, 0, 0);

}
int EventHandle(int type, alias o, int x)
{
    DefaultMapping(&o, x);
}
 
This is a pretty basic, non-descript starter script.

Double check your in-game bindings, your problem might be there.
 

Arguendo

Volunteer Moderator
This is a pretty basic, non-descript starter script.

Double check your in-game bindings, your problem might be there.
Just tested now, and the error seems to have cleared itself [where is it]
Gonna double-check it tonight to make sure it works. Thanks for taking a look though.
 
Back
Top Bottom