> In fact, I had originally implemented mice.xml that way (as you
> suggested in your example), but it seemed very verbose

Much of the verbosity is because we're attaching the conditional
to every occurrence of the combination of mode and of input event.
Perhaps we should have the modifier set a property, as we do now,
Then take the stateful keystroke and give it a new handler that
modifies the key value by prefixing it with the property state.
The two resulting keystrokes can be listed and caught further on.

Or, another approach is to take a leaf from YACC/LEX and convert the
stream of input activity into a unified property=value event list.
This has the added advantage of being easy to log what the user does.

Then, the event list goes through a series of filters that modify the
events, delete events and do stateful inspection of their contents.
Many of the filters do things like this (not written in XML) ...
  /key[46]/mod-down := 1  becomes  /controls/brakes[1] := 1.0
  /key[46]/mod-up   := 1  becomes  /controls/brakes[1] := 0.0
For modal stuff, we simply define the rule as a regular expression.


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to