Jump to content

DCS Menu Nav


JLX

DCS Menu Nav  

234 members have voted

  1. 1. DCS Menu Nav

    • VERY - As a heavy HOTAS and/or VR user, this would be a big help!
    • KINDA - It'd be nice to have but not that big of a deal.
    • NOT AT ALL - Don't really see the need for anything beyond what we already have.


Recommended Posts

Hey ron533,

 

How did you resolve the issue? Perhaps your solution could help others. Was the problem that you weren't using the correct prefixes or was something else amiss that you figured out?

 

As a few ppl with multiple controllers have had trouble with the config, presumably because it's not obvious which deviceID a particular controller is using. I'm going to simplify the setup by adding device/button detection when I get some free time. Hopefully this will help.

 

As usual I'll post here when it's ready.

 

Cheers.

 

Hi,

It took sometime to find my controller number since I have 3 monitors in surround, and couldn't see when pressing the button changed anything in the UI, it must have been hidden behind a bezel...

I've changed the positioning config to suit my surround screens :

[Positioning]

NudgeX = -2040

NudgeY = 15

LineSpacing = 11

 

With your post about setting the default device, it was simpler since I knew to expect the inputs from the device I was working with, in the default syntax

BtnToggle = PovRIGHT

BtnItemUp = PovUP

BtnItemDn = PovDOWN

BtnSelect = PovLEFT

 

Then I tried until I've found the prefix for the other joystick I'm using as a modifier does something...

[Modifiers]

BtnMod1 = 3Joy3

 

the nice part is that I didn't have to close and reopen DCS for those tests,

just alt+tab, change the INI file and restart your program , alt+tab back to DCS and check again.

 

Thanks for your work and time! :thumbup:

Callsign   SETUP

Link to comment
Share on other sites

This utility would be 100x better for my needs if BtnItemDn would pop up the overlay with "1". Then I would only need two commands to use this utility: next, select. The BtnToggle command only serves to frustrate the situation. If I make it overlap with the DCS comm key as is suggested then I often get into out-of-sync situations. DCS will pop up the menu without any user input. Stuff happens. Trying to sync the button presses to toggle the overlay and the comm menu is hopeless and unnecessary.

 

As a tool this utility is trying to smartly predict situations which it cannot have the required information about. It is like an automatic hammer without any nail sensors. The resulting inflexibility subtracts from its usefulness.

 

How I see myself using the utility is like this:

 

Press DCS comm to bring up text menu, overlay remains inactive.

Press Overlay Next which brings up the number 1 on screen.

Press Overlay Next to cycle 1, 2, 3, 4, 5...11, 1, 2, 3... as needed.

Press Overlay Select to generate the F-key matching the given number.

Wait for timeout which produces an F12 stroke and hides the overlay.

 

I know that's an extra input between toggling the DCS menu and initializing the overlay but it solves so many issues. The user now has sufficient control to match the dynamic context.

 

It has proven necessary to unbind the F12 key from any DCS function. This utility has no way of determining when it should press F12 to close the menu and when F12 would do another action. That's not the utility's fault; it's just a reality of the unpredictable nature of the arrangement.

 

Now you can include other luxury functions like Overlay Previous which cycles the numbers backward or Overlay Back which generates an F11 stroke that's fine. That would flesh out a 4-way joystick hat if more convenience is desired and extra buttons are available.

 

One feature that I think is a no-cost, no-brainer is to have the selection increment while the next/previous button is held down. It's silly to have to press "next" eight times to increment the value by eight. It would be much nicer if one could simply hold down the command and release on the desired value.

Link to comment
Share on other sites

+100 Great idea and Mod, thanks JLX !

Regards

 

DL available skins here:

https://www.digitalcombatsimulator.com/en/files/?CREATED_BY=Strut

 

 

Pictures of my Skins here: https://imgur.com/a/bOQyQqW

 

[sIGPIC][/sIGPIC]

Win10 64bit, Intel® Core i7-5820K CPU OC @ 4.50GHz x6, X99A GAMING PRO CARBON, MSI RTX 2080 TI GAMING X TRIO 11Gb, 32GB DDR4 RAM, SSD 960 EVO250GB, SSD 850 EVO 500GB, JetSeat, MFG Crosswind Pedals, VPC Mongoose T-50, TMWH, DSD ButtonBox, Pimax 5k XR/BE

 

 

Link to comment
Share on other sites

  • 3 weeks later...
...DCS will pop up the menu without any user input...

 

