Has anyone gotten their Thrustmaster HOTAS WARTHOG buttons to work

The one issue I have is most of the switches on this are off and on type. Spadnext seems to be the best choice on this because they have a off and on choice with conditions. For example, I have on switch for parking brake. If the parking break in the plane is set and if I switch ON to set it, nothing happens. However if the parking brake in the plane is not set and I switch it on to set it, it sets the brake, Same with releasing the parking brake whenI use the Off. There is s section to configure the switch either as a button or a switch

1 Like

yup
 you can filter commands to all and search for “set” it’ll give you all of the controls that you can set with an on/off switch.

I am not running Spadnext yet. I ran it on other sims like X-Plane. Is there a premade script out there for FS2020?

I’d also like to know if there are any scripts for the Hotas Warthog Throttle.

use FSUIPC7 to bind the buggons

Sorry, do you mean that this desired behaviour isn’t possible with FSCUIP7? It’s only possible with Spadnext?

I’m trying to figure out how to get my on/off switches working in the way that you’ve described, but don’t want to shell out on FSCUIP7 if it doesn’t support it.

Let me try that again. Spadnext lets me configure the switch of this device as a off on switch. Did not find a way to do that in fsuipc

1 Like

Thanks. That is what I inferred, shame!

Fsuipc assign a action when the switch is on and use the when button release for off

Here is a script to activate all the the buttons and switches of your Throttle with Target software, this solution was used in DCS and found in their forum, source,(Warthog Throttle TARGET Script with DX Outputs for All Switch and Rocker Off States - Thrustmaster - ED Forums)

“installation” instructions.

  1. Download targetdx128.zip from this thread

  2. extract the zipped file to <Program Files (x86)\Thrustmaster\TARGET\scripts> (or wherever your TARGET\scripts\ folder is located.)

  3. copy all the script (the text) in the end and create a file WarthogThrottleALLSwitchPos.tmc with notepad (you can name the file like you want, just make sure that the extension is “tmc” by saving the file as all files and not a txt)

  4. Open either TARGET GUI or TARGET Script Editor and run WarthogThrottleALLSwitchPos.tmc.

  5. In FS2020, your Throttle will be named as Thrustmaster Combined, make sure to create an empty profile for “Thrustmaster Warthog Throttle” to not interfere with “Thrustmaster combined”

Now your warthog throttle will send a unique direct-x button for every switch state (up/middle/down instead of just up and down)

//copy all the following text and create a tmc file

include “targetdx128.tmh”
int main()
{
Configure(&HCougar, MODE_EXCLUDED);
Configure(&Joystick, MODE_EXCLUDED);
Configure(&T16000, MODE_EXCLUDED);
Configure(&T16000L, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
Configure(&TFRPRudder, MODE_EXCLUDED);
Configure(&TWCSThrottle, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1;
SetKBRate(32, 50);
SetKBLayout(KB_ENG);
SetShiftButton(0, 0, 0, 0, 0, 0);
MapKey(&Throttle, SC, DX1);
MapKey(&Throttle, MSU, DX2);
MapKey(&Throttle, MSD, DX3);
MapKey(&Throttle, MSL, DX4);
MapKey(&Throttle, MSR, DX5);
MapKey(&Throttle, MSP, DX6);
MapKey(&Throttle, SPDF, DX7);
MapKey(&Throttle, SPDM, PULSE+DX8);
MapKey(&Throttle, SPDB, DX9);
MapKey(&Throttle, BSF, PULSE+DX10);
MapKey(&Throttle, BSM, PULSE+DX11);
MapKey(&Throttle, BSB, PULSE+DX12);
MapKey(&Throttle, CHF, DX13);
MapKey(&Throttle, CHM, PULSE+DX14);
MapKey(&Throttle, CHB, DX15);
MapKey(&Throttle, PSF, PULSE+DX16);
MapKey(&Throttle, PSM, PULSE+DX17);
MapKey(&Throttle, PSB, PULSE+DX18);
MapKey(&Throttle, CSU, DX19);
MapKey(&Throttle, CSD, DX20);
MapKey(&Throttle, CSL, DX21);
MapKey(&Throttle, CSR, DX22);
MapKey(&Throttle, LTB, DX23);
MapKey(&Throttle, EFLNORM, PULSE+DX24);
MapKey(&Throttle, EFLOVER, PULSE+DX25);
MapKey(&Throttle, EFRNORM, PULSE+DX26);
MapKey(&Throttle, EFROVER, PULSE+DX27);
MapKey(&Throttle, EOLIGN, DX28);
MapKey(&Throttle, EOLNORM, PULSE+DX29);
MapKey(&Throttle, EOLMOTOR, PULSE+DX30);
MapKey(&Throttle, EORIGN, DX31);
MapKey(&Throttle, EORNORM, PULSE+DX32);
MapKey(&Throttle, EORMOTOR, PULSE+DX33);
MapKey(&Throttle, APUON, PULSE+DX34);
MapKey(&Throttle, APUOFF, PULSE+DX35);
MapKey(&Throttle, LDGH, PULSE+DX36);
MapKey(&Throttle, FLAPU, DX37);
MapKey(&Throttle, FLAPM, PULSE+DX38);
MapKey(&Throttle, FLAPD, DX39);
MapKey(&Throttle, EACON, PULSE+DX40);
MapKey(&Throttle, EACOFF, PULSE+DX41);
MapKey(&Throttle, RDRNRM, PULSE+DX42);
MapKey(&Throttle, RDRDIS, PULSE+DX43);
MapKey(&Throttle, APPAT, PULSE+DX44);
MapKey(&Throttle, APAH, PULSE+DX45);
MapKey(&Throttle, APALT, PULSE+DX46);
MapKey(&Throttle, APENG, PULSE+DX47);
MapKey(&Throttle, IDLELON, PULSE+DX48);
MapKey(&Throttle, IDLERON, PULSE+DX49);
MapAxis(&Throttle, SCX, DX_XROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, SCX, 0, 0, 0, 0, 0);
MapAxis(&Throttle, SCY, DX_YROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, SCY, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_RIGHT, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_LEFT, 0, 0, 0, 0, 0);
MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
SetSCurve(&Throttle, THR_FC, 0, 0, 0, 0, 0);
}

int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);
}

I just got back off vacation and will give this s shot this afternoon. Thanks