Jump to content

Warthog shift axis possible?


Recommended Posts

Im thinking about buying a warthog (even when after a lot of research it looks like its NOT as good quality product as it should) and I wonder if it is possible to use an axis (the slew one in particular x and y) in a shift state so it can work as an additional axis...for example using it for TDC and when pressing the shift button it can be used to enable wheel brakes (progresively as an axis).

 

I know there is a DX limit of 8 axes per device if im not wrong and as the combined throttle+stick are 7 I wonder if there is ANY way to do that.

 

Thanks guys!

Take a look at my MODS here

Link to comment
Share on other sites

I don't have the Warthog, so I may be completely wrong :), but in general you can use the modifiers with any axis to change its function. You can use already available modifiers or add your own, even hotas buttons.

 

Before I got my pedals with toe brakes, I used the mini joystick on my ch throttle as wheelbrakes (both wheels, not separately L/R). It required playing with custom curves, but it worked fine. I assume the slew axis on warthog is similar to that.

Link to comment
Share on other sites

I believe axis shifting is possible using Target program. I use Warthog Throttle with Cougar SSC and have so far been able to avoid using Target. It does the job, but I don't want another background program competing for PC resurces. The only thing I miss is the convenience of the Cougar TQS antenna knob.

Link to comment
Share on other sites

No one tried to make an axis to work as a "new" axis when in a shif state??

You can do that with a bit of programming and the TrimDXAxis function in TARGET.

 

see this post:

Hello, you can use TrimDXAxis.

 

There you go, here I mapped Joystick X axis to both X and Y, note that 2048 is the maximum resolution you can using this method:

KeyAxis(&Joystick,JOYX,0,AXMAP1(2048,
  EXEC([color=DarkRed]"TrimDXAxis(DX_X_AXIS, SET(Joystick[JOYX]/32)); TrimDXAxis(DX_Y_AXIS, SET(Joystick[JOYX]/32));"[/color]),
  EXEC([color=DarkRed]"TrimDXAxis(DX_X_AXIS, SET(Joystick[JOYX]/32)); TrimDXAxis(DX_Y_AXIS, SET(Joystick[JOYX]/32));"[/color])));

Edit: Joystick[JOYX]/32 is used to make resolution of the axis (65536) match the resolution of the trim (2048=65536/32).

Read page 30 of the pdf manual.

 

Edit2: you can even use a third controller axis that will be mapped to two other directx axis, here moving the slider on the throttle will set both joystick X and Y, with less steps (512 instead of 2048 ):

