Jump to content
The simFlight Network Forums

Wrong joystick rank in FSUIPC options and settings


Recommended Posts

Hello Peter,

Pressing a button on my (Epic) joystick no. 5 shows under joystick no. 11 in FSUIPC's Options and settings window. However, if I choose to assign the same physical button tru FS2004's own Control Assignments window, I can do the assignment under the 5th joystick in the list - as I would expect.

Is there a pattern to observe/anticipate ?

Regards,

Yves

Link to comment
Share on other sites

Pressing a button on my (Epic) joystick no. 5 shows under joystick no. 11 in FSUIPC's Options and settings window. However, if I choose to assign the same physical button tru FS2004's own Control Assignments window, I can do the assignment under the 5th joystick in the list - as I would expect.

The order of the joysticks in FS's list doesn't necessarily reflect their numbering in the Windows joystick software, only the way they are listed in the registry. Compare the order in Game Controllers.

In Windows 95/98 the USB Epic was a nightmare, because almost every time it was connected the order of the joysticks would be different, and even the numbers as seen in Windows were different. At least using Win2000 or XP has sorted that, but there are still some oddities.

FS uses DirectInput for its joystick access, whilst I use the original Windows Joystick API. The joystick API is actually a subset of the full DirectInput (for instance supporting only 32 buttons per joystick instead of DirectInput's 64), so it is possible to have connections which aren't seen by FSUIPC, but I've not come across any yet.

The work involved in moving to DirectInput is too horrendous to contemplate, and doing so would actually lose some of the flexibility I have (e.g. with treating POV inputs as up to 8 buttons).

Is there a pattern to observe/anticipate ?

There's no need to observe or anyicipate anything, is there? Using FSUIPC you don't really need to worry about the joystick/button number. Just press and program.

However, if you ever use any of my other EPIC supporting programs, like EPICINFO, you'd need the joystick numbers as seen by FSUIPC, not whatever FS seems to imply.

Regards,

Pete

Link to comment
Share on other sites

However, if you ever use any of my other EPIC supporting programs, like EPICINFO, you'd need the joystick numbers as seen by FSUIPC, not whatever FS seems to imply.

Right on ! Since the physical build of my project is an overall slow effort, I find myself adding new EPIC devices from time to time and I have seen a displacement of joysticks in FSUIPS's eyes. I obviously had to remap these buttons in FSUIPC. I will rather attempt to define all anticipated joysticks in EPIC and programatically (EPL) avoid scanning unwired joysticks. I will also configure all in FSUIPC Options and settings rather than epicinfo.cfg (only registered recently).

Q: Is the likelyhood of missing a button pulse reduced whilst using nqw(BtnP, n) rather than rely on the Windows joystick API to @relay@ it ?

Thanks for the great support.

Yves

Link to comment
Share on other sites

Q: Is the likelyhood of missing a button pulse reduced whilst using nqw(BtnP, n) rather than rely on the Windows joystick API to @relay@ it ?

I don't remember how long the Button Pulse holds the flag for the button. Up until recently FSUIPC polled the joysticks once every 55 mSecs (i.e. 18 times per second), though that changed to 30 mSecs default in FSUIPC 3.22 and will be slightly faster still in the next version. You can speed it up by adding the PollInterval parameter to the main [buttons] section in the INI file (as described in the Advanced Users Guide), but you need to take care not to impair FS's performance.

The joystick API doesn't do anything with the buttons except set the flag or clear it, as a button is pressed or released. The application of Button Pulse in EPIC was to simplify the original sequence which was "Button On -- Delay -- Button Off". Obviously having the delay in-line in EPL code made programming more difficult when sequences and other actions were required.

In other words, the answer to your question is "it depends". I hope I've given you enough information to decide for yourself or experiment wisely!

Regards,

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.