David Megginson said:

> Jim Wilson wrote:
> > Sorry for the dumb question: why are they offending?  I'm in favor of limiting
> > aircraft specific key bindings to a very small number of keys (like 1 or 2), 
> > but I'm also not clear why the input binding configuration needs to be handled
> > differently than it is now.
> It's a layering violation: I know that sounds like a technicality, but it 
> has serious effects on usability and system management.
> Once we set up a GUI for bindings, the user should not be surprised by 
> having new, unrequested key bindings appear simply because (s)he chose a 
> different airplane.  For example, if the user binds '/' to fire an 
> afterburner then loads a plane that uses '/' to deploy slats, we have broken 
> the prime directive of user apps and discarded the user's input without 
> warning.  The only reason this hasn't been a problem so far is that changing 
> key bindings without a GUI is too complicated for non-power users.
>  From a management point of view, let's say that we decide to use '/' by 
> default to open a save file.  With the current system, that will work fine 
> until the user happens to load a plane that uses '/' for something else, and 
> then it will fail to work, even if the user switches back to the original 
> plane, because the rebinding will outlive the aircraft that triggered it.
> So, let's see if we can fix this: keyboard.xml is long overdue for a rewrite 
> anyway.

My earlier thought on this is that we should allocate aircraft specific keys
by creating a dummy binding in keyboard.xml that would "reserve" the key. 
This came up in a discussion a few weeks ago.  We could simply reserve maybe 2
or 3 or some small number that can be used.  And they would be purposefully
held to a very small number so that only features that are truly aircraft
specific would be included.

One idea on this that I haven't really worked out would be separating the
functional properties of the bindings from the keys that make them work.  So
basically you'd have a configuration of "named bindings" that could be
attached to keys or buttons.  All the property tree references, scripts, and
so on would be in the named bindings xml.  Anyway...just a vague notion.



Flightgear-devel mailing list

Reply via email to