Jump to content

Here one solution to most warthog 3-way switch, fingerlift and TDC axis problems


Recommended Posts

Heres a warthog TARGET script that will do the following:

 

Every position of every switch on the throttle unit is mapped, even spring loaded ones returning to middle. DCS will see a joystick button being held down in every position of every switch. (With one exception, i did not find a reference to L/G WRN button when it is not pushed down, this button sends a button press only when pushed, not when letting go).

 

Keep in mind that if you are binding a spring loaded button you have to hold it down when you click OK in the options because when you let go of it, it will change to a button that reflects the position where button spring returns it.

 

This profile also converts the TDC hat to joystick buttons so you can map it to the F18. You can return it to a regular axis hat by removing bottom 2 "KeyAxis" lines from the script.

 

And a tip for fingerlift/afterburner problem: Map the spring loaded china-hat middle position or maybe AP DIS to fingerlift, that way your fingerlift is always up when you are not actively pushing the button :thumbup:

 

Also, when active, the script will replace the original seperate warthog joystick and throttle controllers so DCS will only see a single "virtual controller", this way when you mess around with the script it will not tamper your original warthog keybinds in any way.

 

 

In addition to my attached profile file you will need to extract this "120 button mod" to your C:\Program Files (x86)\Thrustmaster\TARGET\scripts folder. https://forums.eagle.ru/showthread.php?p=2855428

 

1: Install the above file

2: Run my target profile script

3: Rock on!

To be clear, this is used with the TARGET Script program, not the GUI program. I'm figuring out how to make a shortcut that will automatically activate the profile and start DCS to simplify things, will update when i figure it out.

 

 

Changelog:

 

V2: Joystick and throttle sharing same hats and buttons fixed.

 

Joystick binds map:

 

 

TG1, DX1 Trigger stage 1

TG2, DX6 Trigger stage 2

S1, DX5 Master mode switch

S2, DX2 Weapon release

S3, DX3 NWS button

S4, DX4 Lever

H1U, DXHATUP Trim hat

H1D, DXHATDOWN

H1L, DXHATLEFT

H1R, DXHATRIGHT

H2U, DX7 TMS Hat

H2D, DX9

H2L, DX10

H2R, DX8

H3U, DX11 DMS Hat

H3D, DX13

H3L, DX14

H3R, DX12

H4U, DX15 CMS Hat

H4D, DX17

H4L, DX18

H4R, DX16

H4P, DX19

SC, DX20 Slew Control click

MSP, DX21 Mic Switch

MSU, DX22

MSR, DX23

MSD, DX24

MSL, DX25

SPDF, DX26 Speedbrake Switch forwad

SPDB, DX27 Speedbrake switch back

BSF, DX28 Boat Switch forward

BSB, DX29 Boat Switch back

CHF, DX30 China Hat forward

CHB, DX31 China Hat back

PSF, DX32 Pinky Switch forward

PSB, DX33 Pinky Switch backward

LTB, DX34 Left Throttle Button

EFLNORM, DX35 Eng fuel norm left

EFRNORM, DX36 Eng fuel norm right

EOLMOTOR, DX37 Engine Oper Motor/Norm Switches

EORMOTOR, DX38 Eng fuel motor left

APUON, DX39 APU Start/Off Switch

LDGH, DX40 L/G WRN Landing Gear Warning Silence

FLAPU, DX41 Flaps Up/Down

FLAPD, DX42 Eng fuel pd left

EACON, DX43 EAC On

RDRNRM, DX44 RDR/Norm

APENG, DX45 AP Engage/disengage button down

APPAT, DX46 AP Path

APALT, DX47 AP ALT

IDLELON, DX48 Throttle cutoff left

IDLERON, DX49 Throttle cutoff right

EOLIGN, DX50 Eng oper ign L

EORIGN, DX51 Eng oper ign R

EFLOVER, DX52 Eng fuel override left

EFROVER, DX53 Eng fuel override right

EOLNORM, DX54 Eng oper norm left

EORNORM, DX55 Eng oper norm right

PSM, DX56 Pinkie switch middle

BSM, DX57 Boat switch middle

CHM, DX58 China hat middle

SPDM, DX59 Speedbrake Switch Middle

APUOFF, DX60 APU Off

FLAPM, DX61 Flaps middle

EACOFF, DX62 EAC Off

RDRDIS, DX63 RDR/DIS

APDIS, DX64 AP Engage/disengage button up

APAH, DX65 AP ALT/HDG

CSU, DX66 Coolie switch

CSR, DX67

CSD, DX68

CSL, DX69

SCX, DX100, DX101

SCY, DX102, DX103

 

Warthog_BindAll_dx128_V2.rar


Edited by Grodin

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

Why you need fingerlift mapped?

