   Serial.print("\tButton: ");                  // print a tab character and a label for the button
   Serial.print(button);                        // print the button value
 
-  int mouseX = map( xValue,-512, 512, 10, -10);  // map the X value to a range of movement for the mouse X
-  int mouseY = map( yValue,-512, 512, -10, 10);  // map the Y value to a range of movement for the mouse Y
+  int mouseX = map(xValue, -512, 512, 10, -10);  // map the X value to a range of movement for the mouse X
+  int mouseY = map(yValue, -512, 512, -10, 10);  // map the Y value to a range of movement for the mouse Y
   Mouse.move(mouseX, mouseY, 0);                 // move the mouse
-  
+
+  if (button == 0) {                           // if the joystick button is pressed
+    Mouse.press();                             // send a mouse click
+  } else {
+    Mouse.release();                           // if it's not pressed, release the mouse button 
+  }
+
   delay(10);                                  // a short delay before moving again
 }
 

 3) hold the reset button down while plugging your Esplora back in
 4) while holding reset, click "Upload"
 5) when you see the message "Done compiling", release the reset button.
 
 This will stop your Esplora from controlling your mouse while you upload a sketch
 that doesn't take control of the mouse.
 
 Created on 22 Dec 2012
 by Tom Igoe
 
 This example is in the public domain.
 */


{
  Serial.begin(9600);       // initialize serial communication with your computer
  Mouse.begin();            // take control of the mouse
}

void loop()
{
