Question Multi-Joystick

yagni01

Addon Developer
Addon Developer
Donator
Joined
Feb 8, 2008
Messages
463
Reaction score
0
Points
16
Location
Atlanta, GA
also, i won't fully override the default axis setup... this way, you don't have to disable joystick support in the launchpad and i don't have to program for the view-hat :p
That'll be a nice touch.
 

James.Denholm

Addon ponderer
Joined
Feb 8, 2008
Messages
811
Reaction score
0
Points
0
Location
Victoria, Australia
Just out of curiosity, do you plan on having the program acknowledge the current RCS and AF settings, or perhaps have an option that will flick between these two behaviours?

I only ask because, while I'm rustlin' up my on fix (advertisers, gonna advertise), I know that people, or myself at least, who don't have enough axis, or want to put two control sets onto a single set of axis (ie, AF + RCS ROT) are rather annoyed by FBW's current system.
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
Just out of curiosity, do you plan on having the program acknowledge the current RCS and AF settings, or perhaps have an option that will flick between these two behaviours?


it already does! :thumbup:


the RCS controls only work if the RCS is set to LIN or ROT... in OFF mode, the thrusters don't fire - saving a coule of pounds worth of propellant...

same for the AF... they only respond while on...


flicking between modes is done in pretty much the same way we've been doing all along... but now, there's the option to add overriding axes that work regardlessly, so you don't need to switch all the time, provided you have axes to spare....

alternatively, i guess i could also include button-to-axis mappings, so you can also use whatever buttons suit you best :hmm:
then there could also be some switches for using low-power RCS and whatnot


and i also plan on having some form of logic to combine more than one input for the same command... some redundancy is always nice :tiphat:
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
then there could also be some switches for using low-power RCS and whatnot
This was the biggest feature request I had for FBW that never got included. Using the numpad you can hold down CTRL to use 10% thrust, but that didn't work with FBW. I could see a few possibilities here:

-While a button/key is held down, use 10% thrust
-Allow a button to toggle 10% thrust (or one button to activate and another to deactivate, would work well with a physical two-position switch)
-Either of the above, but with configurable (and perhaps multiple) thrust options. IE, one button activates 50%, another activates 10%, and a third re-activates 100%.

And, the holy grail:
-Another axis to control the thrust which is used by the RCS system when it's activated :p
 

yagni01

Addon Developer
Addon Developer
Donator
Joined
Feb 8, 2008
Messages
463
Reaction score
0
Points
16
Location
Atlanta, GA
Expanding the RCS button-driven theme, functionality to mimic some of the Shuttle DAP would be brilliant:
Normal/Vernier (all axes)

Rot Trans
------------- ------------
Normal High
Pulse Pulse
Discrete Rate Discrete Rate
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
And, the holy grail:
-Another axis to control the thrust which is used by the RCS system when it's activated :p

i did think of that, and now that you've said it, then i guess we just HAVE to do it :thumbup:


don't worry too much about requests, this thing will include sources, so you can have it do your own thing if you need....


but as for now, planned features are:
  • non-overriding standard controls
  • mode-independant axes
  • reduntant mappings
  • button-axis mapping
  • button mappings for common features
  • low-power toggle and hold buttons
  • RCS power axis
  • up to 16 joysticks support (directx maximum, it appears)
  • 6-dof device support
  • nosewheel steering (cheers, Hielor :cheers:)


what i have working so far is:
  • non-overriding standard axes
  • mode-independant controls
  • multi-joystick support
  • 6-Dof device support


what doesn't work yet are things like axis-mapping, config save, and generally anything that would make this thing work on a PC other than mine :lol:

don't worry, it'll come :thumbup:


my goal is to make this versatile enough to fully accommodate my 3-device (and growing) home rig, as well as my* tiny playstation-like gamepad which i use on my laptop

*mine is a strong word... read "stolen" from my brother's junk closet :lol:


cheerz
 

Robb Bates

New member
Joined
Aug 2, 2009
Messages
102
Reaction score
1
Points
0
I know* a bit of C# and C++ and a little bit of DirectInput stuff. I'd love to get my hands on this add-on. I was planning on doing some coding of my own for my SimPit. Check out my thread. I've made a tremendous amount of progress on it. It uses three MJoy16's. I was going to build up a Orbiter/SimPit interface app. Perhaps we could combine efforts.

http://www.orbiter-forum.com/showpost.php?p=180783&postcount=67

Robb

---------- Post added at 01:45 PM ---------- Previous post was at 01:25 PM ----------

Please add to the feature request list: Mapping ALL the buttons accessible from DirectInput, Not just the 32 accessible from the Windows API. MJoy16 has 112 "buttons" plus the hat switch.
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
just a heads-up on general progress...

yesterday i managed to have the module read and load/map devices from a CFG file...


the file itself is very much readable, being simply a bunch of keywords and associated values...
but it allowed me to properly configure a gamepad of mine to integrate rather well with Orbiter :yes:


the setup is VERY flexible - you can assign any of 8 physical axes on any of up to 16 devices to control whatever sim axis you need... this is directinput maximum, BTW

shortly, i plan on adding some button functions as well, for allowing "virtual axis" control using buttons (a must for gamepads, where you may be missing a few axes).... this will allow you to add buttons that change the position reported as the throttle axis, for instance...

