Which Joystick do you currently own/plan on getting?

  • Black Widow

    Votes: 47 1.5%
  • Saitek AV8R-03

    Votes: 8 0.2%
  • Saitek F.L.Y. 5

    Votes: 93 2.9%
  • Saitek X52

    Votes: 381 11.9%
  • Saitek X52 Pro

    Votes: 653 20.4%
  • Saitek X55

    Votes: 455 14.2%
  • Saitek X65

    Votes: 45 1.4%
  • Thrustmaster T.Flight Hotas X

    Votes: 654 20.4%
  • Thrustmaster Warthog

    Votes: 364 11.4%
  • Logitech G940

    Votes: 52 1.6%
  • Other ... (Leave details on the comments)

    Votes: 690 21.5%

  • Total voters
    3,205
  • Poll closed .
HOTAS Warthog Profile

Install Instructions:

1) Copy code for macro file below into a text file and save as EliteDangerous.ttm
2) Copy code below for tmc file into a text file and save as EliteDangerous.tmc
3) Open Target GUI and create a new profile for EliteDangerous that maps EliteDangerous.exe to this .tmc file
4) start up TrackIR (if necessary)
5) Click the Fly Now button for Elite Dangerous profile to load the program into the joystick
6) start up Elite Dangerous
7) go to controls
8) set to T.Master profile
9) clear all button mappings for joystick buttons
10) clear all axis mappings except roll/pitch/throttle
11) set Yaw to the throttle Slider (I know this sounds crazy but trust me)
12) set primary fire to 'SPACE' and secondary fire to 'm'
13) all done with setup (YAY!)
14)...
15) Profit

****CODE FOR EliteDangerous.ttm**********
Code:
//Flight Controls
define Steer_Left USB[0x04]					//a
define Steer_Right USB[0x07]				//d
define Boost USB[0x2B]						//tab
define Full_Stop USB[0x1B] 					//x
define Strafe_Up USB[0x15]					//r
define Strafe_Down USB[0x09]				//f
define Strafe_Left USB[0x14]				//q
define Strafe_Right USB[0x08]				//e
define Flight_Assist USB[0x1D]				//z

//Weapons
define Fire_Primary_Weapon USB[0x2C]		//space
define Fire_Secondary_Weapon USB[0x10]		//m			
define Cycle_Next_Fire_Group USB[0x11]		//n
define Deploy_Hard_Point USB[0x28]			//return

//Targeting
define Target_Ahead USB[0x17]				//t
define Target_Enemy USB[0x0B]				//h
define Target_Next USB[0x0A]				//g
define Target_Subsystem USB[0x1C]			//y
define Increase_Sensor_Range USB[0x4B]		//page up
define Decrease_Sensor_Range USB[0x4E]		//page down

//Systems
define Silent_Running USB[0x4C]				//delete
define Deploy_Heat_Sink USB[0x19]			//v
define Ship_Lights USB[0x0F]				//l
define Power_To_Engines USB[0x52]			//up arrow
define Power_To_Weapons USB[0x4F]			//right arrow
define Power_To_Systems USB[0x50]			//left arrow
define Power_To_Balance USB[0x51]			//down arrow
define UI_Focus USB[0xE1]					//left shift
define Target_Panel USB[0x1E]				//1
define Radar_Panel USB[0x1F]				//2
define System_Panel USB[0x20]				//3

//Menus
define Menu_Select USB[0x2C]				//space
define UIMenu_Next USB[0x08]				//e
define UIMenu_Back USB[0x14]				//q
define Menu_Up USB[0x1A]					//w
define Menu_Down USB[0x16]					//s
define Menu_Left USB[0x04]					//a
define Menu_Right USB[0x07]					//d



****CODE FOR EliteDangerous.tmc**********
Code:
include "target.tmh"
include "EliteDangerous.ttm"

