ysav Posted June 4, 2004 Report Posted June 4, 2004 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
Pete Dowson Posted June 4, 2004 Report Posted June 4, 2004 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
ysav Posted June 4, 2004 Author Report Posted June 4, 2004 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
Pete Dowson Posted June 4, 2004 Report Posted June 4, 2004 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now