aboutsummaryrefslogtreecommitdiff
path: root/libraries/Esplora/examples/EsploraKart/EsploraKart.ino
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-01-06 18:38:03 +0100
committerCristian Maglie <c.maglie@bug.st>2013-01-06 18:38:03 +0100
commitc01bc2b62f76a5d417e5ed13dcb0c047a4f67224 (patch)
tree4703fc452282756f3c40d38f9d41b1a28e0bf0f6 /libraries/Esplora/examples/EsploraKart/EsploraKart.ino
parent5f4e55a3d274838388696c3f8130b0f2dc40daf7 (diff)
Merged upcoming 1.0.4 and updated revision log
Diffstat (limited to 'libraries/Esplora/examples/EsploraKart/EsploraKart.ino')
-rw-r--r--libraries/Esplora/examples/EsploraKart/EsploraKart.ino125
1 files changed, 0 insertions, 125 deletions
diff --git a/libraries/Esplora/examples/EsploraKart/EsploraKart.ino b/libraries/Esplora/examples/EsploraKart/EsploraKart.ino
deleted file mode 100644
index 4c1621c..0000000
--- a/libraries/Esplora/examples/EsploraKart/EsploraKart.ino
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- Esplora Kart
-
- This sketch turns the Esplora into a PC game pad.
-
- It uses the both the analog joystick and the four switches.
- By moving the joystick in a direction or by pressing a switch,
- the PC will "see" that a key is pressed. If the PC is running
- a game that has keyboard input, the Esplora can control it.
-
- The default configuration is suitable for SuperTuxKart, an
- open-source racing game. It can be downloaded from
- http://supertuxkart.sourceforge.net/ .
-
- Created on 22 november 2012
- By Enrico Gueli <enrico.gueli@gmail.com>
-*/
-
-
-#include <Esplora.h>
-
-/*
- You're going to handle eight different buttons. You'll use arrays,
- which are ordered lists of variables with a fixed size. Each array
- has an index (counting from 0) to keep track of the position
- you're reading in the array, and each position can contain a number.
-
- This code uses three different arrays: one for the buttons you'll read;
- a second to hold the current states of those buttons; and a third to hold
- the keystrokes associated with each button.
- */
-
-/*
- This array holds the last sensed state of each of the buttons
- you're reading.
- Later in the code, you'll read the button states, and compare them
- to the previous states that are stored in this array. If the two
- states are different, it means that the button was either
- pressed or released.
- */
-boolean buttonStates[8];
-
-/*
- This array holds the names of the buttons being read.
- Later in the sketch, you'll use these names with
- the method Esplora.readButton(x), where x
- is one of these buttons.
- */
-const byte buttons[] = {
- JOYSTICK_DOWN,
- JOYSTICK_LEFT,
- JOYSTICK_UP,
- JOYSTICK_RIGHT,
- SWITCH_RIGHT, // fire
- SWITCH_LEFT, // bend
- SWITCH_UP, // nitro
- SWITCH_DOWN, // look back
-};
-
-/*
- This array tells what keystroke to send to the PC when a
- button is pressed.
- If you look at this array and the above one, you can see that
- the "cursor down" keystroke is sent when the joystick is moved
- down, the "cursor up" keystroke when the joystick is moved up
- and so on.
-*/
-const char keystrokes[] = {
- KEY_DOWN_ARROW,
- KEY_LEFT_ARROW,
- KEY_UP_ARROW,
- KEY_RIGHT_ARROW,
- ' ',
- 'V',
- 'N',
- 'B'
-};
-
-/*
- This is code is run only at startup, to initialize the
- virtual USB keyboard.
-*/
-void setup() {
- Keyboard.begin();
-}
-
-/*
- After setup() is finished, this code is run continuously.
- Here we continuously check if something happened with the
- buttons.
-*/
-void loop() {
-
- // Iterate through all the buttons:
- for (byte thisButton=0; thisButton<8; thisButton++) {
- boolean lastState = buttonStates[thisButton];
- boolean newState = Esplora.readButton(buttons[thisButton]);
- if (lastState != newState) { // Something changed!
- /*
- The Keyboard library allows you to "press" and "release" the
- keys as two distinct actions. These actions can be
- linked to the buttons we're handling.
- */
- if (newState == PRESSED) {
- Keyboard.press(keystrokes[thisButton]);
- }
- else if (newState == RELEASED) {
- Keyboard.release(keystrokes[thisButton]);
- }
- }
-
- // Store the new button state, so you can sense a difference later:
- buttonStates[thisButton] = newState;
- }
-
- /*
- Wait a little bit (50ms) between a check and another.
- When a mechanical switch is pressed or released, the
- contacts may bounce very rapidly. If the check is done too
- fast, these bounces may be confused as multiple presses and
- may lead to unexpected behaviour.
- */
- delay(50);
-}
-