Question VESIM, VJoy and touch support

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
Hi,

I have used two programs called Touch Portal and Matric to create touch screen DSKY displays to use with NASSP with varying degrees of success.

With trial and error I also got the CSM rotation and translation working on VESIM with arcade joysticks, a Leo Bodnar card and keyboard.cfg.

Having done that (sort of). I thought it would be nice to create certain sections of the panels to use on touch screen, especially for times like docking and using the sextant, to increase my immersion. Is it possible to use VESIM or some other method to create vjoy connections to each switch position?

If so how would I find out what name to give the switches so that I could map a joystick command to them please. I have only gotten the rotation/translation toggle working with vjoy and VESIM. Been trying to use vjoy for the DSKY buttons but can only get the DSKY working using keyboard commands.
 

ggalfi

Well-known member
Joined
May 31, 2020
Messages
74
Reaction score
131
Points
48
Location
Budapest
If so how would I find out what name to give the switches so that I could map a joystick command to them please. I have only gotten the rotation/translation toggle working with vjoy and VESIM. Been trying to use vjoy for the DSKY buttons but can only get the DSKY working using keyboard commands.
Currently the DSKY keyboard is handled driectly by NASSP, outside of the VESIM module. It is a development task, but wouldn't be difficult for me to add DSKY support to VESIM. However I'm not sure that a touch screen is considered as joystick device by DirectInput, as required by VESIM. You can easily decide that by attaching your touch screen device and ask Project Apollo Configurator to create VESIM comfig files. If you can see that a VESIM config file corresponding to the touch screen appear, that is a good omen, and I can focus on how this could be employed to connect it to DSKY. If this does not work, there still is another option: if the touch screen can appear as keyboard device - so handled by Orbiter's internal keyboard interface -, we may try to connect DSKY with the touch screen as the buttons are keyboard commands (this would also require me to add DSKY buttons as VESIM inputs, but - as I mentioned - it is not a big deal). The latter option could be tested easily: if you can type with your touch screen DSKY in Orbiter into any MFD input, it would work.
 

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
Thanks for the reply.

I managed to create a VESIM cfg file that accepted my virtual joystick button to do the translation/rotation toggle. So it is accepting the virtual joystick inputs as long as the input identifier is correct. VJoy shows up as a joystick in devices. See attached pic of cfg file.

The program called Matric, which is the one that converts virtual joystick buttons to touch screen inputs, doesn't work for the DSKY keyboard inputs. Probably because of the numpad and shift options.

Touch Portal does work but it would not work with the virtual joystick easily. Therefore Matric is the only one that would allow for 128 buttons from VJoy.

So I guess my question is, could VESIM include input names for the DSKY so we can configure joystick buttons to them? And could all the switch states eventually be added so we can configure real or virtual cockpits using switches (real switches or touch screen virtual ones)?
 

Attachments

  • 16412904297927135894470317689080.jpg
    16412904297927135894470317689080.jpg
    76.6 KB · Views: 155
  • 16412905289742914627529862296851.jpg
    16412905289742914627529862296851.jpg
    69 KB · Views: 162
Last edited:

ggalfi

Well-known member
Joined
May 31, 2020
Messages
74
Reaction score
131
Points
48
Location
Budapest
It looks good. There is another test which you may try with the current version: for the LM I have already added the PRO button to the available VESIM inputs. The reason for doing that only for a single DSKY button was that I wanted all the CDR's action between the start of P64 and touchdown available as joystick function. And after entering P64, the impact point should be confirmed by a single press on PRO. So you can test it (not necessarily in P64, anytime when you would push PRO button it should work). If it is OK, then I think it worth the effort to add all other DSKY buttons for both LM and CSM.
 

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
It looks good. There is another test which you may try with the current version: for the LM I have already added the PRO button to the available VESIM inputs. The reason for doing that only for a single DSKY button was that I wanted all the CDR's action between the start of P64 and touchdown available as joystick function. And after entering P64, the impact point should be confirmed by a single press on PRO. So you can test it (not necessarily in P64, anytime when you would push PRO button it should work). If it is OK, then I think it worth the effort to add all other DSKY buttons for both LM and CSM.
Thanks. I will give it a try tonight and let you know how it goes.
 

ggalfi

