anchor.diff:      };
   ----
   
  -You can also combine both listeners into one, the engine will send the appropriate events to each method (onAction or onAnalog). For example:
  +You can also combine both listeners into one, the engine will send the appropriate events to each method (onAction or onAnalog).
  +
  +For example:
   
   [source,java]
   ----
  
positive.code:         HelloInput app = new HelloInput();
          app.start();
      }
      protected Geometry player;
      private boolean isRunning = true;
  
  
negative.code: Build and run the example.
  
  *  Press the Spacebar or click to rotate the cube.
  *  Press the kbd:[J] and kbd:[K] keys to move the cube.
  *  Press kbd:[P] to pause and unpause the game. While paused, the game should not respond to any input, other than kbd:[P].
  
  
  == Defining Mappings and Triggers
  
  First you register each mapping name with its trigger(s). Remember the following:
  
  *  An input trigger can be a key press or mouse action.
  **  For example a mouse movement, a mouse click, or pressing the letter kbd:[P] .
  *  The mapping name is a string that you can choose.
  **  The name should describe the action (e.g. "`Rotate`"), and not the trigger. Because the trigger can change.
  *  One named mapping can have several triggers.
  **  For example, the "`Rotate`" action can be triggered by a click and by pressing the spacebar.
  
  Have a look at the code:
  
  