Re: [Plib-devel] Saitek X52 joystick with 34 buttons
Brought to you by:
sjbaker
From: steve <sjb...@ai...> - 2007-01-02 14:45:03
|
John Denker wrote: > Back in December of '05 Trammell Hudson wrote: >>> I"ve recently started using a Saitek X52 joystick with my Linux box and >>> have run into problems with plib"s JS module limitation in the number >>> of supported buttons. It only supports up to 32 buttons due to the >>> MAX_BUTTONS definition and the fact that it uses an int to store the >>> button state, but the X52 has 34 buttons (and 12 axes). > > On 2005-05-04 14:20 Steve Baker replied: >> That"s practically a keyboard! > > No, it's not a keyboard. > > Do you have any idea how many switches and knobs there are in a > real airplane? Actually - yes. I design flight simulators for a living for L3 Link Simulation. Every F117, F22 and F16 pilot - and almost every F18 and helicopter pilot in the US military was trained on one of my simulators! Over 25 years in the business, I've worked on simulators for over 100 different aircraft types - and also cars, submarines, railroad locomotives, the space shuttle and space station, air traffic control towers and even a roller coaster. So yeah - I have a fair idea what's involved. > It looks like we may be approaching a culture clash: > -- gamer viewpoint, versus > -- flight instructor viewpoint. Well, as a practical matter - if you are a serious flight instructor and training beyond the 'stick and rudder' level, you very much need the buttons to have the right kinds of shape and labelling - and to be in more or less the right place. I very much doubt that anything Saitek would produce would be of very much use for serious training. > Hint: I'm coming from the flight instructor viewpoint. There > are reasonable people in this world who want to build PC-based > flight simulators that are good enough to ... well ... to simulate > flight. You know, flight in real aircraft. To do this properly, you need a mock-up cockpit - that means that whilst you might use the electronics from an off-the shelf joystick - you'll be pulling it apart and using more realistic switches and knobs. That means that you can (and will) need to use multiple joysticks in order to get all of the rotary knobs and such right. The limit of 32 per joystick controller is not at all unreasonable. Also, if you are sufficiently hard-core to take on a project like this, hacking your own version of the PLIB Joystick code is going to be a very, very tiny percentage of the software work you'll end up needing to do. > I assure you that the X52 is a real and practical product. > It receives good reviews in the usual places. Indeed IMHO it does > not have /enough/ knobs and buttons; the X52 /plus/ a keyboard > is marginally OK for a modest single-engine aircraft but nearly > enough for a multi-engine aircraft, or even for a complex single. Sure - but it IS a gaming device. No serious flight simulator designer would even consider using it - it's a joke from a training perspective. It's got a heck of a lot of buttons - but they aren't properly labelled and they are about as far from the right places as you could imagine - you might just as well use a keyboard for all the relevence it has to training. I almost fell off my chair laughing at the "MFD" display! The PLIB interface is 'good enough' for all but maybe one joystick type and then in maybe one application. The idea that 32 buttons map onto 32 bits in an integer is a very clean, simple - and efficient way to handle joystick buttons. To hack all of that around to deal with one or two types joystick and for a very, very special class of user...it's ridiculous. Please feel free to take the PLIB joystick code and make your own version of it - it's under LGPL - so there aren't obstacles to doing that. Right now - I'm not interested in supporting more than 32 buttons. If these kinds of devices become ubiquitous and lots of applications demand them - I might reconsider - but in general, the world is moving away from joysticks as gamer interfaces. > These are rather significant bugs. If you roll the trim wheel > it fires the gun! That's an application problem - PLIB gives you the axes and buttons in the order the joystick provides them. The meaning of them is entirely down to what the application does with them. |