thank you for your suggestions. I'll be sure to look into it.

not sure this is going to be worth the trouble and I might end up sending the warthog back if I can't figure this out by the middle of December or so. :(
 
Hey H-H,

PS - Fail Forward, if you are checking the thread still - I haven't forgotten your request above. Will hopefully get to try it out this week & see if I can get it working :)

Still floating around. Apparently my MFG crosswinds are about to ship... Hopefully just in time for me to get my hands on my first Federal Corvette.

It's beginning to look a lot like Christmas.... :)
 
Still floating around. Apparently my MFG crosswinds are about to ship... Hopefully just in time for me to get my hands on my first Federal Corvette.

It's beginning to look a lot like Christmas.... :)

Awesome, sounds like they were built rather quickly :) You are going to love em' :)


Spent some time trying to get this working for the FAOff on the axes. I just can't see to get it to do it right. If I perform any axis in isolation (ie just X Axis or Y axis) I can get it to work fine, but as soon as I combine any it flips out. Moving the joystick around in a circular action seems to turn it off and on again. Also seems the throttle performs differently for some reason (not sure why, but seem to be why it stops working at times), but removed it to see if I could get it working just on the Joystick for starters.

I have tried to track the state using some variables, to prevent it firing again if it has already been enabled/selected, and also tried to explicitly call the axis combinations (8 in total for the X & Y) to see if that may help like this:

(Axis[DX_X_AXIS].pos < -16383 | Axis[DX_X_AXIS].pos > 16383) |
(Axis[DX_Y_AXIS].pos < -16383 | Axis[DX_Y_AXIS].pos > 16383) |
(Axis[DX_X_AXIS].pos < -16383 & Axis[DX_Y_AXIS].pos < -16383) |
(Axis[DX_Y_AXIS].pos < -16383 & Axis[DX_X_AXIS].pos > 16383) |
(Axis[DX_Y_AXIS].pos > 16383 & Axis[DX_X_AXIS].pos > 16383) |
(Axis[DX_X_AXIS].pos < -16383 & Axis[DX_Y_AXIS].pos > 16383)

Tried as well to break this down into separate functions for each axis, but ultimately the same results.

From what I can see in the device analyzer, the axis values remain in the zones required, but it retriggers the request and reverses for some reason. Might be looking at the logic the wrong way but from what I can see it should work.

My test script has become a bit of a mess but this might give an idea on where I ended up:

Code:
[COLOR=#1e90ff][B]int[/B][/COLOR] axisUpdateFA() { [COLOR=#32cd32]// If Any Axis is 75% to 100% set FA Off, else set FA On[/COLOR]
        [COLOR=#1e90ff][B]if[/B][/COLOR]( (AxisChk == [COLOR=#ffffff]0[/COLOR]) &
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR] | Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR] | Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR]) |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > [COLOR=#ffffff]16383[/COLOR]  & Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])
            )
                {
                ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]FlightAssist);
                AxisChk=!AxisChk;
                }
        [COLOR=#1e90ff][B]if[/B][/COLOR]( (AxisChk == [COLOR=#ffffff]1[/COLOR]) &
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR] | Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR] | Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos < [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR]) |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos < [COLOR=#ffffff]16383[/COLOR]  & Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos < [COLOR=#ffffff]16383[/COLOR])  |
            (Axis[COLOR=#ffffff][[/COLOR]DX_X_AXIS].pos > -[COLOR=#ffffff]16383[/COLOR] & Axis[COLOR=#ffffff][[/COLOR]DX_Y_AXIS].pos > [COLOR=#ffffff]16383[/COLOR])
            )
                {
                ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]FlightAssist);
                AxisChk=!AxisChk;
                }
        [COLOR=#1e90ff][B]else[/B][/COLOR] {
            [COLOR=#1e90ff][B]return[/B][/COLOR] [COLOR=#ffffff]0[/COLOR];
                }}

