I have the 4c too, worked before with TARGET. Don't think it's realted to 4c.

Ah, see, you say that but I'm not so sure. The only times I've had the issue is since I've had the 4c and had it installed. I uninstalled it for a few days and didn't get the issue then.

As you note, it's when Target tries to quit and release the combined virtual device back to the individual devices - I'm wondering whether that is conflicting USB and/or driver wise with the 4c

Will have to try uninstalling it again..
 
looks great, however as I'm also using VA all the reprogramming will be too much to me at this stage :D

Hey Lysander, VA is already programmed in, although I know I missed a few in the current build (fighter controls for example). I have updated them in my 2.3 beta build.

There are only a couple of ones I had to reprogram due to conflicts/issues (Galaxy Map comes to mind as the '/' prevents typing slash commands in chat window). 99% will be mapped if you wanted to give it a try and most already work in the current release. :)

- - - Updated - - -

ps: Sry Aussiedroid to be off topic :( just trying to help

No AIO Watermods.
Sry Aussiedroid to be off topic and hijacking the thread. It's over soon and you can "hint" me anytime to open a new thread.

No dramas at all guys, good discussion is always welcome .. and hopefully someone will come through with a solution to the problem :)

I'm interested myself, as I no doubt will need to upgrade to Win10 at some point in the future.

- - - Updated - - -

Hi Aussiedroid,

Thanks for reply :D

I agree to use button on the HOTAS using Target, there has many combine key to get this jobs done and it easy to do.

for version 2.3 if your code cleanups that will have a lot of new coming for try to use it because your work has a big advantage for dynamic curve profile switching.
It is a deep learning curve for players who don't have coding experience but payoff is a big advantage :D

No problems at all. Like I said I will see what I can do .. and maybe throw in a Sandro "no guarantees" :p
 
Last edited:
Small update -
I have put the trouble I am having with the "Forward Only" mode - on the side burner for the time being. I find that I rarely use "Forward Only" mode, and will probably end up adding a second optimised mode for that switch position.


I added an "auotfire" mode to the second trigger pull. When set to active, it comes in handy using it with advanced discovery scanner when out exploring. Pull the trigger all the way back to activate, and pull it all the way back a second time to deactivate. (in addition to a comment in the script editor, I have all 5 leds lit when active). Also I fouind it useful when using beam weapons in combat.

About to start playing around with VA. With 2.3 beta just around the corner, it wil provide a good test enviroment.
 
Last edited:
Small update -
I have put the trouble I am having with the "Forward Only" mode - on the side burner for the time being. I find that I rarely use "Forward Only" mode, and will probably end up adding a second optimised mode for that switch position.


I added an "autofire" mode to the second trigger pull. When set to active, it comes in handy using it with advanced discovery scanner when out exploring. Pull the trigger all the way back to activate, and pull it all the way back a second time to deactivate. (in addition to a comment in the script editor, I have all 5 leds lit when active). Also I found it useful when using beam weapons in combat.

About to start playing around with VA. With 2.3 beta just around the corner, it will provide a good test environment.

Good to hear the progress!

I am the same, I can't remember the last time I used Forward Only mode. Full Range is second nature now, even though I remember it being a bit of a hassle to get good at for many hours. Still, good to have handy if the situation arises.

;) I'm also playing around with an autofire option in my current beta build. Similar to your setup, using a modifier and fire button to trigger, then stays held until you press the fire button again. Seems to work pretty well so far, but also playing around with some timed options, with a fixed hold time to see if that may be better. Still a bit on the fence, but I think I might go with an open solution leaving disengagement manual so it is more useful for both exploration and combat if situation calls for it.

Must get back to cleaning my beta version up this weekend [yesnod]
 
I thought about a timed option, was thinking the second pull could deactivate / overide the timer if needed. Perhaps setting up another layer and add it as additional option.
 
Hi Aussiedroid,

Thanks for reply :D

I agree to use button on the HOTAS using Target, there has many combine key to get this jobs done and it easy to do.

for version 2.3 if your code cleanups that will have a lot of new coming for try to use it because your work has a big advantage for dynamic curve profile switching.
It is a deep learning curve for players who don't have coding experience but payoff is a big advantage :D


Cheers

Hey there Karost,

Just wanted to let you know I have figured out a way to use the script to output preset chat macros to the comms panel. Still testing it out, but seems I have the timings needed for it to work properly now. I have it configured for 12 chat presets, or 4 in a simplified option without the modifier.