[color=#a52a2a][color=Black]KeyAxis(&Throttle,THR_FC,0,AXMAP1(512,
  EXEC([color=#a52a2a]"TrimDXAxis(DX_X_AXIS, SET(Throttle[THR_FC]/32)); TrimDXAxis(DX_Y_AXIS, SET(Throttle[THR_FC]/32));"[/color]),
  EXEC([color=#a52a2a]"TrimDXAxis(DX_X_AXIS, SET(Throttle[THR_FC]/32)); TrimDXAxis(DX_Y_AXIS, SET(Throttle[THR_FC]/32));"[/color])));[/color][/color]

 

Not everything is there for what you want to do but it will give you clues.

You'd just need to wrap this around a condition that reads the state of your shift button (any button can do).


Edited by PiedDroit
Link to comment
Share on other sites

I realize my answer is more suited to controlling two axis at the same time.

 

In TARGET you can remap an axis on the fly (or change it's sensitivity), so what you can do is store the state of your shift button in a variable and everytime the state changes, remap the physical axis to a different logical axis.

 

Something like this:

int state = -1;

main()
{
 // ...... the other stuff

 int pinky = Joystick[s3];
 if (state != pinky)
 {
    state = pinky;
    if (pinky)
    {
      MapAxis(&Joystick, JOYX, [b]DX_X_AXIS[/b], AXIS_NORMAL, MAP_ABSOLUTE);
      SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0);
    }
    else
    {
      MapAxis(&Joystick, JOYX, [b]DX_SLIDER_AXIS[/b], AXIS_NORMAL, MAP_ABSOLUTE);
      SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0);
    }
 }
}

 

P.S.: WH really is a good quality product. Don't let disgruntled users fool you on that.


Edited by PiedDroit
Link to comment
Share on other sites

Many thanks for your help!! Looks quite hard to hanfle for someone with zero experience in programing though :P ... anyway, what I wanted to do is just using the X and Y axes in the slew nipple for slew and when the shift button is pressed the slew would work one axis (X for exmple) for braking and Y for zooming track IR...also, I wonder if those "extra" axes would be recognized directly into the dcs menu or not.

 

Thanks again

Take a look at my MODS here

Link to comment
Share on other sites

Many thanks for your help!! Looks quite hard to hanfle for someone with zero experience in programing though :P ... anyway, what I wanted to do is just using the X and Y axes in the slew nipple for slew and when the shift button is pressed the slew would work one axis (X for exmple) for braking and Y for zooming track IR...also, I wonder if those "extra" axes would be recognized directly into the dcs menu or not.

 

Thanks again

They should be recognized (DCS doesn't know about TARGET, it only sees the DirectX axis). And you can still manually select the axis anyway, so, no issues there

 

But... if you want to select your stick based on this capability, I find this a bit... Overkill. Why not simply mapping the zoom function on a couple of joystick keys? It would be just as effective, with less headaches.

From my personal experience, there is no need for layers (shift keys), except with FC3 aircraft (no click pit) and even with those you can use the short/long press to have two function on one button without relying on shift keys. I managed to avoid shift keys on every profile I did so far.

If you want to go that way, the TARGET software is really powerful, but not for the faint of heart, prepare yourself ;)

 

Also, there will be also additional tweaking to do if you want to zoom with the ministick.

You'll probably need to configure it as "relative" (instead of "absolute", in the MapAxis call) to have the zoom increase of decrease only when you move the ministick away from center.


Edited by PiedDroit
Link to comment
Share on other sites

the reason Im interested in this is to be able to zoom or brake slowly (so as an axis and not just with a button where press is 1 and release is 0 so all braking strength or nothing) but of course this is not the only thing to make my decision :thumbup:

 

thanks for your help budy!!:)

Zoom on an axis:

In DCS there are two zoom functions, "zoom in" and "zoom in slow" so you can have two zoom speeds.

The speed of each can be configured in a lua file. Using both on one button can be handled by most programming softwares (with shift state).

[EDIT] The above is not right, only works in externals. When in cockpit you can only zoom progressively or go to min/max zoom. Yet the speed of the zoom is still configurable in the lua.

 

Brake on an axis:

You can still have efficient braking with a single button. Before having pedals I was using a button and braking can be adjusted by tapping or pressing the button.

 

Also don't overestimate the accuracy of the ministick, it's not very precise ;)

 

What I want to highlight is that doing what you want to do calls for a lot of frustrations. There are much easier and convenient ways of doing what you want.

 

You can do that without any programing in DCS. You can add the axis with shift as modifier to the brake or zoom

No, not with the ministick (read the thread first...).

To handle brakes and zoom at the same time, it would need to be configured as MAP_ABSOLUTE for brakes and MAP_RELATIVE fo zoom, and DCS can't do that.


Edited by PiedDroit
Link to comment
Share on other sites

Ok, I see it can be a real headache so I will probably let it go :P ...anyway, I think I will go for the warthog and as soon as I get it I will try what you told me and see what happens.

 

If I broke something :P I guess you PiedDroit can help me, you seem really savy about joy programming :thumbup:

 

thanks for your help!:)

Take a look at my MODS here

Link to comment
Share on other sites

Ok, I see it can be a real headache so I will probably let it go :P ...anyway, I think I will go for the warthog and as soon as I get it I will try what you told me and see what happens.

 

If I broke something :P I guess you PiedDroit can help me, you seem really savy about joy programming :thumbup:

 

thanks for your help!:)

Sure I can help.

At some point I did some really convoluted stuff just for the sake of making it work, but in the end I always come back to the basics, as nothing beats simplicity, so I might try to avoid answering the most twisted request :D

Link to comment
Share on other sites

Don't know where 2 post...

Could you advise, if I create *.tmc file should I launch it only via TMScript editor? Or is there any way to covert it in *.fcf?

Thnks

=WRAG=345

R7 5800X @ 4,8 GHz; DDR4 32Gb RAM (+32Gb swap); Radeon RX 6800 16Gb; 3840x2160; Win10-64

Link to comment
Share on other sites

I wonder if it is possible to use an axis (the slew one in particular x and y) in a shift state so it can work as an additional axis...for example using it for TDC and when pressing the shift button it can be used to enable wheel brakes (progresively as an axis).

 