I think this has beaten me for now :(
 
Hi Aussiedroid,

my first Warthog arrived today and I was looking for some existing setups and found this. Wonderful, thank you very much for your work. :)
Still getting familiar with it, but I like it very much. You put a lot of thought into this.

In the Throttle reference picture on the Steam page it says, if the Throttle mode is in Precision mode (Flaps down), boost is disabled. Makes sense, as I want to use Precision mode during station approach and in that case I do not want to boost. So yeah, cool idea. But I noticed this does not work, Precision mode does not prevent boost. I looked into the scripts (took a bit to get around) and noticed that in line 215 & 216 you check if the Autopilot switch is down (ALTAP), not the Flaps switch (FLAPD). I changed in both line the first condition to "if(!Throttle[FLAPD]" and that seems to do the trick, boost is now disabled in Throttle Precision mode.
Perhaps this was intentional and I missed a previous changelog, but just in case this might be not intented, I thought I drop this notice.

Back to memorizing the Warthog button combos. My first landling with the new Joystock looked liked I play Elite for the first time. :)
 
Hi Aussiedroid,

my first Warthog arrived today and I was looking for some existing setups and found this. Wonderful, thank you very much for your work. :)
Still getting familiar with it, but I like it very much. You put a lot of thought into this.

In the Throttle reference picture on the Steam page it says, if the Throttle mode is in Precision mode (Flaps down), boost is disabled. Makes sense, as I want to use Precision mode during station approach and in that case I do not want to boost. So yeah, cool idea. But I noticed this does not work, Precision mode does not prevent boost. I looked into the scripts (took a bit to get around) and noticed that in line 215 & 216 you check if the Autopilot switch is down (ALTAP), not the Flaps switch (FLAPD). I changed in both line the first condition to "if(!Throttle[FLAPD]" and that seems to do the trick, boost is now disabled in Throttle Precision mode.
Perhaps this was intentional and I missed a previous changelog, but just in case this might be not intented, I thought I drop this notice.

Back to memorizing the Warthog button combos. My first landling with the new Joystock looked liked I play Elite for the first time. :)

Hey CMDR Bernard,

Thanks for checking out the script, and glad you like it! Happy days with the new Warthog! Certainly took me a few hours to adjust coming from my last HOTAS. The weight, the feel etc .. it comes along quickly though :)

Doh! No, this is my mistake. Hope you didn't loose a ship finding this out! A few updates back I swapped over the Joystick & Throttle axis mode switches and seems I have missed changing this too. Thanks for letting me know & doing the leg work finding the issue. I've updated/fixed it for my next release. :)

Cheers,
AD
 
Last edited:
Thanks for the confirmation, glad I could help.
No ships and tribbles were harmed during the learning process.

Minor suggestion: This post might be better placed in the "Released & Active Player Tools" subforum, where I originally looked. I found your post only by a full-forum search.

On my german keyboard the programmed chat message go like "Easz there" , "Zou are a disgrace" because of swapped y/z keys for us strange Germans. But I suppose that's not really a problem with your script but rather with the T.A.R.G.E.T software. Should be sufficient to just swap y/z in the scripts on my side. Or I missed some language setting in T.A.R.G.E.T, will investigate later today. I'm probably not the first person with this problem. However, other keys which are different on German keyboards like '[' or ']' work fine and are properly detected by Elite. tl;dr: Most probably not your problem.
 
Thanks for the confirmation, glad I could help.
No ships and tribbles were harmed during the learning process.

Minor suggestion: This post might be better placed in the "Released & Active Player Tools" subforum, where I originally looked. I found your post only by a full-forum search.

On my german keyboard the programmed chat message go like "Easz there" , "Zou are a disgrace" because of swapped y/z keys for us strange Germans. But I suppose that's not really a problem with your script but rather with the T.A.R.G.E.T software. Should be sufficient to just swap y/z in the scripts on my side. Or I missed some language setting in T.A.R.G.E.T, will investigate later today. I'm probably not the first person with this problem. However, other keys which are different on German keyboards like '[' or ']' work fine and are properly detected by Elite. tl;dr: Most probably not your problem.