//program startup
int main()
{
    if(Init(&EventHandle)) return 1; // declare the event handler, return on error
	
	//use MapAxis function to map USB Device and Physical Axis Name to a DirectX Axis
	MapAxis(&Joystick, JOYX, DX_X_AXIS);
	MapAxis(&Joystick, JOYY, DX_Y_AXIS);
	MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS);
	MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS);
	MapAxis(&Throttle, SCX, DX_XROT_AXIS);
	MapAxis(&Throttle, SCY, DX_YROT_AXIS);
	MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS);
	
	//Joystick buttons
	MapKey(&Joystick,TG1,Fire_Primary_Weapon);		//also select menu item
	MapKey(&Joystick,S1,Fire_Secondary_Weapon);
	MapKey(&Joystick, S4, SEQ(EXEC("MapAxis(&Joystick, JOYX, DX_SLIDER_AXIS);"),EXEC("MapAxis(&Joystick, JOYX, DX_X_AXIS);")));
	MapKey(&Joystick,S3,Flight_Assist);
	MapKey(&Joystick,S2,Boost);
	
	//TMS Hat
	MapKey(&Joystick,H2D,Silent_Running);
	MapKey(&Joystick,H2L,Deploy_Heat_Sink);
	MapKey(&Joystick,H2U,Cycle_Next_Fire_Group);
	MapKey(&Joystick,H2R,Deploy_Hard_Point);
	
	//DMS Hat
	MapKey(&Joystick,H3U,Target_Ahead);		
	MapKey(&Joystick,H3R,Target_Next);		
	MapKey(&Joystick,H3D,Target_Subsystem);	
	MapKey(&Joystick,H3L,Target_Enemy);		
	
	//CMS Hat
	MapKey(&Joystick,H4U,Increase_Sensor_Range);
	MapKey(&Joystick,H4D,Decrease_Sensor_Range);
	MapKey(&Joystick,H4L,Ship_Lights);
	
	//Trim Hat
	MapKey(&Joystick,H1U,Power_To_Engines);
	MapKey(&Joystick,H1R,Power_To_Weapons);
	MapKey(&Joystick,H1L,Power_To_Systems);
	MapKey(&Joystick,H1D,Power_To_Balance);
	
	//Throttle Switches
	MapKey(&Throttle,EACON,Target_Panel);
	MapKey(&Throttle,EACOFF,Target_Panel);
	MapKey(&Throttle,RDRNRM,Radar_Panel);
	MapKey(&Throttle,RDRDIS,Radar_Panel);
	MapKey(&Throttle,APPAT,System_Panel);
	MapKey(&Throttle,APAH,System_Panel);
	MapKey(&Throttle,APALT,System_Panel);
	
	
	//Mic Switch (menus)
	MapKey(&Throttle,MSU,Menu_Up);
	MapKey(&Throttle,MSD,Menu_Down);
	MapKey(&Throttle,MSL,Menu_Left);
	MapKey(&Throttle,MSR,Menu_Right);
	MapKey(&Throttle,MSP,UI_Focus);
	
	
	//Coolie Switch (Strafe)
	MapKey(&Throttle,CSU,Strafe_Up);
	MapKey(&Throttle,CSD,Strafe_Down);
	MapKey(&Throttle,CSL,Strafe_Left);		//also UI Left
	MapKey(&Throttle,CSR,Strafe_Right);		//also UI Right
	
	//Speedbrake 
	MapKey(&Throttle,SPDB,Full_Stop);		
	MapKey(&Throttle,SPDF,Boost);			
	
}

//event handler
int EventHandle(int type, alias o, int x)
{
    DefaultMapping(&o, x);
	
	//add event handling code here
}

One Caveat with using the Paddle Switch!
MAKE SURE YOU HAVE THE JOYSTICK CENTERED WHEN YOU PUSH THE S4 BUTTON!

If you find yourself in an out of control situation, remember DO NOT PANIC!!!!

Simply wiggle the slider to center the yaw or roll when you switch back and forth!

Remember wiggle it, just a little bit.
 
Last edited:
ok problem solved.

Got to save the file with Wordpad , not Notepad :)

You should be able to save with notepad, or any other text editor, as long as you ensure the file is saved with the '.tmc' extension. Notepad may be changing it to a '.txt' extension.
 
Thanks for posting the profile. I was planning on jumping into TARGET this weekend and creating a profile for myself. I'll probably still do that to get the experience, but having yours available as a reference will make things easier.

PS - thanks for commenting your code. It makes it so much easier to read, particularly since you are using hex code for the key assignments
 
