mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Updated USBHost HID examples
This commit is contained in:
@ -1,8 +1,7 @@
|
|||||||
#include "variant.h"
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <hidboot.h>
|
#include <hidboot.h>
|
||||||
|
|
||||||
class KbdRptParser : public KeyboardReportParser
|
class KbdRptParser :
|
||||||
|
public KeyboardReportParser
|
||||||
{
|
{
|
||||||
void PrintKey(uint8_t mod, uint8_t key);
|
void PrintKey(uint8_t mod, uint8_t key);
|
||||||
|
|
||||||
@ -17,22 +16,24 @@ void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
|
|||||||
MODIFIERKEYS mod;
|
MODIFIERKEYS mod;
|
||||||
|
|
||||||
*((uint8_t*)&mod) = m;
|
*((uint8_t*)&mod) = m;
|
||||||
printf((mod.bmLeftCtrl == 1) ? "C" : " ");
|
Serial1.print((mod.bmLeftCtrl == 1) ? "C" : " ");
|
||||||
printf((mod.bmLeftShift == 1) ? "S" : " ");
|
Serial1.print((mod.bmLeftShift == 1) ? "S" : " ");
|
||||||
printf((mod.bmLeftAlt == 1) ? "A" : " ");
|
Serial1.print((mod.bmLeftAlt == 1) ? "A" : " ");
|
||||||
printf((mod.bmLeftGUI == 1) ? "G" : " ");
|
Serial1.print((mod.bmLeftGUI == 1) ? "G" : " ");
|
||||||
|
|
||||||
printf("<%c>", key);
|
Serial1.print("<");
|
||||||
|
Serial1.print(key);
|
||||||
|
Serial1.print(">");
|
||||||
|
|
||||||
printf((mod.bmRightCtrl == 1) ? "C" : " ");
|
Serial1.print((mod.bmRightCtrl == 1) ? "C" : " ");
|
||||||
printf((mod.bmRightShift == 1) ? "S" : " ");
|
Serial1.print((mod.bmRightShift == 1) ? "S" : " ");
|
||||||
printf((mod.bmRightAlt == 1) ? "A" : " ");
|
Serial1.print((mod.bmRightAlt == 1) ? "A" : " ");
|
||||||
printf((mod.bmRightGUI == 1) ? "G" : " ");
|
Serial1.print((mod.bmRightGUI == 1) ? "G" : " ");
|
||||||
};
|
}
|
||||||
|
|
||||||
void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
|
void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
|
||||||
{
|
{
|
||||||
printf("DN ");
|
Serial1.print("DOWN ");
|
||||||
PrintKey(mod, key);
|
PrintKey(mod, key);
|
||||||
uint8_t c = OemToAscii(mod, key);
|
uint8_t c = OemToAscii(mod, key);
|
||||||
|
|
||||||
@ -42,14 +43,15 @@ void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
|
|||||||
|
|
||||||
void KbdRptParser::OnKeyUp(uint8_t mod, uint8_t key)
|
void KbdRptParser::OnKeyUp(uint8_t mod, uint8_t key)
|
||||||
{
|
{
|
||||||
printf("UP ");
|
Serial1.print("UP ");
|
||||||
PrintKey(mod, key);
|
PrintKey(mod, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KbdRptParser::OnKeyPressed(uint8_t key)
|
void KbdRptParser::OnKeyPressed(uint8_t key)
|
||||||
{
|
{
|
||||||
printf("ASCII: %c", key);
|
Serial1.print("ASCII: ");
|
||||||
};
|
Serial1.println(key);
|
||||||
|
}
|
||||||
|
|
||||||
USBHost Usb;
|
USBHost Usb;
|
||||||
HIDBoot<HID_PROTOCOL_KEYBOARD> Kbd(&Usb);
|
HIDBoot<HID_PROTOCOL_KEYBOARD> Kbd(&Usb);
|
||||||
@ -57,14 +59,15 @@ KbdRptParser Prs;
|
|||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
cpu_irq_enable();
|
Serial1.begin(115200);
|
||||||
printf("\r\nProgram started:\r\n");
|
Serial1.println("Program started!");
|
||||||
delay(200);
|
delay(200);
|
||||||
|
|
||||||
Kbd.SetReportParser(0, (HIDReportParser*)&Prs);
|
Kbd.SetReportParser(0, &Prs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
Usb.Task();
|
Usb.Task();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#include "variant.h"
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <hidboot.h>
|
#include <hidboot.h>
|
||||||
|
|
||||||
class MouseRptParser : public MouseReportParser
|
class MouseRptParser : public MouseReportParser
|
||||||
@ -13,33 +11,44 @@ protected:
|
|||||||
virtual void OnMiddleButtonUp(MOUSEINFO *mi);
|
virtual void OnMiddleButtonUp(MOUSEINFO *mi);
|
||||||
virtual void OnMiddleButtonDown(MOUSEINFO *mi);
|
virtual void OnMiddleButtonDown(MOUSEINFO *mi);
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("Pos={%d,%d}\r\n", mi->dX, mi->dY);
|
Serial1.print("Moving { ");
|
||||||
|
Serial1.print(mi->dX);
|
||||||
|
Serial1.print(", ");
|
||||||
|
Serial1.print(mi->dY);
|
||||||
|
Serial1.println(" }");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnLeftButtonUp(MOUSEINFO *mi)
|
void MouseRptParser::OnLeftButtonUp(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("L Butt Up\r\n");
|
Serial1.println("Left Button UP");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnLeftButtonDown(MOUSEINFO *mi)
|
void MouseRptParser::OnLeftButtonDown(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("L Butt Dn\r\n");
|
Serial1.println("Left Button DOWN");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnRightButtonUp(MOUSEINFO *mi)
|
void MouseRptParser::OnRightButtonUp(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("R Butt Up\r\n");
|
Serial1.println("Right Button UP");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnRightButtonDown(MOUSEINFO *mi)
|
void MouseRptParser::OnRightButtonDown(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("R Butt Dn\r\n");
|
Serial1.println("Right Button DOWN");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnMiddleButtonUp(MOUSEINFO *mi)
|
void MouseRptParser::OnMiddleButtonUp(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("M Butt Up\r\n");
|
Serial1.println("Middle Button UP");
|
||||||
};
|
};
|
||||||
|
|
||||||
void MouseRptParser::OnMiddleButtonDown(MOUSEINFO *mi)
|
void MouseRptParser::OnMiddleButtonDown(MOUSEINFO *mi)
|
||||||
{
|
{
|
||||||
printf("M Butt Dn\r\n");
|
Serial1.println("Middle Button DOWN");
|
||||||
};
|
};
|
||||||
|
|
||||||
USBHost Usb;
|
USBHost Usb;
|
||||||
@ -48,11 +57,11 @@ MouseRptParser Prs;
|
|||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
cpu_irq_enable();
|
Serial1.begin(115200);
|
||||||
printf("\r\nProgram started:\r\n");
|
Serial1.println("Program started:");
|
||||||
delay(200);
|
delay(200);
|
||||||
|
|
||||||
HostMouse.SetReportParser(0,(HIDReportParser*)&Prs);
|
HostMouse.SetReportParser(0, &Prs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
|
Reference in New Issue
Block a user