I use ab and idle detent and all works good

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  Valve Index 🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, Virpil Alpha Grip, Virpil CM3 Throttle + Control Panel 2, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

This is brilliant. Thanks very much.

 

 

Can you tell me how exactly to map the Throttles for Idle/Cutoff and the finger pulls. Mine are always out of sync when I start cold and dark.

 

Same here!

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Why you need fingerlift mapped?

I use ab and idle detent and all works good

 

 

Atleast i'm unable to go full afterburner on carrier launch unless fingerlift is being pressed. So i configured it to be up all the time.

 

 

 

Can you tell me how exactly to map the Throttles for Idle/Cutoff and the finger pulls. Mine are always out of sync when I start cold and dark.[/Quote]

 

idle/cutoff doesnt care about fingerlift as far as i've noticed, you just bind the left and right idle/cutoff commands in DCS to the buttons that get pushed down inside the throttle when you pull the throttles back over idle detent, pulling the warthog throttle back over the idle lift detent actually registers as a button being pushed.

 

 

Remember to enable "Sync hotas" from options so the game matches all your buttons and switches like they are in the joystick.

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

you just bind the left and right idle/cutoff commands in DCS to the buttons that get pushed down inside the throttle when you pull the throttles back over idle detent..

 

So what is being mapped, the idle position or the cuttoff position ?

Link to comment
Share on other sites

Why you need fingerlift mapped?

I use ab and idle detent and all works good

 

I have the HOTAS Warthog, how exactly do I use afterburner on carrier launch?

Asus ROG Maximus X Apex//Core I7 8700K @ 5.3Ghz //32GB DDR4 RAM//Asus 3090 RTX//4K monitor w/ TrackIR 5

 

 

 

Link to comment
Share on other sites

I don't use TARGET at all for my TM Warthog HOTAS only the in-game GUI, so could the technique described in the post below be acceptable to set up the 3-way switches? (Flap lever, boat switch, speed brake switch etc).

 

https://r.tapatalk.com/shareLink?url=https%3A%2F%2Fforums%2Eeagle%2Eru%2Fshowthread%2Ephp%3Ft%3D89226&share_tid=89226&share_fid=74365&share_type=t

 

Cheers!

 

 

Sent from my SM-G950F using Tapatalk

W10 Home 64Bit, Intel Skylake I5 6600K 3.50GHz, ASUS ROG Stryx Z270F MoBo, 32GB G.Skill RipJaws V DDR4 3200 RAM, Samsung 960 Pro 512GB M.2 SSD (OS), Samsung 850 Pro 512GB SSD, 2TB Seagate SDHD, 2TB WD Green HDD, GALAX GTX GeForce 1070 EXOC Sniper White 8GB VRAM

Link to comment
Share on other sites

Atleast i'm unable to go full afterburner on carrier launch unless fingerlift is being pressed. So i configured it to be up all the time.

 

 

I hadn't noticed that ! On an airfield takeoff, it doesn't matter what position the finger pulls are, you always get AB light off. But on the carrier, you dont get AB unless you have the finger pulls up

Link to comment
Share on other sites

So what is being mapped, the idle position or the cuttoff position ?

 

 

Neither actually!

 

 

You want to map the command that is called "Throttle Left OFF/IDLE" and "Throttle Right OFF/IDLE". This makes the throttles go off when you lift the throttles back over idle detent, and it makes them go to idle when you push them forward over the detent to idle.

 

 

Basically it locks the throttles to off position when it detects the switches inside the throttle being pushed (when you pull back over detent) and release them idle if not. Just need to have hotas sync option enabled for it to work.

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

Neither actually!

 

 

You want to map the command that is called "Throttle Left OFF/IDLE" and "Throttle Right OFF/IDLE". This makes the throttles go off when you lift the throttles back over idle detent, and it makes them go to idle when you push them forward over the detent to idle.

 

 

Basically it locks the throttles to off position when it detects the switches inside the throttle being pushed (when you pull back over detent) and release them idle if not. Just need to have hotas sync option enabled for it to work.

 

So when you get into the cockpit to start cold and dark, with your throttles in the off/cutoff position, can you do a start and move them to idle and do a successful start because I have to move them to idle and then back to cutoff to get them synced.

 

In other words they are not synced when I first start.

 

Also, how do you have the launch bar mapped. I cannot find a separate launch bar down or up command, only a launch bar toggle command. I have the same syncing problem with it as well.

 

And yes i have Hotas sync option enabled


Edited by speedbird5
Link to comment
Share on other sites

Hi, guys! I forgot to tell you, I noticed when I am on the ground with the F/A-18 stopped, the left vertical tail have the rudder deflected to the right, and the right vertical tail have the rudder deflected to the left. I don’t see the hotas sync option, do I have to install the special software to see it? Thanks!!

 

Cheers,

Vincent

Link to comment
Share on other sites

