|
|
|
|
|
|
|
|
MouseController mouse1(myusb); |
|
|
MouseController mouse1(myusb); |
|
|
JoystickController joystick1(myusb); |
|
|
JoystickController joystick1(myusb); |
|
|
|
|
|
|
|
|
|
|
|
USBDriver *drivers[] = {&hub1, &hub2, &hub3, &keyboard1, &keyboard2, &hid1, &hid2, &hid3, &hid4, &hid5}; |
|
|
|
|
|
#define CNT_DEVICES (sizeof(drivers)/sizeof(drivers[1])) |
|
|
|
|
|
const char * driver_names[CNT_DEVICES] = {"Hub1","Hub2","Hub3", "KB1", "KB2", "HID1", "HID2", "HID3", "HID4", "HID5" }; |
|
|
|
|
|
bool driver_active[CNT_DEVICES] = {false, false, false, false}; |
|
|
|
|
|
|
|
|
void setup() |
|
|
void setup() |
|
|
{ |
|
|
{ |
|
|
while (!Serial) ; // wait for Arduino Serial Monitor |
|
|
while (!Serial) ; // wait for Arduino Serial Monitor |
|
|
|
|
|
|
|
|
void loop() |
|
|
void loop() |
|
|
{ |
|
|
{ |
|
|
myusb.Task(); |
|
|
myusb.Task(); |
|
|
|
|
|
|
|
|
|
|
|
for (uint8_t i = 0; i < CNT_DEVICES; i++) { |
|
|
|
|
|
if (*drivers[i] != driver_active[i]) { |
|
|
|
|
|
if (driver_active[i]) { |
|
|
|
|
|
Serial.printf("*** Device %s - disconnected ***\n", driver_names[i]); |
|
|
|
|
|
driver_active[i] = false; |
|
|
|
|
|
} else { |
|
|
|
|
|
Serial.printf("*** Device %s - connected ***\n", driver_names[i]); |
|
|
|
|
|
driver_active[i] = true; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if(mouse1.available()) { |
|
|
if(mouse1.available()) { |
|
|
Serial.print("Mouse: buttons = "); |
|
|
Serial.print("Mouse: buttons = "); |
|
|
Serial.print(mouse1.getButtons()); |
|
|
Serial.print(mouse1.getButtons()); |