I like the concept of the mice.xml file, but am not really comfortable about
having the implied modal state hidden in there.  Can we break it out, so that
mouse, joystick and keyboard events can be conditional on state variables ?

<mouse n="0">
   <button n="2">
    <binding>
     <conditional>
      <property>/input/mice/mouse[0]/mode>/property>
      <value>0</value>
     </conditional>
     <command>property-assign</command>
     <property>/input/mice/mouse[0]/mode</property>
     <value>1</value>
    </binding>
    <binding>
     <conditional>
      <property>/input/mice/mouse[0]/mode>/property>
      <value>1</value>
     </conditional>
     <command>property-assign</command>
     <property>/input/mice/mouse[0]/mode</property>
     <value>2</value>
    </binding>
    <binding>
     <conditional>
      <property>/input/mice/mouse[0]/mode>/property>
      <value>2</value>
     </conditional>
     <command>property-assign</command>
     <property>/input/mice/mouse[0]/mode</property>
     <value>0</value>
    </binding>
   </button>
</mouse>

The first benefit I see is that we can generalize the mode indicator,
which is currently the mouse cursor shape, and consider it a generic thing.
Although the file already has a hidden mode variable, it would be nice to
have it considered 'normal' to reference such information in the HUD data,
for example, to assist new users in learning how to fly the simulation.

The other benefit is that the keyboard can easily become modal.  We don't
currently support key sequences and stateful decoding of keyboard input,
which severely limits our ability to tie useful controls to keys.

The final benefit is that it explicitly allows chorded buttons on the joystick
to be decoded.  This is useful for people with low button count joysticks.
I also see a benefit in having a clean way (compared to how we do it now)
of switching a joystick axis between multiple analog input options.


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

Reply via email to