Skip to content

Commit 3c029f0

Browse files
committed
more triggers
1 parent 4136c62 commit 3c029f0

1 file changed

Lines changed: 36 additions & 5 deletions

File tree

M4_Eyes/user_hid.cpp

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
#include "Adafruit_TinyUSB.h"
55
#include "globals.h"
66

7-
#define KEYCODE_TO_SEND HID_KEY_SPACE
7+
#define UP_BUTTON_KEYCODE_TO_SEND HID_KEY_U
8+
#define A_BUTTON_KEYCODE_TO_SEND HID_KEY_A
9+
#define DOWN_BUTTON_KEYCODE_TO_SEND HID_KEY_D
10+
#define SHAKE_KEYCODE_TO_SEND HID_KEY_SPACE
811

912
// HID report descriptor using TinyUSB's template
1013
// Single Report (no ID) descriptor
@@ -21,9 +24,10 @@ void user_setup(void) {
2124

2225
usb_hid.begin();
2326

24-
pinMode(13, OUTPUT);
25-
digitalWrite(13, LOW);
26-
27+
pinMode(LED_BUILTIN, OUTPUT);
28+
digitalWrite(LED_BUILTIN, LOW);
29+
arcada.accel.setClick(1, 50);
30+
2731
// wait until device mounted
2832
while( !USBDevice.mounted() ) delay(1);
2933
}
@@ -37,11 +41,38 @@ void user_loop(void) {
3741
uint8_t keycode[6] = { 0 };
3842

3943
uint32_t buttonState = arcada.readButtons();
44+
if (buttonState & ARCADA_BUTTONMASK_UP) {
45+
Serial.println("Up");
46+
keycode[0] = UP_BUTTON_KEYCODE_TO_SEND;
47+
}
4048
if (buttonState & ARCADA_BUTTONMASK_A) {
4149
Serial.println("A");
42-
keycode[0] = KEYCODE_TO_SEND;
50+
keycode[1] = A_BUTTON_KEYCODE_TO_SEND;
51+
}
52+
if (buttonState & ARCADA_BUTTONMASK_DOWN) {
53+
Serial.println("Down");
54+
keycode[2] = DOWN_BUTTON_KEYCODE_TO_SEND;
55+
}
56+
57+
uint8_t shake = arcada.accel.getClick();
58+
if (shake & 0x30) {
59+
Serial.print("shake detected (0x"); Serial.print(shake, HEX); Serial.print("): ");
60+
if (shake & 0x10) Serial.println(" single shake");
61+
keycode[3] = SHAKE_KEYCODE_TO_SEND;
62+
}
63+
64+
bool anypressed = false;
65+
for (int k=0; k<sizeof(keycode); k++) {
66+
if (keycode[k] != 0) {
67+
anypressed = true;
68+
break;
69+
}
70+
}
71+
if (anypressed) {
72+
digitalWrite(LED_BUILTIN, HIGH);
4373
usb_hid.keyboardReport(0, 0, keycode);
4474
} else {
75+
digitalWrite(LED_BUILTIN, LOW);
4576
usb_hid.keyboardRelease(0);
4677
}
4778
}

0 commit comments

Comments
 (0)