I've filled in some 'dummy' text strings with some things I think people might use, but if you or anyone else has some recommendations/suggestions/feedback on what would be some good text defaults to program in .. please let me know :)

Right now .. this is what I have included:

Greetings CMDR o7
Fly safe CMDR
Easy there! Watch where you are going CMDR
How much cargo is your life worth? Hand it over!
Stay calm, cut your engines and prepare to be scanned. Move and you will be fired upon.
You're a disgrace! Die! Time to see the Rebuy!
I fart in your general direction :/
Hold your Fire! I surrender, what are your demands?
Thank you for your assistance! o7
Follow Me
Can I help CMDR?
I don't want conflict, but I will protect what is mine
Let's Rock!!
What do you want CMDR?




PS - 2.3 beta update of script is coming along well. Everything new mapped, and in test right now. Still on target for 2.3 launch release.
 
Last edited:
Ah, see, you say that but I'm not so sure. The only times I've had the issue is since I've had the 4c and had it installed. I uninstalled it for a few days and didn't get the issue then.

As you note, it's when Target tries to quit and release the combined virtual device back to the individual devices - I'm wondering whether that is conflicting USB and/or driver wise with the 4c

Will have to try uninstalling it again..

Small update:
I did a clean install of my system (win 10) and tested TARGET after every controller/software I installed.
It's really the 4c that cuases the issues. I'm sure it worked with some version, but an update in February of either Tobii core or ISE broke it.
I still have 2 older versions of both, might test these next weekend. Also contacted tobii, let's see what they say.

UPDATE:
I've also moved to the correct thread about the 4c now that I'm sure where the issue comes from.
https://forums.frontier.co.uk/showt...C-is-awesome?p=5244342&viewfull=1#post5244342

I contaced tobii, they are aware of the issue and "are on it™".

Again sorry for hijacking!
 
Last edited:
Quick question regarding scripting.

I have a very basic script for my T.16000M to get the response curve I want from the stick. It works very well, but I have to add a script for the PoV hat on the top. I use it to navigate menus in the game, and this works mostly as it does without the script (running the joystick as a DirectInput device.) However, I can't find a way to get the script to repeat the input on holding down a hat direction. This means I have to either reach for the mouse or repeat the input to scroll down a longer list. Not a problem in a panel really, but in the commodities market it's a pain in the crapper.

Any advice would be appreciated!
 
"Adding PULSE+ in front of a keystroke will transform it into a momentary key press, even if you continue to press
the button. By default, a “pulsed” keystroke is held for 25 milliseconds. "

Just :
Code:
MapKey(&DEVICE, BUTTON_NAME, Keystroke);
Should work (DEVICE = Joystick OR Throttle)

Edit: ALso, Check this post: 2.3 Beta Update 2

General Fixes/Tweaks
Fixed a problem introduced during 2.2, where you were no longer able to hold UP/DOWN to scroll information continuously within a common UI
 
Last edited:
There seem to be a lot of knowledge about the TARGET software on this thread, so I decided to borrow it a bit.

I'm using the T16000m HOTAS and I thought I would like to test the throttle with 25 % steps when adjusting the throttle. In another words; make the throttle not continuous.

Quote from the script editor manual:
AXMAP2

AXMAP2 is the second Digital axis mode. AXMAP2 generates functions that only depend on the zone.

Use this mode when the simulator offers shortcuts to direct parameter values, or to control a cursor.

Note: AXMAP2 is able to simulate HOTAS Cougar types 2, 3, 4.

Example: if the engine’s RPM is controlled with the 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 keys.

The plan was to map the different throttle settings on the numpad keys 1-9 in the game and to use TARGET to write this piece of script:
KeyAxis(&TWCSThrottle, DX_THROTTLE_AXIS, 'ioumd', AXMAP2(9, PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1));

I can get my script running without problems, but the event tester doesn't show any numbers been pressed.

Does anybody have any idea where the problem might be?

Cheers.
 
...KeyAxis(&TWCSThrottle, DX_THROTTLE_AXIS, 'ioumd', AXMAP2(9, PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1)); ...

ioumd is the modifier layer(s). If you don't plan to use layers, Replace 'ioumd' with 0 (that should not solve your problem btw):
Code:
KeyAxis(&TWCSThrottle, DX_THROTTLE_AXIS, 0, AXMAP2(9, PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1));


