Umm... how do you switch the stick scripts over - so a "South-Paw" can use them. Left hand joystick = control axis and Right Hand Joystick = Power / thrust etc.
define JOYSTICKS_INVERTED 0
I just wished you could get a quality Left Handed HOTAS set up - but no one makes them.I'm sure they would sell enough of them, even if they charged 50% more -to justify a production run. Any Left Handed flight sim would buy it.... as no-one makes any others.
Hi,
Here is a script I wrote to use two Thrustmaster T16000 joysticks with ED:
https://www.dropbox.com/s/j6zvgt5r51uzhpb/Elite_v1.0.tmc
One advantage of using a second joystick for controlling the speed is that it's easy to find the sweet spot for maneuverability (since it's the rest position of the joystick). However, there is two problems:
- If you want to stand still for a while, or cruise at full speed, keeping the joystick pulled or pushed is tenuous.
- When you switch Flight Assist off, you generally want to drop your speed to 0 and maintain it there. Again, it's cumbersome with a joystick.
Using the Thrustmaster TARGET software, I wrote a script to correct this two issues. It has the following features:
- You set a default speed using the slider of your left joystick. This speed will be used when the joystick is at rest. (Note that currently, you can set the default speed by increment of 25% of your max speed).
- If you push or pull the left joystick, you change the speed relative to the default speed.
- You can set up a button to act as a FA toggle. Each time you turn FA Off, your default speed is set to 0. When you turn it back on, you return to your previous default speed. (Note that this feature is disabled by default, as the choice of the correct button for this is very personal)
- You can set up a button to act as a "shift" modifier. When held down, all other buttons have a different binding; this gives access to 22 functions without moving your hands off the sticks. (By default this is bound to the left trigger, but you can change or disable it)
- When you push the left joystick at maximum speed, a JOY32 button event is generated. This can be useful if you bind it to the engine boost. There is also a JOY31 button event when the stick is pulled to null speed (can be used for reverse). Note that in order to easily bind them in the ED options, these same bindings are also found on the buttons on the base of the joystick.
- I tried to make the script easy to customize. There are various options and bindings at the start of the file that you can change, without any coding knowledge.
- One drawback of using this script, is that due to what seems to be a bug in the TARGET software, the POV hat of your second joystick won't be available. I'll try to contact Thrustmaster support to see if there is a fix or workaround.
How to use the script
- First you need to install the Thrustmaster TARGET software, if it's not already done.
- Start the "TARGET Script Editor" (not the TARGET GUI). Note that you may need to start it in administrator mode, depending on your version of windows and your UAC settings.
- Obviously you need to download the script (the link is at the top of the post).
- Open the script in TARGET, go to the "tools" tab, and click the "Run" arrow in the toolbar.
- To test the script, you can click on the "Device Analyzer" button in the toolbar.
- Unfortunately, I didn't find any reliable way to tell which joystick is the left one, and which is the right one. The software pick them in an arbitrary order, and the only way to change it seems to randomly plug the joysticks to new USB slots, until they are recognize in the correct order. Stop the script and restart it to check it.
Hopefully that will be useful to some. If you have any question about it, don't hesitate to ask. If you have suggestions for new features, I'm open to suggestions (within reason ^_^).
For example I'm not sure about the default speed increment: would it be useful to be able to set the default speed more precisely? Hopefully more experienced pilots could give me some feedback on this (i.e. maybe sometime in a dogfight it would be useful to have a default speed slight above or below the sweet spot?).
Would your script above work for my Cyborg joystick or is this only for 2 T16000M joysticks?
USB HID device with hardware id "USBVID_044F&PID_B10A" cannot be found
main returned 0
Yeah, Win 8.1 RTM. Did you stick with 8.1 and figure it out, or end up reverting?
if(JOYSTICKS_INVERTED){
&Stick1 = GetIndexJoy(SelectUsbDevice("VID_044F&PID_B10A&REV_0500"));
&Stick2 = &T16000;
} else {
&Stick1 = &T16000;
&Stick2 = GetIndexJoy(SelectUsbDevice("VID_044F&PID_B10A&REV_0500"));
}
Runtime Error: Bad alias in mapButtons ( line 222 in Elite_v1.0.tmc )
With original script get this:
Running script: C:\Users\config\Documents\_ED_\Elite_v1.0.tmc
Mapped plugin module "C:\Program Files (x86)\Thrustmaster\TARGET\Plugins\sys.dll"
Compile Succeeded.
Physical USB HID devices managed by script!
Currently plugged USB HID devices[2]:
1: "T.16000M" - "USB\VID_044F&PID_B10A&REV_0500"
2: "T.16000M" - "USB\VID_044F&PID_B10A&REV_0500"
USB HID device with hardware id "VID_044F&PID_0404" cannot be found
USB HID device with hardware id "VID_044F&PID_0402" cannot be found
USB HID device with hardware id "VID_044F&PID_b351" cannot be found
USB HID device with hardware id "VID_044F&PID_b352" cannot be found
USB HID device with hardware id "VID_044F&PID_0400" cannot be found
USB HID device "T.16000M"(USB\VID_044F&PID_B10A\6&10DF5966&0&4) selected
Virtual HID devices managed by script!
Connecting virtual joystick...Done
Device name set to Thrustmaster Combined
Connecting virtual keyboard...Done
Connecting virtual mouse...Done
USB HID device "T.16000M"(USB\VID_044F&PID_B10A\6&10DF5966&0&3) selected
main returned 0
But should i start the game manually or did TARGET do this.
After start ED manually the sticks do not respond also under options in ED if i want to setup everything.
if start the original script i see under Joystick Control Panel a combined device which not react after i try to push pull or press anything on any joystick.