diff --git a/libraries/ArduinoJoystickLibrary/examples/JoystickButton/JoystickButton.ino b/libraries/ArduinoJoystickLibrary/examples/JoystickButton/JoystickButton.ino new file mode 100644 index 0000000..c6bc79e --- /dev/null +++ b/libraries/ArduinoJoystickLibrary/examples/JoystickButton/JoystickButton.ino @@ -0,0 +1,50 @@ +// Simple example application that shows how to read four Arduino +// digital pins and map them to the USB Joystick library. +// +// Ground digital pins 9, 10, 11, and 12 to press the joystick +// buttons 0, 1, 2, and 3. +// +// NOTE: This sketch file is for use with Arduino Leonardo and +// Arduino Micro only. +// +// by Matthew Heironimus +// 2015-11-20 +//-------------------------------------------------------------------- + +#include + +Joystick_ Joystick; + +void setup() { + // Initialize Button Pins + pinMode(9, INPUT_PULLUP); + pinMode(10, INPUT_PULLUP); + pinMode(11, INPUT_PULLUP); + pinMode(12, INPUT_PULLUP); + + // Initialize Joystick Library + Joystick.begin(); +} + +// Constant that maps the phyical pin to the joystick button. +const int pinToButtonMap = 9; + +// Last state of the button +int lastButtonState[4] = {0,0,0,0}; + +void loop() { + + // Read pin values + for (int index = 0; index < 4; index++) + { + int currentButtonState = !digitalRead(index + pinToButtonMap); + if (currentButtonState != lastButtonState[index]) + { + Joystick.setButton(index, currentButtonState); + lastButtonState[index] = currentButtonState; + } + } + + delay(50); +} +