A simple and easy way:

 

Set a joy button or key as "modifieir" in Controls.

 

Set the TDC axis for designed function, eg. wheel brakes + this modifier.

 

In game press the button/key, move the axis = wheel brakes. Without button/key whatever you want.

Link to comment
Share on other sites

A simple and easy way:

 

Set a joy button or key as "modifieir" in Controls.

 

Set the TDC axis for designed function, eg. wheel brakes + this modifier.

 

In game press the button/key, move the axis = wheel brakes. Without button/key whatever you want.

 

This was already suggested few posts above

Link to comment
Share on other sites

Ok guys, finally I pulled the trigger and my warthog is here!!!!:cheer3nc:

 

Wow, pretty impressed with it!! (btw, how can I know which revision is it??, my S/N is 55861)

 

I have yet to learn A LOT of thing but I installed everything pretty straight forward and easy, all seems to work just fine in tha A-10C (even I got surprised to see the F-5 has a lot of things already configured by default in DCS :thumbup: , not as the F-15 :D ) ...

 

Back on topic, if I do:

 

"A simple and easy way:

 

Set a joy button or key as "modifieir" in Controls.

 

Set the TDC axis for designed function, eg. wheel brakes + this modifier.

 

In game press the button/key, move the axis = wheel brakes. Without button/key whatever you want."

 

 

How am I supposed to assing the function I want to the axis?? I meant, braking is the "W" key, if I assing the "W" key to an axis is that supposed to work as an axis???:huh: because it sound more like it will just work like a key right?...sorry but I dont undertand it.

 

also, as soon as I enable a profile, the HOTAS becomes just ONE device and I lost all key bindings in DCS...are we supposed to do all bindings again once you use a profile??

 

thanks guys!!:thumbup:

Take a look at my MODS here

Link to comment
Share on other sites

 

How am I supposed to assing the function I want to the axis?? I meant, braking is the "W" key, if I assing the "W" key to an axis is that supposed to work as an axis???:huh: because it sound more like it will just work like a key right?...sorry but I dont undertand it.

 

No, you need to click on the axis drop down in DCS controller menu to display all your axis. Then , making sure you select the appropriate controller, double click on the axis you want to assign - then you move that axis and it should recognize and assign it properly. You can then go to axis tune, and tune your deazone, curve.

 

also, as soon as I enable a profile, the HOTAS becomes just ONE device and I lost all key bindings in DCS...are we supposed to do all bindings again once you use a profile??

 

thanks guys!!:thumbup:

 