Can you please give me an example of when this happens?

 

...As a tool this utility is trying to smartly predict situations which it cannot have the required information about... ...It has proven necessary to unbind the F12 key from any DCS function. This utility has no way of determining when it should press F12 to close the menu and when F12 would do another action...

 

I'm working on a solution for this. It's a little tricky but if I can get it to work, DCS Menu Nav will be able to detect - rather than guess - the state of the menu. If successful, this should address a number of shortcomings as well as sync issues.

 

...BtnItemDn would pop up the overlay with "1"... ...have the selection increment while the next/previous button is held down...

 

Thanks again for the suggestions. Activating the overlay on a next/prev press is already planned. Auto-increment on hold is a good idea and I'll also likely add it as an option.

 

...I have 3 monitors in surround...I've changed the positioning config to suit my surround screens:

[Positioning]

NudgeX = -2040

NudgeY = 15

LineSpacing = 11

...

 

Thanks for sharing your solution. My I ask why you changed the line spacing to 11 from the default 16? Have you changed the size/position of the menu? I'd like to understand various unanticipated use cases as this may be relavent to my next round of updates. Tnx.

 

...Wish you could simplify/automate the setup a bit further.

 

This is also on the todo list.

 

 

To everyone else, thanks again for the kudos. It's always nice to get feedback for one's efforts. Cheers!

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

  • 2 months later...

Just tried this program out and whilst it works fine for me in non-VR, when I try to use it with my Vive the overlay appears on my monitor (i.e. outside of the VR mirror window) rather than inside the HMD.

 

The OP mentions VR so I'm guessing this is supposed to work - any idea why this is happening?

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...
Just tried this program out and whilst it works fine for me in non-VR, when I try to use it with my Vive the overlay appears on my monitor (i.e. outside of the VR mirror window) rather than inside the HMD.

 

The OP mentions VR so I'm guessing this is supposed to work - any idea why this is happening?

 

what a solution in vr?

any idea?

 

Apologies gents! The overlay is indeed not displaying in VR as intended.

 

To address this, I've added audio cues to the program so you can use your ears, rather than your eyes, to navigate the menu. Hopefully, this will make the program useful in VR again.

 

Let me know if this works for you or if you have any other suggestions for improvements.

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

Is there a way to put a keyboard key instead of a joybutton?

 

What should I write in the ini file? (hotkey "H") for example?

 

Currently the program error checks the joystick/POV assignments to make sure they're valid and this screens out any normal AHK assignments.

 

I'm assuming you want to do this as you may have letter keybinds to your joystick buttons.

 

I'm still planning on adding easier setup and a menu detection scheme to avoid sync issues in a future version. I'll add allowing standard keyboard keys, rather than just joystick buttons, to the wishlist too.

 

Thanks for the suggestion.

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 1 month later...

Is this mod still working? I LOVE what it brings to VR but I cant seem to get it to work now. It used too.

i7-7700K, 32GB DDR4, 525GB SSD, 1TB HDD, GTX 1080Ti 11GB, Liquid Cooling, Win 10, Warthog HOTAS, TPR Pedals, HP Reverb, Oculus Rift with Touch, Jetseat and bass shakers, PointCTRL, and Scale F-14B Cockpit

Link to comment
Share on other sites

Hey everyone. I've been preoccupied with other things and stepped away from the utility for a while but it's not dead.

 

I'm considering a revised version that would make it a mod (as it would require some minor changes to a DCS LUA file) instead of the standalone utility it is now.

 

While this would help integrate it better with DCS, part of it's current appeal I believe is its simplicity and that it doesn't get broken if DCS files change/update. So, I'm still debating if increased usability is worth the "hassle" of modding a file. It may just cause more headaches each time DCS gets updated.

 

Anyway, to answer some neglected questions:

 

I'd love to have keyboard inputs or keys utilized also. My logitech has 12 extra keys. 4 that would be perfect for this.

 

I didn't make keybinds a priorty as it's aimed at HOTAS/Joystick users. However, I believe this is the second request so I'll consider it.

 

what are the challenges faced on getting this to work w/ VR?

 

The challenge is that I'm using AHK to implement this and I'm bound by what it can do. While it can output to a screen overlay, it cannot (to the best of my knowledge) write to the VR buffer which is why I can't display anything there. This is why I switched to using sound cues instead.

 

If anyone knows how to get AHK to write to the VR display, please let me know! Tnx.

 

