With the script running?

In joy.cpl, does it show "Thrustmaster Combined" or shows the individual Joystick and Throttle?

(I'm not running Windows 11....for a reason)
Yes thats was with the script running.

"Thrustmaster Combined" only the buttons and hats work.

The X and Y axis does not register any input
 

Attachments

  • Screenshot 2024-08-06 065906.png
    Screenshot 2024-08-06 065906.png
    185.5 KB · Views: 80
Ok, off I go to check what it could be in the script.

Don't worry about any effort I'm spending....I love this stuff!

Just hope I can come up with an answer.
 
Try this and let me know...

In AD_EDHardware_5.0.0.0.tmh find...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-X Axis
            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-Y Axis
            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

...change to...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS);                            // JOY-X Axis
//            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS);                            // JOY-Y Axis
//            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

Save, Compile, run, test.

I'm not hopeful as I believe the script should just work as the base adds no smarts as far as I can tell over and above a firmware ID and "should" just present all buttons and axes as is. The base is just a better engineered mechanism with replaceable springs and cams...very nice, but expensive.

Let me know how you get on.

Clicker
 
Last edited:
Try this and let me know...

In AD_EDHardware_5.0.0.0.tmh find...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-X Axis
            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-Y Axis
            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

...change to...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS);                            // JOY-X Axis
//            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS);                            // JOY-Y Axis
//            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

Save, Compile, run, test.

I'm not hopeful as I believe the script should just work as the base adds no smarts as far as I can tell over and above a firmware ID and "should" just present all buttons and axes as is. The base is just a better engineered mechanism with replaceable springs and cams...very nice, but expensive.

Let me know how you get on.

Clicker
Hello

Thanks for this. I will download it and give this a go. I will report back, and let you know how I get on.
Try this and let me know...

In AD_EDHardware_5.0.0.0.tmh find...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-X Axis
            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);                            // JOY-Y Axis
            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

...change to...