MFD

 

hi there,

 

it is a really nice solution for All the switches ! thx a lot !

However, when using your script i lose my 2 MFD/ they doesn't show anymore.

 

and when i try tto assign each button the 2 mfd share the same number: Bouton 1 on right mfd and button 1 on the left mfd are the same. so i can only configure one

 

Any idea ?

 

regards

alaryk

 

ps:sorry for my english


Edited by alaryk
Link to comment
Share on other sites

So when you get into the cockpit to start cold and dark, with your throttles in the off/cutoff position, can you do a start and move them to idle and do a successful start because I have to move them to idle and then back to cutoff to get them synced.

 

In other words they are not synced when I first start.

 

Also, how do you have the launch bar mapped. I cannot find a separate launch bar down or up command, only a launch bar toggle command. I have the same syncing problem with it as well.

 

And yes i have Hotas sync option enabled

 

 

Yes, i start on the ramp with cold plane, and when i push throttles forward they move to idle from off position without having to go back and forth.

 

 

I don't have launchbar mapped, catapult launch key seems to work it automatically.

 

 

 

 

hi there,

 

it is a really nice solution for All the switches ! thx a lot !

However, when using your script i lose my 2 MFD/ they doesn't show anymore.

 

and when i try tto assign each button the 2 mfd share the same number: Bouton 1 on right mfd and button 1 on the left mfd are the same. so i can only configure one

 

Any idea ?

 

regards

alaryk

 

ps:sorry for my english

 

 

 

Buttons 77 and 78 have the same output in the script, theres a typo, to fix it you can change the following line in the 120 button hack:

 

"define DX78 3076" to "define DX78 3077"

 

otherwise i have no idea about MFD, unfortunately i dont have those


Edited by Grodin

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

Hi Grodin,

 

 

The F18 now has Axes that can be assigned to the throttle joystick for the TDC function.

 

If users still want to use your script and use the axes for TDC control, they have to remove the bottom 2 "KeyAxis" lines from the script AND change the two entries:

 

MapAxis(&Throttle, SCX, DX_XROT_AXIS);

MapAxis(&Throttle, SCY, DX_YROT_AXIS);

 

to:

 

MapAxis(&Throttle, SCX, DX_X_AXIS);

MapAxis(&Throttle, SCY, DX_Y_AXIS);

 

Otherwise the normal axis function will not work.

 

Perhaps you should edit your original post to reflect this.


Edited by speedbird5
Link to comment
Share on other sites

For those wishing to autostart DCS after starting the script, add the following to the start of the file as below changing the DCS directory location as per your system. Note the double back slashes !!

 

 

include "targetdx128.tmh"

 

//program startup

int main()

{

 

 

if(Init(&EventHandle)) return 1; // declare the event handler, return on error

 

//add initialization code here

 

 

system("spawn -w "C:\\DCS World OpenBeta\" "C:\\DCS World OpenBeta\\bin\\DCS.exe\"");

 

 

MapAxis(&Joystick, JOYX, DX_X_AXIS);

MapAxis(&Joystick, JOYY, DX_Y_AXIS);

MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS); ............

Also, I tried to get TrackIR to start by adding the following, but I could not get it to work.

 

 

system("spawn -w "C:\\Program Files (x86)\\NaturalPoint\\TrackIR5\" "C:\\Program Files (x86)\\NaturalPoint\\TrackIR5\\TrackIR5.exe\"");
If anyone has any success in getting TrackIR to start by running the script then would appreciate you posting a solution.
Edited by speedbird5
Link to comment
Share on other sites

I only want to map my TM Throttle.

How do I change the script so that it only uses the TM Throttle.

At the moment I am getting a lot of devices failing to initialize.

 

 

Many bugs and problems with TARGET. Even the saitek profiler does better job than this.

 

 

I would guess you need to tinker with the hid.tmh file to only map the throttle, i dont think my script has any control over that.

 

 

Hi Grodin,

 

 

The F18 now has Axes that can be assigned to the throttle joystick for the TDC function.

 

If users still want to use your script and use the axes for TDC control, they have to remove the bottom 2 "KeyAxis" lines from the script AND change the two entries:

 

MapAxis(&Throttle, SCX, DX_XROT_AXIS);

MapAxis(&Throttle, SCY, DX_YROT_AXIS);

 

to:

 

MapAxis(&Throttle, SCX, DX_X_AXIS);

MapAxis(&Throttle, SCY, DX_Y_AXIS);

 

Otherwise the normal axis function will not work.

 

Perhaps you should edit your original post to reflect this.

 

No need to change or add anything, just remove those 2 bottom lines. This information is already mentioned in the original post. Changing the axis names only defines if its a rotary or not, but the game doesnt care, it works the same.


Edited by Grodin

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

Hi Godin,

 