Last edited:
Thanks for posting the profile. I was planning on jumping into TARGET this weekend and creating a profile for myself. I'll probably still do that to get the experience, but having yours available as a reference will make things easier.

PS - thanks for commenting your code. It makes it so much easier to read, particularly since you are using hex code for the key assignments

you are welcome!

I figured since we have such an international community I had better stick to USB hex codes as much as I could. I am assuming the defined macros for SPC/PGDN/PGUP/etc work across all international keyboard types...if the profile has trouble working on some crazy Chinese keyboard try flipping the SPC/PGDN/PGUP/etc over to the USB hex equivalents and that should fix any weird issues.

please let me know if you have any suggestions/what works/what doesn't
 
I received my TM hotas today , i tried your profile, it worked with no issue and it's awesome to play E.D this way :cool: Again thank you for this.

I'm bored at work ... i made this ^^

http://i.imgur.com/y4GCrSA.jpg

Later , I'm gonna try to figure out how TARGET is working, May I ask your help if i'm lost ? like for those usb hex code USB[0x10] i don't understand :D

Have a nice day ;)

sorry for bad english skill i'm Fr
 
Last edited:
you are welcome!

I figured since we have such an international community I had better stick to USB hex codes as much as I could. I am assuming the defined macros for SPC/PGDN/PGUP/etc work across all international keyboard types...if the profile has trouble working on some crazy Chinese keyboard try flipping the SPC/PGDN/PGUP/etc over to the USB hex equivalents and that should fix any weird issues.

please let me know if you have any suggestions/what works/what doesn't

I agree that using the hex codes rather than calling out the corresponding letters was a good move for exactly the reasons you stated. I only took a brief look at the profile you posted so I'm not quite sure how mine will differ if at all. I'll play around with TARGET this weekend. If I think my profile is a viable option I'll post it on the forum. Any plan so integrating VoiceAttack as well? I just started reading up on it and it may be a nice compliment to a HOTAS. I'm also interested in seeing if I can find a good use for my Saitek Combat Pedals in ED but I'll need to wait for the premium beta for that.
 
for those without propeller hats on, tune out...

ok if you are still reading here is some deeper information:

chaseydog: PS - thanks for commenting your code. It makes it so much easier to read, particularly since you are using hex code for the key assignments

comment: actually i did a HORRIBLE job of this...lol. The PROPER way to do it would be to add an include in the tmc file to a tmh file that has this code in it and replace the USB codes in the MapKey calls with the constants defined in the tmh file!

I leave that as an exercise for you to clean up any remaining hex codes and include the tmh file to the tmc file.

Code:
//Flight Controls
define Steer_Left USB[0x04]					//a
define Steer_Right USB[0x07]				//d
define Boost USB[0x2B]						//tab
define Full_Stop USB[0x1B] 					//x
define Strafe_Up USB[0x15]					//r
define Strafe_Down USB[0x09]				//f
define Strafe_Left USB[0x14]				//q
define Strafe_Right USB[0x08]				//e
define Flight_Assist USB[0x1D]				//z

//Weapons
define Fire_Primary_Weapon USB[0x2C]		//space
define Fire_Secondary_Weapon USB[0x10]		//m			
define Cycle_Next_Fire_Group USB[0x11]		//n
define Deploy_Hard_Point USB[0x28]			//return

//Targeting
define Target_Ahead USB[0x17]				//t
define Target_Enemy USB[0x0B]				//h
define Target_Next USB[0x0A]				//g
define Target_Subsystem USB[0x1C]			//y
define Increase_Sensor_Range USB[0x4B]		//page up
define Decrease_Sensor_Range USB[0x4E]		//page down

//Systems
define Silent_Running USB[0x4C]				//delete
define Deploy_Heat_Sink USB[0x19]			//v
define Ship_Lights USB[0x0F]				//l
define Power_To_Engines USB[0x52]			//up arrow
define Power_To_Weapons USB[0x4F]			//right arrow
define Power_To_Systems USB[0x50]			//left arrow
define Power_To_Balance USB[0x51]			//down arrow
define UI_Focus USB[0xE1]					//left shift
define Target_Panel USB[0x1E]				//1
define Radar_Panel USB[0x1F]				//2
define System_Panel USB[0x20]				//3

