Bring enhanced HID functions to your Arduino!
Find a file
Nico f7fe5f32aa Separated CDC, HID and its APIs.
Also added Absolute Mouse and changed the structure. Added a better
readme for changelog and todo list.
2014-12-26 21:47:07 +01:00
HID_Tests Led Out Report, Minor Keyboard + Mouse changes 2014-12-09 18:25:37 +01:00
Arduino.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
CDC.cpp Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
CDC.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
HID.cpp Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
HID.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
HIDAPI.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
Keyboard.cpp Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
Keyboard.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
Mouse.cpp Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
Mouse.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
Readme.md Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
USBAPI.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
USBCore.cpp Added u2 Series support 2014-12-09 16:46:05 +01:00
USBCore.h Separated CDC, HID and its APIs. 2014-12-26 21:47:07 +01:00
USBDesc.h Added u2 Series support 2014-12-09 16:46:05 +01:00
wiring_private.h Added u2 Series support 2014-12-09 16:46:05 +01:00

TODO

Under Construction. This is a todo list for myself and a feature list so far.

Keyboard Layout english only?
more usb definitions instead of fixed values, noone understands
someone has to add the keywords.txt definitions as well
keyboard music vol (change descriptor)
keyboard led move to usb function not to keyboard and from keyboard call this function?
weak hidsendreport implement somewhere the prototype?
move HID-Core to a seperate folder?
usb wakeup
keycode/raw for keyboard
magic key fix?
add examples
void Recv(volatile u8* data, u8 count) static inline??

Bugs
Mouse Abs only works with system report under special circumstances.
(flash numbers might be irrelevant due to a lot of improvements)
* Uses less flash if HID or Serial is not used
* Extended and compacter(flash) HID Report Descriptors
* Fixed USB Device Descriptor
* Added u2 compatibility with smaller USB_EP_SIZE (16u2 etc)
* Added Serial Event for LineEncoding and LineState (+12b flash)
* Added Serial Function to get dtr state, line encoding etc
* Added Keyboard Led Out report to get Led states (for numlock etc, +52b flash, 1b ram)
* Made CDC-Core independent from USB-Core
* Made HID-Core independent from USB-Core
* Made HID-API independent from HID-Core
* Removed not needed virtual functions in Keyboard
* Made HID Reports and its IDs replaceable via pins_Arduino.h
* Added Absolute Mouse
Include schematic
- Arduino.h
 - USBAPI.h -> Arduino.h, USBDESC.h, USBCore.h
 - CDC.h -> Arduino.h, USBDESC.h, USBCore.h
 - HID.h -> Arduino.h, USBDESC.h, USBCore.h, HID-API
  - HID-API -> Keyboard.h, Mouse.h
   - Keyboard.h ->  Arduino.h
   - Mouse.h ->  Arduino.h

HID.h contains all HID configuration.
Each HID-API (like Mouse) includes Arduino.h and gets these settings as well.