qmk_firmware/tmk_core/protocol
José Júnior ee43b338ea Incorporates patches and changes to HID reporting
There are some patches provided by @a-chol incorporated on this commit,
and also some changes I made to the HID Report structure.

The most interesting is the one dealing with number of buttons: Linux
doesn't seem to care, but Windows requires the HID structure to be byte
aligned (that's in the spec). So if one declares 8/16/32... buttons they
should not have any issues, but this is what happens when you have 9
buttons:

```
 bits |0|1|2|3|4|5|6|7|
      |*|*|*|*|*|*|*|*| axis 0 (report size 8)
      |*|*|*|*|*|*|*|*| ...
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*| axis 6
      |*|*|*|*|*|*|*|*| first 8 buttons (report size 1)
      |*| | | | | | | | last of 9 buttons, not aligned
```

So for that I added a conditonal that will add a number of reports with
size 1 to make sure it aligns to the next multiple of 8. Those reports
send dummy inputs that don't do anything aside from aligning the data.

Tested on Linux, Windows 10 and Street Fighter (where the joystick is
recognized as direct-input)
2020-03-22 11:23:32 +01:00
..
arm_atsam Improvements to extrakey HID descriptors (#8156) 2020-02-25 12:18:11 +11:00
bluefruit Remove PJRC USB stack 2020-02-08 11:07:43 -08:00
chibios add support for hid gamepad interface 2020-03-22 11:23:25 +01:00
iwrap Set proper ASCII character for KC_NUHS in iWRAP code (#7434) 2019-12-08 12:59:47 +11:00
lufa Incorporates patches and changes to HID reporting 2020-03-22 11:23:32 +01:00
midi clang-format changes 2019-08-30 15:01:52 -07:00
usb_hid Added OLED Display autoscroll during periods of OLED data inactivity (#6546) 2019-08-25 12:37:55 -07:00
vusb add support for hid gamepad interface 2020-03-22 11:23:25 +01:00
adb.c clang-format changes 2019-08-30 15:01:52 -07:00
adb.h clang-format changes 2019-08-30 15:01:52 -07:00
arm_atsam.mk RGB Matrix support for Massdrop CTRL/ALT (#5328) 2019-04-03 18:30:47 -07:00
bluefruit.mk Remove PJRC USB stack 2020-02-08 11:07:43 -08:00
chibios.mk 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
ibm4704.c clang-format changes 2019-08-30 15:01:52 -07:00
ibm4704.h clang-format changes 2019-08-30 15:01:52 -07:00
iwrap.mk Merge commit 'a074364c37' as 'tmk_core' 2015-04-10 01:32:04 +09:00
lufa.mk Fix battery level code in adafruit_ble.cpp (#6648) 2019-09-04 04:29:23 +10:00
m0110.c clang-format changes 2019-08-30 15:01:52 -07:00
m0110.h clang-format changes 2019-08-30 15:01:52 -07:00
midi.mk Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
news.c clang-format changes 2019-08-30 15:01:52 -07:00
news.h clang-format changes 2019-08-30 15:01:52 -07:00
next_kbd.c clang-format changes 2019-08-30 15:01:52 -07:00
next_kbd.h clang-format changes 2019-08-30 15:01:52 -07:00
ps2.h clang-format changes 2019-08-30 15:01:52 -07:00
ps2_busywait.c clang-format changes 2019-08-30 15:01:52 -07:00
ps2_interrupt.c clang-format changes 2019-08-30 15:01:52 -07:00
ps2_io.h clang-format changes 2019-08-30 15:01:52 -07:00
ps2_io_avr.c clang-format changes 2019-08-30 15:01:52 -07:00
ps2_mouse.c clang-format changes 2019-08-30 15:01:52 -07:00
ps2_mouse.h clang-format changes 2019-08-30 15:01:52 -07:00
ps2_usart.c clang-format changes 2019-08-30 15:01:52 -07:00
serial.h clang-format changes 2019-08-30 15:01:52 -07:00
serial_mouse.h clang-format changes 2019-08-30 15:01:52 -07:00
serial_mouse_microsoft.c clang-format changes 2019-08-30 15:01:52 -07:00
serial_mouse_mousesystems.c clang-format changes 2019-08-30 15:01:52 -07:00
serial_soft.c remove SERIAL_SOFT_DEBUG macro (#7625) 2019-12-13 18:06:18 -08:00
serial_uart.c clang-format changes 2019-08-30 15:01:52 -07:00
usb_descriptor.c Incorporates patches and changes to HID reporting 2020-03-22 11:23:32 +01:00
usb_descriptor.h add support for hid gamepad interface 2020-03-22 11:23:25 +01:00
usb_hid.mk cleanup usb-usb converter code 2017-08-15 23:14:41 -04:00
vusb.mk Simplified and polished a bit the code changes on tmk_core 2017-01-21 17:18:05 -05:00
xt.h clang-format changes 2019-08-30 15:01:52 -07:00
xt_interrupt.c clang-format changes 2019-08-30 15:01:52 -07:00