Good to hear the tribbles are safe :p

There is a setting in the EDSettings file that may help you:

define KBLayout KB_ENG

I assume that if that is changed to German layout that things would map properly for the misaligned keys. Worth a shot at any rate.

AD
 
Custom Remapping Advice

Hi Zenumtin,

This is in response to your Steam Guide question on customising the script. I've posted it here to avoid the character limit on Steam as its a bit lengthy. Given there is a lot of changes you want to make, I can't go through all of them with detailed code as I will be here all arvo writing this post, but will describe how to make most changes you need & where to look. I hope this will start you in the right direction.

Some advice to start with:

- The manual is your friend. You can access this via the Help button in the script editor. It explains how most commands work & may help if you get into trouble. Likewise, read the comments in green in the script (may need to scroll to the side at some points).

- Be patient :) Make one change at a time, save, compile & test in ED before moving onto the next.

- Become familiar with the sections in the script. Everything is commented ('//') to help. Each file handles specific things such as keybinds, or macro/functions or key mappings. Primarily, you will need the key mappings file to be changed, but there are a few other things.

- Make backups & copies as you progress through. Nothing worse than loosing your work. This goes for both the script files & the ED bindings file after you make each successful change. With backups you are free to mess around and try things without risk.



Ok, lets start with the easier changes, where you want to swap two commands & work our way through.


1) Swap ECM/Shield Cell Bank & Chaff/Heat Sink long/short presses:

Around line 159 in the main ED script you will find this:

Code:
    MapKey(&Joystick,  S1,  TEMPO[COLOR=#ffffff]([/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]FireChaffLauncher, PULSE[COLOR=#ffffff]+[/COLOR]DeployHeatSink, LongPressDelay));
    MapKey(&Joystick,  S2,  TEMPO[COLOR=#ffffff]([/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]SRVTurret, PULSE[COLOR=#ffffff]+[/COLOR]UseShieldCell, LongPressDelay));

Simply swap the two commands after the TEMPO part to change which is long and which is short press. Such as:

TEMPO(PULSE+DeployHeatSink, PULSE+FireChaffLauncher, LongPressDelay)

Same applies to the Fighter Focus & Wingman's target, which are found just under the above code. These look a little different as they have IF statements for the modifier key (Joystick[S4]) but operate the same way. Just copy/paste to move these around to your liking.


2) Swapping Throttle Presets:

This can be done by changing these user preferences in the EDSettings files:

define ThrottlePresetUP
define ThrottlePresetMID
define ThrottlePresetDOWN

Note: My script uses its own Forward Only mode so the button mapping for reverse does not work. You will need to use the digital reverse thrust to go backwards (Thrusters Back). Right now, this is mapped directly in ED bindings file, so moving it to where the Hardpoints are by default will be harder as its used for other things in the script.

Alternatively, if you only use Forward only, you can change this in the ED bindings file directly without script code change, but that will make the Throttle presets break (ie leave full range & don't use them). Also, I describe below where I have the ** note how to unmap the Hardpoints in the (initHardpointManagement()). If you do this you may be able to map this directly to the Reverse Thrust toggle in ED bindings from ED if you go down that path.


3) Middle Mouse Button where Mic Toggle is:

I'm not sure if it is possible to map a mouse button directly into the script. So alternatively, if you clear the mappings in the script to free up the button in question it should allow you to map this directly in ED bindings to whatever you want to have on that Mouse button. OR if you are using the middle mouse button with external software, you may need to map this to a keyboard key.

Comment out '//' these lines around 259 in the main script file:

Code:
    MapKey(&Throttle,  MSP, EXEC([COLOR=#a52a2a]"initMicCommander();"[/COLOR]));                                                            
    MapKeyR(&Throttle, MSP, EXEC([COLOR=#a52a2a]"initMicCommander();"[/COLOR]));

Then map in ED bindings in game.


4) Add Hardpoints to China Hat Switch:

This one requires a bit of coding, but not too complicated. See line 256 in main ED script:
Code:
    [COLOR=#1e90ff][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]CruiseOnThrottle == [COLOR=#ffffff]1[/COLOR]){  
        MapKey(&Throttle,  CHF, PULSE[COLOR=#ffffff]+[/COLOR]OrbitalLines);
        MapKey(&Throttle,  CHB, PULSE[COLOR=#ffffff]+[/COLOR]SelectNextSystemInRoute);

This defines your forward & back actions. You need to add the hardpoints to one of these with the modifier [2].

Code:
MapKey(&Throttle, CHF, EXEC([COLOR=#a52a2a]"if(!Joystick[H4P] ActKey(KEYON+[/COLOR][COLOR=#a52a2a]PULSE[/COLOR][COLOR=#a52a2a][COLOR=#a52a2a]+[/COLOR]OrbitalLines);"
[/COLOR][COLOR=#a52a2a]                             if(Joystick[H4P]  [/COLOR][COLOR=#a52a2a]ActKey(KEYON+[/COLOR][COLOR=#a52a2a]PULSE[/COLOR][COLOR=#a52a2a][COLOR=#a52a2a]+[/COLOR][COLOR=#a52a2a]DeployHardpoints[/COLOR]);"[/COLOR]));


** For cleanup, I would also go into the EDFunctions file (initHardpointManagement()) around line 295 & comment out the following to ensure that Hardpoints are disabled on the default button:

// ActKey(KEYON+PULSE+DeployHardpoints);

The rest of the function will still be used for the other commands mapped.


5) Remapping the Mic Switch & Coolie Hat Switch on the Throttle:

Good news here is that these are not mapped in the script! You can see these commented out/null around line 232 & 239 respectively in the main script file. This means that all these directional hat switches can be mapped directly in ED to your liking.

You should still be able to use combo/modifier commands directly in ED bindings for things like the Yaw left/right. I would recommend leaving as much of the existing mapping as possible, so if there is a keyboard command mapped already, try to leave it and just add the DX mapping via the button press of the hat switch. This will minimise breaking anything else that may use it in the script.



I think that covers everything, but let me know if I missed something. There may be further cleanup or remapping needed depending how it all works out (may be worth keeping a note of those things you are removing or moving to double check). Any questions or issues, will help if I can.

AD
 
Last edited:
Hi AD,

Sorry to bother. Is there any way to add a T16000M joystick to this profile (as a second stick)? I know the script is set to ignore it, just wondering how much editing/coding is required for the stick to be used.

-Raja
 
Hey Raja,

Can't say I have any experience with setting up dual sticks. From what I understand it is possible, but may take some work to remap things to use it.

I remember seeing this a little time ago of another dual stick script, which may cover in some more detail what is required:

https://forums.frontier.co.uk/showthread.php/394813-Dual-T16000-Script?p=6208840#post6208840

I would assume, if the device is enabled into the virtual device & it compiles fine (with nothing mapped), the it would just be a matter of remapping some of the axes and buttons as you need from the existing mappings.

Cheers,
AD
 
Last edited:
Thanks for the reply, dude. Hmm, in your profile there is a disable line for the 16000M, which I removed. Still can't seem to bind anything for the 16000M in the game - inputs not recognized. I'm guessing the two sticks have to be combined somewhere in the script.
 
Thanks for the reply, dude. Hmm, in your profile there is a disable line for the 16000M, which I removed. Still can't seem to bind anything for the 16000M in the game - inputs not recognized. I'm guessing the two sticks have to be combined somewhere in the script.

Yeah, I took a look at that other script a while back but didn't really understand it very well, but if you have tried the above then there must be more to it to integrate it properly. Sorry I can't be much help on this one. Perhaps tahoward who created the other script might be able to provide some further assistance to point you in the right direction.

If you do find a way, I would be most interested to see the modifications you made to my script :)

Cheers,
AD
 
Yeah, I took a look at that other script a while back but didn't really understand it very well, but if you have tried the above then there must be more to it to integrate it properly. Sorry I can't be much help on this one. Perhaps tahoward who created the other script might be able to provide some further assistance to point you in the right direction.

If you do find a way, I would be most interested to see the modifications you made to my script :)

Cheers,
AD

No problem. For now, I've found that unplugging the T16000 before I run the script allows me to plug it back in and use it (keeps it out of target). I can then map binds to it from ED. It's not ideal, but at least workable.
 
Last edited:
Jan 2018 Update!

Update 3.0.0: THE BEYOND UPDATE

-> Its been 6 months since the last update! How time flies. In preparation of the Beyond series of updates this year, I have updated major version number to match. This update contains a few small fixes/updates, and some new features I hope you will like. Most of this feature update has been based on Feedback & Suggestions from you, the users! Thanks for the inspiration!


List of Changes:

NEW: Ship Take-Off Launch Sequence added to Landing Gear Toggle using the CMS Hat Switch Modifier (works in both toggle directions). This will set PIPs (4xSYS, 2xENG), holds Vertical Thrust for 4.0 seconds & retracts Landing Gear. This will work on both planetary surfaces & station launches! (Use at your own risk!) ;)

NEW: Ship Utilities Preference (Combat or Explorer/Trader modes) added. This will change the Short & Long press options for S1 & S2 buttons (Chaff/ECM/Heat Sink/SCB) on the Joystick. Configure under User Preferences. Added keyboard mappings for SRV Turret & ECM (both SHIFT+U) to allow this modification.

IMPROVEMENT: Rewrite of Mic Switch Function. Support added in User Preferences to define Toggle/Hold for external voice software. A secondary external voice software mapping added for streamers (this now gives a total of 3 channels mapped!). This can be accessed by holding down the Pinky Modifier key + Mic (Pinky Modifier doesn't need to be held in PTT scenario). You can also combine both external voice software keys into the Open Mic Toggle to turn on/off together! Internal Mic control changed to toggle from hold in ED bindings to avoid repeating keys when ED is not in focus (should not change default behaviour though). Please let me know if you experience any issues.

IMPROVEMENT: Added EDFX & EDDI to Software Start-up list. (Note: It appears software starting via script no longer work if you are using Win10 - sorry)
IMPROVEMENT: Default PIP Control set to Double Tier PIPs from Triple Tier. (Allows easier use for new Players. Change to Triple Tier via User Prefs)
IMPROVEMENT: Updated Script Load Printout to include new user preferences.

FIXED: Updated VA Toggle Default Mapping Key from ALT+V to ALT+F2 & added some missing mappings in Camera Suite.
FIXED: Throttle Precision Mode preventing Boost when enabled.

CODE CLEANUP: Added define values for Forward/Back Thrust & Galaxy Map (although not mapped currently in script).
CODE CLEANUP: Numerous other minor comment updates, alignments, missed mappings in bindings file, typos etc (of little significance).

GUIDE UPDATE: Added User Preferences section into the Steam Guide to help explain in more detail what each variable can do.
GUIDE UPDATE: Refreshed all Reference Maps & other Images to 3.0.0 mappings.


*NOTE FOR VA USERS*: It was noted in the default HCS Voice Pack Key Mappings that the Galaxy Map default keys need to be updated if you wish to use the automatic routing features in the latest packs. I have not mapped this in this release, but if you want to use this feature then update the key bindings in the ED bindings file to include a SHIFT key (ie change Q to SHIFT+Q, or E to SHIFT+E).


[alien] Fly Safe CMDRs! [alien]

** Please visit the ModDB link to get the latest version *** Updated Steam Guide can be found here **
 
Is there a way of running ED automatically when running your script, rather than running the script and then running ED?
Thanks
 
Last edited:
You might be able to write a batch file to run it, but that is basically doing the same thing as running the script first.

Why are you looking to run it the other way around?
 
Back
Top Bottom