Is this mod still working? I LOVE what it brings to VR but I cant seem to get it to work now. It used too.

 

Yes, it should still be working just fine. It's actually not a "mod" (in that it doesn't modify any DCS files) but a standalone utility. DCS doesn't even need to be running for it to work. So, although it looks like it's part of DCS, it's actually quite separate and just runs alongside it.

 

Point being that yes: If it ran before, it should still run just fine now DCS updates don't affect it.

 

Is it possible that your joystick mappings may have changed? If you've added a new device or made other system changes, it might be monitoring the wrong joystick? Worth a double check.

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

I figured out how to open the instructions. Yes, I believe it's a binding issue. I've forgotten how I did it before. I use my throttle quadrant for comms. Thanks for keeping on this! What do I need to call the throttle or how do I bind it?

i7-7700K, 32GB DDR4, 525GB SSD, 1TB HDD, GTX 1080Ti 11GB, Liquid Cooling, Win 10, Warthog HOTAS, TPR Pedals, HP Reverb, Oculus Rift with Touch, Jetseat and bass shakers, PointCTRL, and Scale F-14B Cockpit

Link to comment
Share on other sites

  • 2 weeks later...

First of all, great work! :thumbup:

However, I'm a little bit confused with how to use the modifiers.

 

I have only two unassigned buttons left on my POV1 and as such, I'd like to map the remaining two buttons for the Menu Nav with aid of a modifier (the Pinkie on my X52). I.e. something like

 

BtnToggle = "Pov-Right" + Pinkie # just for illustration

BtnItemUp = "Pov-Right"

BtnItemDn = "Pov-Left"

BtnSelect = "Pov-Left" + Pinkie

 

So I've seen that the .ini file contains a modifiers section, but I'm a little bit confused about how this works.

 

Do I just have to enter the modifier button in the appropriate position, like:

BtnMod1 = Pinkie

BtnMod2 =

BtnMod3 =

BtnMod4 = Pinkie

 

?

Link to comment
Share on other sites

I figured out how to open the instructions. Yes, I believe it's a binding issue. I've forgotten how I did it before. I use my throttle quadrant for comms. Thanks for keeping on this! What do I need to call the throttle or how do I bind it?

 

You specify different devices by prefixing the button with the device number. So, for example, if your joystick was device1 (default) and your throttle is device2, it might look something like this:

 

[buttons]
BtnToggle = 2Joy4  // This is button 4 on the second device (throttle)
BtnItemUp = Joy3  // This is button 3 on the default (first) device. In this case we can omit the prefix
...

 

Admittedly, it's sometime difficult to tell which device number Windows has assigned to which controller. You can tell Windows to use a particular controller as default (#1). As for which controller is #2, #3, etc. it takes a bit of trial and error.

 

I have device detection on my list for a future version but just haven't gotten around to it yet ;-)

 

First of all, great work! :thumbup:

However, I'm a little bit confused with how to use the modifiers.

 

I have only two unassigned buttons left on my POV1 and as such, I'd like to map the remaining two buttons for the Menu Nav with aid of a modifier (the Pinkie on my X52). I.e. something like

 

BtnToggle = "Pov-Right" + Pinkie # just for illustration

BtnItemUp = "Pov-Right"

BtnItemDn = "Pov-Left"

BtnSelect = "Pov-Left" + Pinkie

 

So I've seen that the .ini file contains a modifiers section, but I'm a little bit confused about how this works.

 

Do I just have to enter the modifier button in the appropriate position, like:

BtnMod1 = Pinkie

BtnMod2 =

BtnMod3 =

BtnMod4 = Pinkie

 

The order of the modifiers isn't important. In your case, you'd just need one entry and leave the rest blank:

 

BtnMod1 = Joy4  // or of course whatever your Pinkie button is

 

 

There are multiple modifier entries because I (and perhaps others) use several modifier buttons in unison (called chording) to get more shift states. But if you don't need them, just leave them blank.

 

 

Hope that helps guys!

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

The order of the modifiers isn't important. In your case, you'd just need one entry and leave the rest blank:

 

BtnMod1 = Joy4  // or of course whatever your Pinkie button is

There are multiple modifier entries because I (and perhaps others) use several modifier buttons in unison (called chording) to get more shift states. But if you don't need them, just leave them blank.

 

Thank you for the quick answer! But how does Menu Nav then know that Pinkie + PovLeft means BtnSelect and not BtnItemDn?

Should I add the modifier key to the button mapping, e.g. if

 