//Menus
define Menu_Select USB[0x2C]				//space
define UIMenu_Next USB[0x08]				//e
define UIMenu_Back USB[0x14]				//q
define Menu_Up USB[0x1A]					//w
define Menu_Down USB[0x16]					//s
define Menu_Left USB[0x04]					//a
define Menu_Right USB[0x07]					//d

chaseydog: like for those usb hex code USB[0x10] i don't understand

comment: The USB codes are in a table located in the TARGET Script Editor Basics User Manual that should come with the TARGET software and is available on the TM website. Consider it the Bible of Target Script editing. Don't leave home without it.

A little trickier to come by are the actual values to use to map things to the buttons on the controllers (TG1, S2, H3U, EACON, IDLEROFF, etc). For this you can open up the defines.tmh file located in C:\Program Files (x86)\Thrustmaster\TARGET\scripts


chaseydog: VoiceAttack?
comment: i had never even heard of it before today, now you are the 2nd person to mention it to me, i guess i need to hit the internets...

chaseydog: Saitek Combat Pedals
comment: the main reason i didn't go too far with the tmh file is that i expect multiple controller support that comes in with PremBeta will make this whole business obsolete in a few days. This is mostly just placeholder and something to sharpen the old TARGET skillz. CAN'T WAIT to get my RUDDER!!!!
 
Last edited:
also if there is anyone out there who is REALLY good with TARGET...

what i would love to see is an example of how to code something like having the S4 button held down switches the Joystick X axis to yaw and releasing it sets it back to roll
 
comment: actually i did a HORRIBLE job of this...lol. The PROPER way to do it would be to add an include in the tmc file to a tmh file that has this code in it and replace the USB codes in the MapKey calls with the constants defined in the tmh file!


Now your just showing off (lol). Obviously I need to brake out the TARGET manual and do some more reading. It may be a moot point after we see multiple controller support with the Premium Beta but it's still a good opportunity to learn a bit about TARGET. Once again thank you for giving an idea of what can be done in TARGET.
 
I didnt have a chance to try my warthog hotas with this game yet, i will have access to the premium beta in a week but alpha 1.1 didnt support multiple devices, felt like it was too much work to get it working through Target. I tried actually but it kept bugging.

But i was wondering about something, i thought the warthog was implemented in the alpha 3? Did it not support it sufficiently? I thought target was mainly for games that didnt support multiple devices, or really fancy programming.
 
x52 pro

Hi

I'm sorry if this is a little off topic..

I'm looking at purchasing an x52 pro joystick, but I'm having tracking one down at realistic price in the UK.

Can anyone remember a good place to purchase one, they seem to have a RRP of around £135ish if purchased direct from their website.

Thanks
 
Hi

I'm sorry if this is a little off topic..

I'm looking at purchasing an x52 pro joystick, but I'm having tracking one down at realistic price in the UK.

Can anyone remember a good place to purchase one, they seem to have a RRP of around £135ish if purchased direct from their website.

Thanks

https://www.shop.bt.com/products/saitek-x52-pro-flight-control-system-4BYR.html
in short supply but £109 pounds, they also do the non pro for £89 but no stock at present.
 
I got two from ebay for £110 each, as new condition. Hardest part was getting the drivers as the Saitek website is horrendous...tech support eventually sent me an ftp link to them (said the website was having problems... probably getting hammered by Premium Beta purchasers :)).

If anyone gets similarly stuck:

Drivers:
ftp.saitek.com/pub/software/full/Saitek_X52Pro_Flight_Controller_SD6_64.exe
Software:
ftp.saitek.com/pub/software/full/Smart%20Technology%207_0_27_13%2064Bit.exe

(it's a public ftp, just strip the path to browse other OS/32bit variants).
 
https://www.shop.bt.com/products/saitek-x52-pro-flight-control-system-4BYR.html
in short supply but £109 pounds, they also do the non pro for £89 but no stock at present.

Judging by the wording on the BT site, I'm guessing they're linked in with DABS?

Either way, the wording is unclear on both sites. "In short supply." sort of suggests they have some and "Delivered in 3 days, once we receive stock" seems to make it clearer they don't.

I might give them a call later and see if they have any idea. I've been thinking about picking one of these up for a while now.
 
Back
Top Bottom