That is correct, the HOTAS becomes one virtual device. If you are going to use TARGET with a profile to assign key commands to buttons , then you should not have button assignments in the game. You assign them using TARGET. TARGET will then translate a button press to equal a specific key press - that you have assigned to it. The key commands of course are already in the controller setup unless you change them ( you don't clear these out).

 

Fwiw, I have used TARGET a lot in the past and it is pretty powerful, however I find DCS controller menu very good and fairly in depth, and can do all I really want to do from the controller setup menu in DCS - I prefer this over using TARGET for DCS. You can even assign a modifier there, along with a shift button as well. I personally prefer to use my Warthog joystick paddle as a modifier button and have that assigned in DCS for all the modules I fly. Really gives a lot more buttons available to assign that way. For instance say Hat2 Up gives one command, whereas Hat2 Up whilst holding the paddle in gives another.

 

Hope this helps, and enjoy that new Warthog!


Edited by dburne

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

No, you need to click on the axis drop down in DCS controller menu to display all your axis. Then , making sure you select the appropriate controller, double click on the axis you want to assign - then you move that axis and it should recognize and assign it properly. You can then go to axis tune, and tune your deazone, curve.

 

 

 

That is correct, the HOTAS becomes one virtual device. If you are going to use TARGET with a profile to assign key commands to buttons , then you should not have button assignments in the game. You assign them using TARGET. TARGET will then translate a button press to equal a specific key press - that you have assigned to it. The key commands of course are already in the controller setup unless you change them ( you don't clear these out).

 

Fwiw, I have used TARGET a lot in the past and it is pretty powerful, however I find DCS controller menu very good and fairly in depth, and can do all I really want to do from the controller setup menu in DCS - I prefer this over using TARGET for DCS. You can even assign a modifier there, along with a shift button as well. I personally prefer to use my Warthog joystick paddle as a modifier button and have that assigned in DCS for all the modules I fly. Really gives a lot more buttons available to assign that way. For instance say Hat2 Up gives one command, whereas Hat2 Up whilst holding the paddle in gives another.

 

Hope this helps, and enjoy that new Warthog!

 

But doing what you said inside DCS would work with the shift state?? I mean, when binding an axis function if I press the shift key and then the axis I want to use it will be recogniced as "another" new axis?? sorry but I still not having this clear enough.

 

Also, I will like to ask one more off topic thing sorry:

 

1- Are the programable leds (the round ones near the friction knob) only green?? because for some reason I though/remember they where red/yellow/... maybe I just dreamed it?:D

 

Thanks mate, I will enjoy the warthog as much as possible!:thumbup:


Edited by watermanpc

Take a look at my MODS here

Link to comment
Share on other sites

[...]

f you are going to use TARGET with a profile to assign key commands to buttons , then you should not have button assignments in the game. You assign them using TARGET. TARGET will then translate a button press to equal a specific key press - that you have assigned to it.[...]

That is not exactly correct, the Thrustmaster combined has buttons like the other sticks, you don't need to remap everything.

It just doesn't have enough possible DX buttons (32) to cover all possible buttons of stick + throttle.

All the joystick buttons are mapped

The only buttons that don't have a DX outputs are located on the throttle, those are the ones that will require you to write a remap.

 

For reference, here is the default mapping for the "combined", joystick mappings are the same as the naked stick, the throttle gets the remaining available DX buttons:

 

int JoystickMap[]={
TG1,DX1, 
S2,DX2, 
S3,DX3, 
S4,DX4, 
S1,DX5, 
TG2,DX6, 
H2U,DX7, 
H2R,DX8, 
H2D,DX9, 
H2L,DX10, 
H3U,DX11, 
H3R,DX12, 
H3D,DX13, 
H3L,DX14,
H4U,DX15, 
H4R,DX16, 
H4D,DX17, 
H4L,DX18, 
H4P,DX19, 
H1U,DXHATUP, 
H1R,DXHATRIGHT, 
H1D,DXHATDOWN, 
H1L,DXHATLEFT};

int ThrottleMap[]={
LTB,DX20, 
SC,DX21, 
CSU,DX22, 
CSR,DX23, 
CSD,DX24, 
CSL,DX25, 
MSP,DX26, 
MSU,DX27, 
MSR,DX28, 
MSD,DX29, 
MSL,DX30, 
SPDF,DX31, 
SPDB,DX32};

Link to comment
Share on other sites

But doing what you said inside DCS would work with the shift state?? I mean, when binding an axis function if I press the shift key and then the axis I want to use it will be recogniced as "another" new axis?? sorry but I still not having this clear enough.

 

Also, I will like to ask one more off topic thing sorry:

 

1- Are the programable leds (the round ones near the friction knob) only green?? because for some reason I though/remember they where red/yellow/... maybe I just dreamed it?:D

 

Thanks mate, I will enjoy the warthog as much as possible!:thumbup:

Shift state mentioned here will also work for axis (in the axis assign page), the Throttle axis will always be the same, except DCS will use it for different simulator function depending on the state of the shift button.

 

But as I said before, the way you want to use your axis will require your axis to behave differently if in brake mode or zoom mode, somethign DCS can't do, that's why the shift state is not the solution in that particular case (I told you what you want to do calls for headaches :p).

Benefit with doing everything in DCS with shift states is that you can use your HOTAS without even firing up TARGET, so, no scripting required.

 

P.S.: Leds can be tuned in brightness. However I would recommend not trying to fiddle with them, even if the scripting manual tells you how to do it.

I don't know why it is like this, but playing with the leds (ON/OFF intensity) made the profile unstable for me. Some other users had the issue too, but few of them, so *maybe* it will work for you, but it is a possible cause of instability.


Edited by PiedDroit
Link to comment
Share on other sites

That is not exactly correct, the Thrustmaster combined has buttons like the other sticks, you don't need to remap everything.

It just doesn't have enough possible DX buttons (32) to cover all possible buttons of stick + throttle.

All the joystick buttons are mapped

 

True, however if using TARGET who's purpose is to primarily emulate keystrokes, I am not sure why one would use TARGET and then just map the buttons within the game. Although one could certainly have a combination of both, some mapped within the game and some programmed to emulate keystrokes in TARGET.

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

  • Recently Browsing   0 members

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