Code:
    int initJoystickAxis() {                                                                     // Set Default Joystick Axis
        if(VerboseOutput) printf("Initialising Joystick Axis... ");
        MapAxis(&Joystick, JOYX, DX_X_AXIS);                            // JOY-X Axis
//            SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0);
        MapAxis(&Joystick, JOYY, DX_Y_AXIS);                            // JOY-Y Axis
//            SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

Save, Compile, run, test.

I'm not hopeful as I believe the script should just work as the base adds no smarts as far as I can tell over and above a firmware ID and "should" just present all buttons and axes as is. The base is just a better engineered mechanism with replaceable springs and cams...very nice, but expensive.

Let me know how you get on.

Clicker
Hello

Ok same issues on this using the above code. No X and Y axis on the combined optput. All buttons and hats work.
Its upto thrustmaster now.

Cheers again!!
 
I didn't pick up on the whole "All buttons and hats work" and should have explored this more.
I was fixated on the axes not working.

When the script is running, some buttons send their DX equivalents and some should send keypresses.
Keypresses will show up in event tester but DX won't. this can be misleading unless you understand what the script does for every given keypress.

When the script is not running, or if the joystick is being bypassed then you get ALL DX output (and no keypresses).

If all you need is the DX output, then TARGET script is overkill and adds nothing.
What scripting allows is to use conditional statements and send a series of keypresses or series of DX outputs (or both) for a single action.

Simple example is Jostick Hat Up ... in this script it sends a combination keypress = RightControl+0 and your bind file should have a coresponding action bound to that specific key combo.
 
Last edited:
I didn't pick up on the whole "All buttons and hats work" and should have explored this more.
I was fixated on the axes not working.

When the script is running, some buttons send their DX equivalents and some should send keypresses.
Keypresses will show up in event tester but DX won't. this can be misleading unless you understand what the script does for every given keypress.

When the script is not running, or if the joystick is being bypassed then you get ALL DX output (and no keypresses).

If all you need is the DX output, then TARGET script is overkill and adds nothing.
What scripting allows is to use conditional statements and a send series of keypresses or series of DX outputs (or both) for a single action.

Simple example is Jostick Hat Up ... in this script it sends a combination keypress = RightControl+0 and your bind file should have a coresponding action bound to that specific key combo.
Yep, thats what I thought, and is the reason, i needed to change the buttons in the script to &AVA16 because if i didn't, then none of the buttons would have activated the Key presses, they would have just given DX button presses.

That was my thinking
 
Thought I should post this here. In case anyone has the new Thrustmaster AVA Base, and find this script nolonger works with the new base.

Thrustmaster has changed the Alias (name) of the stick. What used to be &joystick (warthog base& stick) is now: &AVA_F16 or &AVA_F18 depending on what stick you have on the base.

See either the attached .pdf or ,PNG (Both the same info). Does not take long to do, once you figure out whats going on. Thanks to

Clicker for all the help.​

 

Attachments

  • For users with the new AVA base with F16 or F18 sticks.pdf
    122.9 KB · Views: 180
  • For users with the new AVA base with F16 or F18 sticks.png
    For users with the new AVA base with F16 or F18 sticks.png
    941.3 KB · Views: 98
Thought I should post this here. In case anyone has the new Thrustmaster AVA Base, and find this script nolonger works with the new base.

Thrustmaster has changed the Alias (name) of the stick. What used to be &joystick (warthog base& stick) is now: &AVA_F16 or &AVA_F18 depending on what stick you have on the base.

See either the attached .pdf or ,PNG (Both the same info). Does not take long to do, once you figure out whats going on. Thanks to

Clicker for all the help.​


Be very careful with the whole search/replace if you try to modify Aussiedroid's scipt.
Do not just do a blanket search/replace of "Joystick" with "AVA_F16" as you may break the script.

Follow @rdalcroft 's guidance then also do the following;
Replace "Joystick[" with "AVA_F16["

On a related note:-
If you have the F18 stick on the Warthog base or the AVA base with the F18 stick you can use this process to make Aussiedroid's script work properly
1) F18 Stick with Warthog base use "JoystickF18" instead of "AVA_F16" in your search+replace
2) F18 Stick with AVA base use "AVA_F18" instead of "AVA_F16" in your search+replace

Clicker
 
Be very careful with the whole search/replace if you try to modify Aussiedroid's scipt.
Do not just do a blanket search/replace of "Joystick" with "AVA_F16" as you may break the script.

Follow @rdalcroft 's guidance then also do the following;
Replace "Joystick[" with "AVA_F16["

On a related note:-
If you have the F18 stick on the Warthog base or the AVA base with the F18 stick you can use this process to make Aussiedroid's script work properly
1) F18 Stick with Warthog base use "JoystickF18" instead of "AVA_F16" in your search+replace
2) F18 Stick with AVA base use "AVA_F18" instead of "AVA_F16" in your search+replace

Clicker
Yes being more exact on the "Find what" and "Replace with" terms will make it more accurate:

Here is what I suggest, it should make it so that it only selects what we want to replace.