it should work with any axis tho... and you should be able to configure in the CFG whether or not to re-center, and how fast it does so when buttons are released

as for buttons, you should be able to map whatever buttons directinput can read, but i heven't got up to there yet, so i can't guarantee it :rolleyes:



it also respects vessel RCS and AF settings, unlike fly-by-wire which overrides them all...

i'll also add a special mode to properly use a 6DOF device to seamlessly control translation RCS...


there is no setup utility tho... you need to edit the CFG to have it work in your rig... which means a bit of trial-and-error (or you can open the calibration dialog and check which axes are which in there)


but it's coming along! cheerz!
 

Robb Bates

New member
Joined
Aug 2, 2009
Messages
102
Reaction score
1
Points
0
:hail:

You need any beta testers?

Can you add a feature to map joystick buttons to the MFD buttons?

Look at:

oapiProcessMFDButton(MFD_LEFT,x,PANEL_MOUSE_LBDOWN);

where x = 0 - 11 for the twelve MFD buttons. MFD_RIGHT too, of course. The Mouse Event flag works, but has a minor bug such that if you call this function for a user input (e.g. Orbit Reference dialog), it will bring up the dialog with multiple copies of the selection choices. Annoying, but not a showstopper.

Also, please map LEFT_SHIFT-F1, LEFT_SHIFT-ESC, LEFT_SHIFT-GRAVE, for Power, Menu and Select.

And also map joystick buttons to internal/external camera? Not just emulate F1 (toggle) but an absolute switch.

For internal camera I think it's:

oapiCameraAttach(oapiGetFocusObject(),0);

and for external it's:

oapiCameraAttach(oapiGetFocusObject(),1);

I have plenty of other feature ideas that should be relatively simple to incorporate and would really love to be able to use with my SimPit.


Robb
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
i plan on adding as many features as i can, but surely i'll never be able to have a single module that covers all possibilities...

that's why i'm releasing it sources-included, with plenty of code comments for the reader's sake... then if it doesn't do something exactly how you need, you can just make it do it :thumbup:
 

Robb Bates

New member
Joined
Aug 2, 2009
Messages
102
Reaction score
1
Points
0
Any idea when you'll be releasing something?

Let me guess, Tuesday. :dry:

Robb

---------- Post added at 12:31 PM ---------- Previous post was at 12:30 PM ----------

Also, do you plan on incorporating any of the XR vessel functions?

Robb
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
well, for now it can only set up four axes... which isn't much (although it covers all basic features)

but since the think of the framework is already working, all there's left to do is add new controllable features... so maybe some day this week just might be a tuesday:thumbup:
 

Robb Bates

New member
Joined
Aug 2, 2009
Messages
102
Reaction score
1
Points
0
Seriously though, I'd love to help. I've done a small amount of Orbiter Programming. Perhaps I could work on some parts of it, like the MFD functions I was talking about.

Robb
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
i guess the most needed thing right now would be a setup utility... having to "guess" what devices are what is quite a nuissance, i believe....

that could very well be an MFD... which would allow one to quickly try out a setup without having to restart the game every time :hmm:


i'll have the cfg-parsing and control-mapping code separated into independent functions, so it could be called at any time during simulation.... which allows for a config MFD to be used

if you really wanna help, that's what i could use the most right now :thumbup: - and i'd thank you plenty!
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
there is no setup utility tho... you need to edit the CFG to have it work in your rig... which means a bit of trial-and-error (or you can open the calibration dialog and check which axes are which in there)
Glad to hear it's coming along!

Do you have any plans for a setup utility, or at least some kind of display so you can see what axes/buttons are which? That's really an invaluable feature of FlyByWire...
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
i thought of perhaps a setup MFD...
i think it's better, anyways... you're able to quickly test out whatever changes you make, unlike a launchpad dialog, which requires a restart every time...

and at a later time, i could also add a feature to change between multiple configurations, so you could have specific settings for launch, orbit, docking, reentry, whetever... :hmm:


well... one thing at a time :rolleyes:
 

Robb Bates

New member
Joined
Aug 2, 2009
Messages
102
Reaction score
1
Points
0
I don't think an MFD is appropriate since an MFD is part of the simulation and this utility is outside the simulation. Rather, a setup dialog that you'd launch from the Custom Menu. That'll get you your "in-orbit" config changes, plus, it allows for standard windows dialog programming.

This I can do easily (relatively). But obviously, I'm going to need to know what the config file looks like.

Robb
 
Last edited:

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
i thought of perhaps a setup MFD...
i think it's better, anyways... you're able to quickly test out whatever changes you make, unlike a launchpad dialog, which requires a restart every time...

and at a later time, i could also add a feature to change between multiple configurations, so you could have specific settings for launch, orbit, docking, reentry, whetever... :hmm:


well... one thing at a time :rolleyes:
FlyByWire used to have an MFD for configuration instead of the launchpad dialog. The launchpad dialog is much nicer and easier to use since you're not constrained to the 12 buttons for input.
 

Moach

Crazy dude with a rocket
Addon Developer
Joined
Aug 6, 2008
Messages
1,581
Reaction score
60
Points
63
Location
Vancouver, BC
oh yeah... theres the button problem :uhh: i completely forgot about that...

oh well... then i guess a JoyRide-like dialog would be the best approach....


well, first i still need to get it working...the CFG will have to do until then:rolleyes:
 
Top