Thanks for posting, great script. I have only one issue: I'm loosing my T-Rudder when running your script. Neither the rudder axis nor the toe brake axis are recognized within Thrustmaster Combined in the DCS Config page. Any ideas?

 

Thanks!

Link to comment
Share on other sites

Hi Godin,

 

Thanks for posting, great script. I have only one issue: I'm loosing my T-Rudder when running your script. Neither the rudder axis nor the toe brake axis are recognized within Thrustmaster Combined in the DCS Config page. Any ideas?

 

Thanks!

 

 

Add "Exclude(&TFRPRudder);" so it looks something like this:

 

 

 

 

//program startup

int main()

{

 

 

// Exclude Devices not present

Exclude(&TFRPRudder);

 

 

if(Init(&EventHandle)) return 1; // declare the event handler, return on error

 

 

 

 

I only want to map my TM Throttle.

How do I change the script so that it only uses the TM Throttle.

At the moment I am getting a lot of devices failing to initialize.

 

 

Figured out you can do this the same way, add this line:

 

 

//program startup

int main()

{

// Exclude Devices not present

 

Exclude(&Joystick);

 

if(Init(&EventHandle)) return 1; // declare the event handler, return on error

 

//add initialization code here

 


Edited by Grodin

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

Hi, guys! I forgot to tell you, I noticed when I am on the ground with the F/A-18 stopped, the left vertical tail have the rudder deflected to the right, and the right vertical tail have the rudder deflected to the left. I don’t see the hotas sync option, do I have to install the special software to see it? Thanks!!

 

Cheers,

Vincent

 

Rudder Toe-In

 

“The particular effect you are referencing is called rudder toe-in. At slower speeds, particularly during high angles of attack, the stabilators may not provide sufficient nose authority to crisply rotate the nose. The massive wing area of the Rhino tends to block the airflow over the stabs. To remedy this problem the Rhino's rudders will automatically bias to the inside and create a downward force, which pitches the nose upwards. While the rudder is toed-in, the pilot can still use the rudders to yaw the aircraft. The FCS selectively moves the rudder position to generate the yawing motion, even while retaining the fared-in position.”

Alienware Area 51 R5 - Intel i9 7980XE (4.7 GHz), 32GB Dual Channel HyperX DDR4 XMP, Dual NVIDIA GeForce GTX 1080 Ti Graphics 11GB GDDR5X SLI, 4.5 TB combo of SSDs/HDDs, Alienware 1500 Watt Multi-GPU Power Supply, Alienware 25” 240Hz Gaming Monitor, Alienware Pro Gaming Keyboard, TM HOTAS, TM Cougar F-16C MFDs, Saitek Pro Flight Rudder Pedals, TrackIR5, Win10 Pro x64

Link to comment
Share on other sites

No need to change or add anything, just remove those 2 bottom lines. This information is already mentioned in the original post. Changing the axis names only defines if its a rotary or not, but the game doesnt care, it works the same.

 

 

Actually, it does matter.

If you just leave it on rotary, then the centre position ends up being about 56% on both X and Y and what happens is that the TDC cursor moves by itself on the radar screen.

No amount of calibration would fix the centre position.

 

The only way to fix it was to get rid of the rotary and go back to the normal axis assignments as per my post. There are no centre issues when you do that.

Link to comment
Share on other sites

Add "Exclude(&TFRPRudder);" so it looks something like this:

 

 

 

 

//program startup

int main()

{

 

 

// Exclude Devices not present

Exclude(&TFRPRudder);

 

 

if(Init(&EventHandle)) return 1; // declare the event handler, return on error

 

 

 

Thanks, man! Works like a charm.

Link to comment
Share on other sites

great thing,

 

I´ve added your profile to the ED Wiki. Thanks for sharing

DCS-Tutorial-Collection       

BlackSharkDen - Helicopter only

Specs:: ASrock Z790 Pro RS; Intel i5-13600K @5,1Ghz; 64GB DDR5 RAM; RTX 3080 @10GB; Corsair RMX Serie 750; 2x SSD 850 EVO 1x860 EVO 500GB 1x nvme M.2 970 EVO 1TB; 1x nvme M.2 980 Pro 2TB+ 3 TB HDD

Hardware: Oculus Rift S; HOTAS Warthog; Saitek Rudder Pedals, K-51 Collective

Link to comment
Share on other sites

Actually, it does matter.

If you just leave it on rotary, then the centre position ends up being about 56% on both X and Y and what happens is that the TDC cursor moves by itself on the radar screen.

No amount of calibration would fix the centre position.

 

The only way to fix it was to get rid of the rotary and go back to the normal axis assignments as per my post. There are no centre issues when you do that.

 

 

Interesting, i still have them as a rotary and no problems, they centering just fine.

Fighting for peace is like screwing for virginity.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...