joystick lib
This commit is contained in:
parent
99a3973e90
commit
28d9217385
@ -9,7 +9,7 @@
|
|||||||
; https://docs.platformio.org/page/projectconf.html
|
; https://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
lib_deps = HID-Project
|
lib_deps = Joystick
|
||||||
|
|
||||||
[env:sparkfun_promicro16]
|
[env:sparkfun_promicro16]
|
||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
|
13
src/main.cpp
13
src/main.cpp
@ -1,5 +1,5 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <HID-Project.h>
|
#include <Joystick.h>
|
||||||
|
|
||||||
#define NUM_KEYS 12
|
#define NUM_KEYS 12
|
||||||
|
|
||||||
@ -17,11 +17,14 @@ uint8_t const pin_select{9};
|
|||||||
uint8_t const pin_start{10};
|
uint8_t const pin_start{10};
|
||||||
|
|
||||||
uint8_t const pin_array[] = {pin_lr, pin_rr, pin_left , pin_up , pin_right , pin_down , pin_y, pin_x, pin_b, pin_a, pin_select, pin_start};
|
uint8_t const pin_array[] = {pin_lr, pin_rr, pin_left , pin_up , pin_right , pin_down , pin_y, pin_x, pin_b, pin_a, pin_select, pin_start};
|
||||||
int const key_array[] = {'r' , 'l' , GAMEPAD_DPAD_LEFT, GAMEPAD_DPAD_UP, GAMEPAD_DPAD_RIGHT, GAMEPAD_DPAD_DOWN, 'y' , 'x' , 'b' , 'a' , KEY_RETURN, ' ' };
|
// uin8__t const key_array[] = {0, 1, 2, 3, 4, 5, };
|
||||||
|
// int const key_array[] = {'r' , 'l' , GAMEPAD_DPAD_LEFT, GAMEPAD_DPAD_UP, GAMEPAD_DPAD_RIGHT, GAMEPAD_DPAD_DOWN, 'y' , 'x' , 'b' , 'a' , KEY_RETURN, ' ' };
|
||||||
bool states [] = {LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW };
|
bool states [] = {LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW , LOW };
|
||||||
|
|
||||||
|
Joystick_ Joystick;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Gamepad.begin();
|
Joystick.begin();
|
||||||
for (size_t i = 0; i < NUM_KEYS; ++i) {
|
for (size_t i = 0; i < NUM_KEYS; ++i) {
|
||||||
pinMode(pin_array[i], INPUT_PULLUP);
|
pinMode(pin_array[i], INPUT_PULLUP);
|
||||||
states[i] = digitalRead(pin_array[i]);
|
states[i] = digitalRead(pin_array[i]);
|
||||||
@ -34,9 +37,9 @@ void loop() {
|
|||||||
current_state = digitalRead(pin_array[i]);
|
current_state = digitalRead(pin_array[i]);
|
||||||
if (current_state != states[i]) {
|
if (current_state != states[i]) {
|
||||||
if (current_state == LOW) {
|
if (current_state == LOW) {
|
||||||
Gamepad.press(key_array[i]);
|
Joystick.pressButton(i);
|
||||||
} else {
|
} else {
|
||||||
Gamepad.release(key_array[i]);
|
Joystick.releaseButton(i);
|
||||||
}
|
}
|
||||||
states[i] = current_state;
|
states[i] = current_state;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user