Well-known member
Joined
May 31, 2020
Messages
74
Reaction score
131
Points
48
Location
Budapest
Made all the Vesim bindings for the DSKYs both in CSM and LM. Tested it with my VKB Gladiator stick, there is enough button on it to cover all the DSKY buttons, and it worked nicely. It is still in my own repo (you can download it from here: https://github.com/ggalfi/NASSP/commits/vesim ). I will make PR to make it a part of the official NASSP branch, but as I dusted off this Vesim code, I decided first to add some other useful CSM functionality, like the firework switch(THC CCW&CW) and SPS Valves to make a SPS-on-SCS burn fully manageable by joystick. So from now on it is up to you, and please let me know how it works as I find it a very good idea to use a TouchPad as DSKY.
 

Thymo

I like breaking things
Addon Developer
Joined
Jun 26, 2016
Messages
120
Reaction score
148
Points
58
Website
nassp.space
This feature is available in NASSP 8.0 Beta build 1779
 
Last edited:

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
Made all the Vesim bindings for the DSKYs both in CSM and LM. Tested it with my VKB Gladiator stick, there is enough button on it to cover all the DSKY buttons, and it worked nicely. It is still in my own repo (you can download it from here: https://github.com/ggalfi/NASSP/commits/vesim ). I will make PR to make it a part of the official NASSP branch, but as I dusted off this Vesim code, I decided first to add some other useful CSM functionality, like the firework switch(THC CCW&CW) and SPS Valves to make a SPS-on-SCS burn fully manageable by joystick. So from now on it is up to you, and please let me know how it works as I find it a very good idea to use a TouchPad as DSKY.
Thank you so much. Life ended up getting in the way of testing this weekend but I will try this week and if the touch screen doesnt work at least I can buy some buttons and a Leo Bodnar card and make a physical DSKY. My homemade joystick using Leo Bodnar card works well with VESIM for translation and rotation so I know it will work to build a physical DSKY. Thanks again for adding this.
 

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
It's working! Wanted to send a video but it won't let me attach mp4. The touch screen is working like a charm. So nice to actually push the DSKY buttons.
 

lendyjedi

New member
Joined
Mar 31, 2021
Messages
8
Reaction score
1
Points
3
Location
South Africa
Hope I am not pushing my luck but is it a lot of work to add switches and buttons into VESIM? Would someone without coding experience be able to follow a tutorial or procedure in order to do it? I am willing to spend what little free time I have (being a dad) adding each switch on so that I can create touch screens for each panel. It would be worth it for me and I can imagine it would be amazing if someone could then create a physical CSM and LM cockpit.....
 

ggalfi

Well-known member
Joined
May 31, 2020
Messages
74
Reaction score
131
Points
48
Location
Budapest
I greatly appreciate your interest towards this VESIM module, so it is definitely not pushing your luck to ask questions about it. I don't know what you mean on "no coding experience" but currently adding new VESIM bindings means practically C++ coding. I said in one of my previous post that adding new stuff to VESIM is no big deal - provided by you are familiar with general C++ programming and specifically with NASSP architecture as well. I suggest begin with looking at my last three commits, and if you understand what's happening there and you think you can do similar things then you may proceed on more practical stuff. First you need to set up a Git+Visual Studio based NASSP development environment (there was a thread on this forum with very clear instructions on how to do that, but I can't find it now). Then you can start to write your own addition. If you plan to add your addition to the official branch, I strongly recommend to have some discussion with the maintainers on IRC on what you are planning to do before writing down any line of code (https://www.orbiter-forum.com/threads/irc-connection-info.36129/). It could happen that if your addtion is not compliant with the formal and informal guidelines and then your pull request will be rejected. These steely-eyed guys have the aggreable goal to not let NASSP being driven into the "gimbal-lock" of chaotical code patches :) On the other hand, they are really helpful guys and also easy to find at least one of them online as they are scattered all over the world (sun never sets on the NASSP-realm :) ). If you get to this point and has some specific question on VESIM then feel free to ask me, I am happy to answer (if I can).
 

Max-Q

99 40
Addon Developer
Joined
Jul 5, 2021
Messages
765
Reaction score
1,181
Points
108
Location
Cislunar Space
Website
www.orbiter-forum.com
Seems to work well here, only two questions:
  • If I have a button set up as a DSKY key, say, PRO in both the CSM and LM, will it push PRO in both spacecraft simultaneously or only in the focused vessel?
  • About the checklist MFD: the VESIM DSKY keys don’t seem to advance the auto checklist like actually clicking the button on screen. Can this be fixed?
 

ggalfi

Well-known member
Joined
May 31, 2020
Messages
74
Reaction score
131
Points
48
Location
Budapest
Seems to work well here, only two questions:
  • If I have a button set up as a DSKY key, say, PRO in both the CSM and LM, will it push PRO in both spacecraft simultaneously or only in the focused vessel?
The input action will be processed only by the focused vessel. Feel free the assign the same joystick axis or button for both the CSM and LM even to different VESIM inputs, it shouldn't make any trouble.
  • About the checklist MFD: the VESIM DSKY keys don’t seem to advance the auto checklist like actually clicking the button on screen. Can this be fixed?
Yes, it works in the same way as it works when you are typing into DSKY with the keyboard through Shift-Keypad combos. Neither Shift-Keypad keystrokes nor VESIM events are sensed by the checklist MFD. I still need some time to understand how the DSKY keystrokes are forwarded to checklist MFD, then will it be possible to consider the development what you are asking for. But honestly it is not at the top on my VESIM ToDo list, as since it is available, I always used Shift-Keypad for DSKY entries and I never had any problem with pressing the MFD's PRO buttons after some DSKY punching.
 
Top