From e2b0ee682522b7301143e7155edfd8cc544f6282 Mon Sep 17 00:00:00 2001 From: Sam Date: Mon, 8 Jan 2024 13:36:35 +0100 Subject: [PATCH] skip creation. fully functional keyboard script for esp32 --- .../keyboard esp32s3/controllerkeyboard.ino | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 arduino/keyboard esp32s3/controllerkeyboard.ino diff --git a/arduino/keyboard esp32s3/controllerkeyboard.ino b/arduino/keyboard esp32s3/controllerkeyboard.ino new file mode 100644 index 0000000..2dd68d7 --- /dev/null +++ b/arduino/keyboard esp32s3/controllerkeyboard.ino @@ -0,0 +1,84 @@ +#include "USB.h" +#include "USBHIDKeyboard.h" +USBHIDKeyboard Keyboard; + +const int buttonPinUp = 9; // the number of the pushbutton pin +const int buttonPinRight = 10; // the number of the pushbutton pin +const int buttonPinDown = 11; // the number of the pushbutton pin +const int buttonPinLeft = 12; // the number of the pushbutton pin +const int buttonPinDodge = 14; +const int buttonPinPause = 13; + +int buttonStateUp = 0; +int buttonStateRight = 0; +int buttonStateDown = 0; +int buttonStateLeft = 0; +int buttonStateDodge = 0; +int buttonStatePause = 0; + +bool boolUp = false; +bool boolRight = false; +bool boolDown = false; +bool boolLeft = false; +bool boolDodge = false; +bool boolPause = false; + +void setup() { + // put your setup code here, to run once: + pinMode(buttonPinUp, INPUT); + pinMode(buttonPinRight, INPUT); + pinMode(buttonPinDown, INPUT); + pinMode(buttonPinLeft, INPUT); + pinMode(buttonPinDodge, INPUT); + pinMode(buttonPinPause, INPUT); + Keyboard.begin(); + USB.begin(); + Serial.begin(9600); +} + +void loop() { + // put your main code here, to run repeatedly: + buttonStateUp = digitalRead(buttonPinUp); + buttonStateRight = digitalRead(buttonPinRight); + buttonStateDown = digitalRead(buttonPinDown); + buttonStateLeft = digitalRead(buttonPinLeft); + buttonStateDodge = digitalRead(buttonPinDodge); + buttonStatePause = digitalRead(buttonPinPause); + + if (buttonStateUp == HIGH) { + Keyboard.press(KEY_UP_ARROW); + } + else{ + Keyboard.release(KEY_UP_ARROW); + } + if (buttonStateRight == HIGH) { + Keyboard.press(KEY_RIGHT_ARROW); + } + else{ + Keyboard.release(KEY_RIGHT_ARROW); + } + if (buttonStateDown == HIGH) { + Keyboard.press(KEY_DOWN_ARROW); + } + else{ + Keyboard.release(KEY_DOWN_ARROW); + } + if (buttonStateLeft == HIGH) { + Keyboard.press(KEY_LEFT_ARROW); + } + else{ + Keyboard.release(KEY_LEFT_ARROW); + } + if (buttonStateDodge == HIGH) { + Keyboard.press(KEY_RETURN); + } + else{ + Keyboard.release(KEY_RETURN); + } + if (buttonStatePause == HIGH) { + Keyboard.press('p'); + } + else{ + Keyboard.release('p'); + } +}