EDIT: DX_THROTTLE_AXIS, is not the correct axis name (it's the dx_axis name) for KeyAxis Function, you need the physical axis name: check your MapAxis function (I don't know TWCS Axis name)
Code:
MapAxis(&Input device, physical axis name, dx_axis name, option1, option2);
Ex
with my warthog : Note the THR_RIGHT
Code:
MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
with my warthog the Working KeyAxis function is
Code:
KeyAxis(&Throttle, THR_RIGHT, 0, AXMAP2(9, PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1));
 
Last edited:
Using script editor or GUI?
There are 3 states for buttons:
- PULSE
- DOWN
- UP
Pulse should work for scrolling down.

For example:
MapKey(&Joystick, BUTTON_NAME, PULSE+'Keystroke');

See TARGET manual side 17.
http://ts.thrustmaster.com/download...rget/target_script_editor_basics_v1.5_eng.pdf

Thanks for this.

I think the issue is that I have mapped the hat to a dxinput rather than a keystroke.

I'm not at the machine in question right now, but will check tomorrow nad come back.
 
ioumd is the modifier layer(s). If you don't plan to use layers, Replace 'ioumd' with 0 :
Code:
KeyAxis(&TWCSThrottle, DX_THROTTLE_AXIS, 0, AXMAP2(9, PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1));

Hmm... I had layers in use with other functions, so I thought I need that line for every piece of script. Need to try this. :) Thanks!
 
That solved it! It was TTHR. Thanks a lot man!

Edit: Throttle control works so much better like this. :) Easy to set the throttle to zero or on to a blue zone.

CMDR Touille & Mr. Gr3y to the rescue again :) Thanks!

Interesting alternative config on the throttle DuckingHostile! I could see how that could work well. Personally, I like the finer detail/control, but I do set a reasonable deadzone (perhaps a bit more than I should) to ensure I have a clear, easy to hit target in Full range. Always great to see what others come up with!
 
CMDR Touille & Mr. Gr3y to the rescue again :) Thanks!

Interesting alternative config on the throttle DuckingHostile! I could see how that could work well. Personally, I like the finer detail/control, but I do set a reasonable deadzone (perhaps a bit more than I should) to ensure I have a clear, easy to hit target in Full range. Always great to see what others come up with!

I used the throttle with a middle dead zone before, but I was missing a reliable way of hitting the blue zone. I had a long break from the game and maybe because of that I have a tendency of over moving the throttle in the heat of the battle + I was missing the 75 % setting in super cruise. I figured I might as well make the small adjusts of the speed with pip management.

Anyway, here's the final line of script:
KeyAxis(&TWCSThrottle, TTHR, 0, AXMAP2(LIST(0,1,15,29,43,57,71,85,99,100), PULSE+KP9, PULSE+KP8, PULSE+KP7, PULSE+KP6, PULSE+KP5, PULSE+KP4, PULSE+KP3, PULSE+KP2, PULSE+KP1));

Then you just need to set the different thruster setting to numbad buttons from the game; -100% = numpad 1, 0% = numpad 5, 100% = numpad 9, and the rest are from between.

I added the List function to get the -100 % and 100 % throttle settings to activate in the far ends of the throttle movement. Works like a charm.

Next thing I wanna do is to get the pip management to work the way you did it; pip settings change by the longer you press. I have the pip presets under layer buttons now, but that doesn't feel very intuitive, and I forget to use them. I think I will be bothering you a bit when I get on to this. I'm not a programmer. :D

Thank you for a very helpful thread! :)
 
Last edited:
Hmmm...

switching from a DXInput event to a keystroke didn't change the behaviour, and the same problem was present in the latest build of the 2.3 beta, which squashed a similar bug.

Here's my script:

Code:
include "target.tmh"
int main()
{
	Configure(&HCougar, MODE_EXCLUDED);
	Configure(&Joystick, MODE_EXCLUDED);
	Configure(&Throttle, 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);
	MapKey(&T16000, H1U, PULSE+DXHATUP);
	MapKey(&T16000, H1R, PULSE+DXHATRIGHT);
	MapKey(&T16000, H1D, PULSE+DXHATDOWN);
	MapKey(&T16000, H1L, PULSE+DXHATLEFT);
	MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
	SetSCurve(&T16000, JOYX, 0, 0, 0, 3, 0);
	MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
	SetSCurve(&T16000, JOYY, 0, 0, 0, 3, 0);
	MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
	SetSCurve(&T16000, RUDDER, 0, 0, 0, 2, 0);
	MapAxis(&T16000, THR, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
	SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);

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