1: Find what: &Joystick --------Replace with: &AVA_F16
2: Find what: Joystick[ -------Replace with: AVA_F16[

This will mean you will have to do it in 2 separate runs for each file.

Using Notepad++ and selecting "search" from the top menu, then "replace" from the drop down.

I still suggest using the replace button and doing it one entry at a time. To be safe. Do not use replace all, if you are unsure.

I would make a copy of the script and try it out on that, to be safe.
 
Last edited:
@

Clicker


Question I keep getting this error in the script when entering a planet, and trying to put the landing gear down?

landing gear deploypng.png

If i select it using the right hand Panel, in the UI, it puts the gear down, but why is the script not letting me, it still thinks I'm in super cruise or something?
 
Hi @rdalcroft ,

Status.json is written regularly by the game and contains one line of json data.
This data varies in length and contains things like the names of the system and planet.

The status.json checking code in v5.0.0 (Odyssey) of Aussiedroid's script is now quite old and the game has added more status items over the last 3 years and the buffer variable is now not large enough.

Hopefully the following will fix your issue;

Open AD_EDStatusJson_v5.0.0.tmh
On line 63 increase 'buf' variable from 512 to 768.

Hope this helps.

Clicker
 
Last edited:
Hi @rdalcroft ,

Status.json is written regularly by the game and contains one line of json data.
This data varies in length and contains things like the names of the system and planet.

The status.json checking code in v5.0.0 (Odyssey) of Aussiedroid's script is now quite old and the game has added more status items over the last 3 years and the buffer variable is now not large enough.

Hopefully the following will fix your issue;

Open AD_EDStatusJson_v5.0.0.tmh
On line 63 increase 'buf' variable from 512 to 768.

Hope this helps.

Clicker
OK this worked,

thanks,

its reporting everything correctly in the target GUI.

Aussiedroid should consider giving you the script to handle from now on. It's a shame, as it's a great script, and really needs someone like you to keep it UpToDate.

You have been so helpful, and I do appreciate the help, the quick response from you whenever I have an issue I do not fully understand.
 
Last edited:
Ok, so I got the aussiedroid odyssey script working but it


Thanks for this, that seemed to do the trick. Unfortunately none of the Pinky button modifier actions are working now. Things like the full throttle/pinky jump activation, or the automated docking request no longer work. I didn't think missing those would be a big deal, but I have such muscle memory for them that it feels wrong to not have them!

Looking at the above maybe it's to do with the fact I swapped out my Warthog Stick for the F-18 one? I'm going to try replacing the references to the stick with the more up to date one and see if that helps.
 
Last edited:
@imski,

If you are using the F18 flight stick, then yeah that'll be the issue.

Go back about 7 posts in this thread and read posts #1370 and #1371...


Assuming you are using the original Warthog base with the F18 flight stick then what you specifically need to do is, open every script file and ...

1: Find what: &Joystick --------Replace with: &JoystickF18
2: Find what: Joystick[ -------Replace with: JoystickF18[ ( yes, that is a square open bracket character not a typo)

Otherwise, if you have the new AVA base with the F18 flight stick then...

1: Find what: &Joystick --------Replace with: &AVA_F18
2: Find what: Joystick[ -------Replace with: AVA_F18[

If you use notepad++ you can open every file at once and do a search/replace.
It is recommended you go through one file at a time and one search/replace at a time by selecting "next"

Hopefully this will go smoothly for you but if you need help...just sing out.

Clicker
 
Last edited:
@imski,

If you are using the F18 flight stick, then yeah that'll be the issue.

Go back about 7 posts in this thread and read posts #1370 and #1371...


Assuming you are using the original Warthog base with the F18 flight stick then what you specifically need to do is, open every script file and ...

1: Find what: &Joystick --------Replace with: &JoystickF18
2: Find what: Joystick[ -------Replace with: JoystickF18[ ( yes, that is a square open bracket character not a typo)

Otherwise, if you have the new AVA base with the F18 flight stick then...

1: Find what: &Joystick --------Replace with: &AVA_F18
2: Find what: Joystick[ -------Replace with: AVA_F18[

If you use notepad++ you can open every file at once and do a search/replace.
It is recommended you go through one file at a time and one search/replace at a time by selecting "next"

Hopefully this will go smoothly for you but if you need help...just sing out.

Clicker
That did the trick, many thanks!
 
This may have already been answered but I was unable to find that answer. I recently got a hotas warthog joystick and thruster to enjoy ED with and I stumbled upon this script with my son's help. We ran the script and everything seemed to work flawlessly, but 2 buttons and the hat seems to no longer respond when it became Thrustmaster combined. I think it was button 2 and 5 according to the Analyzer. (the red button on top and the grey side button on top) We tried 4.3 and the 5.0 beta and the problem persisted. It is a english keyboard so I don't think I need to switch it to german or french. Is there anything else we can try? It is a lovely script and I am thankful for the effort that has been put into it.
 
Back
Top Bottom