BtnMod1 = Joy4

 

then

 

BtnItemDn = Joy8

BtnSelect = Joy8Joy4

 

?

Link to comment
Share on other sites

Thank you for the quick answer! But how does Menu Nav then know that Pinkie + PovLeft means BtnSelect and not BtnItemDn?

Should I add the modifier key to the button mapping, e.g. if

 

BtnMod1 = Joy4

 

then

 

BtnItemDn = Joy8

BtnSelect = Joy8Joy4

 

Ah. I see where the confusion is...

 

You cannot set different modifiers for each key in MenuNav. The modifiers that you select apply to all keys.

 

So, if you have set BtnMod1=Joy4(Pinky) then you'll need to hold Pinky with ALL (Up/Dn/Toggle/Select) functions.

 

The idea is that the modifier let's you select the "layer" that you want all the functions to operate on.

 

I can see this being a common point of confusion and I'll try and remember to clarify it in the docs when I get around to updating next.

 

*Edit: I see what you're trying to do and will add more flexible modifiers (different ones per function) to the wishlist for future consideration.


Edited by JLX

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

Ah. I see where the confusion is...

 

You cannot set different modifiers for each key in MenuNav. The modifiers that you select apply to all keys.

 

So, if you have set BtnMod1=Joy4(Pinky) then you'll need to hold Pinky with ALL (Up/Dn/Toggle/Select) functions.

 

The idea is that the modifier let's you select the "layer" that you want all the functions to operate on.

 

I can see this being a common point of confusion and I'll try and remember to clarify it in the docs when I get around to updating next.

 

*Edit: I see what you're trying to do and will add more flexible modifiers (different ones per function) to the wishlist for future consideration.

 

 

Thank you for considering this!

 

Unfortunately, my HOTAS setup is so stuffed, that I don't have a fully free POV hat, even with using all modifiers :music_whistling::D

Link to comment
Share on other sites

  • 1 month later...

Alright, I've finally made some space on my HOTAS setup, but I still wonder about one thing:

How do you map the hotkeys to POV buttons if your joystick has not one but two POV hats on the stick (e.g. X52)?

 

Will DCS Menu Nav only recognize the first POV hat by default? Or which POV hat will it watch for POV actions?

Link to comment
Share on other sites

  • 1 month later...

JLX: what coding language you have used to do this Menu Nav ? I used it a lot and I was planning to bind some other keyboard commands similar way. I have TM Warthog throttle and stick and I tried AutoHotKey; I was able to bind and create keyboard commands; it worked well with other app but not with DCS window. Thrustmaster's TARGET seems to work well also but I'm looking for more generic way to create own "joystick to keyboard"-command scripts..

Link to comment
Share on other sites

Alright, I've finally made some space on my HOTAS setup, but I still wonder about one thing:

How do you map the hotkeys to POV buttons if your joystick has not one but two POV hats on the stick (e.g. X52)?

 

Will DCS Menu Nav only recognize the first POV hat by default? Or which POV hat will it watch for POV actions?

 

Good question. The AutoHotKey docs just refer to using "the" point-of-view control. I'll poke around a bit and see if more than one POV can be supported.

 

JLX: what coding language you have used to do this Menu Nav ? I used it a lot and I was planning to bind some other keyboard commands similar way. I have TM Warthog throttle and stick and I tried AutoHotKey; I was able to bind and create keyboard commands; it worked well with other app but not with DCS window. Thrustmaster's TARGET seems to work well also but I'm looking for more generic way to create own "joystick to keyboard"-command scripts..

 

I use AutoHotKey for this app and haven't found any issues with DCS in particular. I've just resumed working on the next update for DCS Menu Nav and keyboard binds are on the list of things to add.

3570K w/ 16GB, 1070 w/ 8GB @ 1440p, VKB Gunfighter/MCG-Pro & T-Rudder Mk.IV, CH ProThrottle, TrackIR 5, HTC Vive, UniversRadio, VoiceAttack, TacView Pro, DCS Menu Nav

F/A-18C, F-5E, F-86F, A-10C, AV-8B, AJS-37, MiG-21bis, MiG-15bis, UH-1H, Mi-8MTV2, Ka-50, SA342, P-51D, Spitfire Mk.IX, Bf109, Fw190, FC3, CA, Persian Gulf, NTTR, Normandy, WW2 Assets

Link to comment
Share on other sites

  • 4 months later...
  • Recently Browsing   0 members

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