SDL: Updated hidapi to 0.14.0 release

From 3b7b8f3c09491f4076b38baf170ad9f3aa249bad Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 24 May 2023 07:28:55 -0700
Subject: [PATCH] Updated hidapi to 0.14.0 release

Upstream: https://github.com/libusb/hidapi/releases/tag/hidapi-0.14.0
---
 src/hidapi/.appveyor.yml                      |    31 +
 src/hidapi/.builds/freebsd.yml                |    34 +
 src/hidapi/.builds/netbsd.yml                 |    18 +
 src/hidapi/.builds/openbsd.yml                |    19 +
 src/hidapi/.cirrus.yml                        |    33 +
 src/hidapi/.gitattributes                     |     7 +
 src/hidapi/.github/workflows/builds.yml       |   540 +
 src/hidapi/.github/workflows/checks.yml       |   196 +
 src/hidapi/.github/workflows/docs.yaml        |    58 +
 src/hidapi/.gitignore                         |    32 +
 src/hidapi/AUTHORS.txt                        |     4 +-
 src/hidapi/BUILD.autotools.md                 |   114 +
 src/hidapi/BUILD.cmake.md                     |   280 +
 src/hidapi/BUILD.md                           |   127 +
 src/hidapi/CMakeLists.txt                     |   105 +
 src/hidapi/HACKING.txt                        |    26 +-
 src/hidapi/Makefile.am                        |    10 +-
 src/hidapi/README.md                          |   196 +
 src/hidapi/README.txt                         |   339 -
 src/hidapi/VERSION                            |     1 +
 src/hidapi/android/hid.cpp                    |  1443 --
 src/hidapi/android/hid.h                      |    39 -
 src/hidapi/android/jni/Android.mk             |    16 -
 src/hidapi/android/jni/Application.mk         |     2 -
 src/hidapi/android/project.properties         |    14 -
 src/hidapi/configure.ac                       |    68 +-
 src/hidapi/dist/hidapi.podspec                |    31 +
 .../documentation/cmake-gui-drop-down.png     |   Bin 0 -> 22316 bytes
 .../documentation/cmake-gui-highlights.png    |   Bin 0 -> 77327 bytes
 src/hidapi/doxygen/Doxyfile                   |  2832 ++--
 src/hidapi/doxygen/main_page.md               |    13 +
 src/hidapi/hidapi/hidapi.h                    |   319 +-
 src/hidapi/hidtest/.gitignore                 |    17 +
 src/hidapi/hidtest/CMakeLists.txt             |    40 +
 src/hidapi/hidtest/Makefile.am                |    14 +-
 src/hidapi/hidtest/hidtest.cpp                |   194 -
 src/hidapi/hidtest/test.c                     |   316 +
 src/hidapi/ios/Makefile-manual                |    32 -
 src/hidapi/ios/Makefile.am                    |     9 -
 src/hidapi/ios/hid.m                          |   996 --
 src/hidapi/libusb/.gitignore                  |     8 +
 src/hidapi/libusb/CMakeLists.txt              |   107 +
 src/hidapi/libusb/Makefile-manual             |     4 +
 src/hidapi/libusb/Makefile.am                 |     9 +-
 src/hidapi/libusb/Makefile.freebsd            |    15 +-
 src/hidapi/libusb/Makefile.haiku              |    39 +
 src/hidapi/libusb/Makefile.linux              |    17 +-
 src/hidapi/libusb/hid.c                       |  1317 +-
 src/hidapi/libusb/hidapi_libusb.h             |    56 +
 src/hidapi/libusb/hidusb.cpp                  |     3 -
 src/hidapi/linux/.gitignore                   |    18 +
 src/hidapi/linux/CMakeLists.txt               |    38 +
 src/hidapi/linux/Makefile-manual              |    17 +-
 src/hidapi/linux/README.txt                   |    59 -
 src/hidapi/linux/hid.c                        |  1324 +-
 src/hidapi/linux/hidraw.cpp                   |     3 -
 src/hidapi/m4/.gitignore                      |     5 +
 src/hidapi/mac/.gitignore                     |    17 +
 src/hidapi/mac/CMakeLists.txt                 |    48 +
 src/hidapi/mac/Makefile-manual                |    17 +-
 src/hidapi/mac/hid.c                          |  1597 ++-
 src/hidapi/mac/hidapi_darwin.h                |    98 +
 src/hidapi/meson.build                        |    22 +
 src/hidapi/pc/.gitignore                      |     1 +
 src/hidapi/pc/hidapi-hidraw.pc.in             |     1 +
 src/hidapi/pc/hidapi-libusb.pc.in             |     1 +
 src/hidapi/pc/hidapi.pc.in                    |     1 +
 src/hidapi/src/CMakeLists.txt                 |   193 +
 src/hidapi/src/cmake/hidapi-config.cmake.in   |    61 +
 src/hidapi/subprojects/README.md              |     2 +
 .../hidapi_build_cmake/CMakeLists.txt         |    10 +
 src/hidapi/testgui/.gitignore                 |    20 +
 src/hidapi/testgui/Makefile.mingw             |     2 +-
 src/hidapi/testgui/copy_to_bundle.sh          |     3 +-
 src/hidapi/testgui/mac_support.cpp            |   134 -
 src/hidapi/testgui/mac_support_cocoa.m        |    13 +-
 src/hidapi/testgui/start.sh                   |     2 -
 src/hidapi/testgui/testgui.sln                |    40 +-
 src/hidapi/testgui/testgui.vcproj             |   434 +-
 src/hidapi/udev/69-hid.rules                  |    36 +
 src/hidapi/udev/99-hid.rules                  |    33 -
 src/hidapi/windows/.gitignore                 |    17 +
 src/hidapi/windows/CMakeLists.txt             |    63 +
 src/hidapi/windows/Makefile.am                |     1 -
 src/hidapi/windows/Makefile.mingw             |    17 +-
 src/hidapi/windows/ddk_build/hidapi.def       |    17 -
 src/hidapi/windows/ddk_build/makefile         |    49 -
 src/hidapi/windows/ddk_build/sources          |    23 -
 src/hidapi/windows/hid.c                      |  1476 +-
 src/hidapi/windows/hidapi.rc                  |    35 +
 src/hidapi/windows/hidapi.sln                 |    70 +-
 src/hidapi/windows/hidapi.vcproj              |   401 +-
 src/hidapi/windows/hidapi.vcxproj             |   200 +
 src/hidapi/windows/hidapi_cfgmgr32.h          |    30 +-
 .../windows/hidapi_descriptor_reconstruct.c   |   987 ++
 .../windows/hidapi_descriptor_reconstruct.h   |   238 +
 src/hidapi/windows/hidapi_hidpi.h             |     7 +
 src/hidapi/windows/hidapi_hidsdi.h            |     3 +-
 src/hidapi/windows/hidapi_winapi.h            |    74 +
 src/hidapi/windows/hidtest.vcproj             |   392 +-
 src/hidapi/windows/hidtest.vcxproj            |   176 +
 .../windows/pp_data_dump/CMakeLists.txt       |    15 +
 src/hidapi/windows/pp_data_dump/README.md     |   122 +
 .../windows/pp_data_dump/pp_data_dump.c       |   238 +
 src/hidapi/windows/test/CMakeLists.txt        |    76 +
 .../test/data/045E_02FF_0005_0001.pp_data     |   420 +
 .../045E_02FF_0005_0001_expected.rpt_desc     |    12 +
 .../data/045E_02FF_0005_0001_real.rpt_desc    |    64 +
 .../test/data/046A_0011_0006_0001.pp_data     |   183 +
 .../046A_0011_0006_0001_expected.rpt_desc     |     7 +
 .../data/046A_0011_0006_0001_real.rpt_desc    |     7 +
 .../test/data/046D_0A37_0001_000C.pp_data     |   532 +
 .../046D_0A37_0001_000C_expected.rpt_desc     |    16 +
 .../data/046D_0A37_0001_000C_real.rpt_desc    |    61 +
 .../test/data/046D_B010_0001_000C.pp_data     |    97 +
 .../046D_B010_0001_000C_expected.rpt_desc     |     3 +
 .../data/046D_B010_0001_000C_real.rpt_desc    |    38 +
 .../test/data/046D_B010_0001_FF00.pp_data     |   139 +
 .../046D_B010_0001_FF00_expected.rpt_desc     |     4 +
 .../data/046D_B010_0001_FF00_real.rpt_desc    |    39 +
 .../test/data/046D_B010_0002_0001.pp_data     |   302 +
 .../046D_B010_0002_0001_expected.rpt_desc     |     8 +
 .../data/046D_B010_0002_0001_real.rpt_desc    |    61 +
 .../test/data/046D_B010_0002_FF00.pp_data     |   139 +
 .../046D_B010_0002_FF00_expected.rpt_desc     |     4 +
 .../data/046D_B010_0002_FF00_real.rpt_desc    |    39 +
 .../test/data/046D_B010_0006_0001.pp_data     |   185 +
 .../046D_B010_0006_0001_expected.rpt_desc     |     7 +
 .../data/046D_B010_0006_0001_real.rpt_desc    |    58 +
 .../test/data/046D_C077_0002_0001.pp_data     |   252 +
 .../046D_C077_0002_0001_expected.rpt_desc     |     5 +
 .../data/046D_C077_0002_0001_real.rpt_desc    |    24 +
 .../test/data/046D_C283_0004_0001.pp_data     |   520 +
 .../046D_C283_0004_0001_expected.rpt_desc     |    18 +
 .../data/046D_C283_0004_0001_real.rpt_desc    |    18 +
 .../test/data/046D_C52F_0001_000C.pp_data     |    93 +
 .../046D_C52F_0001_000C_expected.rpt_desc     |     3 +
 .../data/046D_C52F_0001_000C_real.rpt_desc    |    12 +
 .../test/data/046D_C52F_0001_FF00.pp_data     |   139 +
 .../046D_C52F_0001_FF00_expected.rpt_desc     |     4 +
 .../data/046D_C52F_0001_FF00_real.rpt_desc    |    13 +
 .../test/data/046D_C52F_0002_0001.pp_data     |   302 +
 .../046D_C52F_0002_0001_expected.rpt_desc     |     8 +
 .../data/046D_C52F_0002_0001_real.rpt_desc    |    33 +
 .../test/data/046D_C52F_0002_FF00.pp_data     |   139 +
 .../046D_C52F_0002_FF00_expected.rpt_desc     |     4 +
 .../data/046D_C52F_0002_FF00_real.rpt_desc    |    13 +
 .../test/data/046D_C534_0001_000C.pp_data     |    93 +
 .../046D_C534_0001_000C_expected.rpt_desc     |     3 +
 .../data/046D_C534_0001_000C_real.rpt_desc    |    18 +
 .../test/data/046D_C534_0001_FF00.pp_data     |   139 +
 .../046D_C534_0001_FF00_expected.rpt_desc     |     4 +
 .../data/046D_C534_0001_FF00_real.rpt_desc    |    20 +
 .../test/data/046D_C534_0002_0001.pp_data     |   302 +
 .../046D_C534_0002_0001_expected.rpt_desc     |     8 +
 .../data/046D_C534_0002_0001_real.rpt_desc    |    44 +
 .../test/data/046D_C534_0002_FF00.pp_data     |   139 +
 .../046D_C534_0002_FF00_expected.rpt_desc     |     4 +
 .../data/046D_C534_0002_FF00_real.rpt_desc    |    22 +
 .../test/data/046D_C534_0006_0001.pp_data     |   185 +
 .../046D_C534_0006_0001_expected.rpt_desc     |     7 +
 .../data/046D_C534_0006_0001_real.rpt_desc    |    42 +
 .../test/data/046D_C534_0080_0001.pp_data     |   185 +
 .../046D_C534_0080_0001_expected.rpt_desc     |     4 +
 .../data/046D_C534_0080_0001_real.rpt_desc    |    22 +
 .../test/data/047F_C056_0001_000C.pp_data     |   385 +
 .../047F_C056_0001_000C_expected.rpt_desc     |    10 +
 .../data/047F_C056_0001_000C_real.rpt_desc    |    47 +
 .../test/data/047F_C056_0003_FFA0.pp_data     |  1255 ++
 .../047F_C056_0003_FFA0_expected.rpt_desc     |    24 +
 .../data/047F_C056_0003_FFA0_real.rpt_desc    |   113 +
 .../test/data/047F_C056_0005_000B.pp_data     |   461 +
 .../047F_C056_0005_000B_expected.rpt_desc     |    17 +
 .../data/047F_C056_0005_000B_real.rpt_desc    |    68 +
 .../test/data/17CC_1130_0000_FF01.pp_data     | 11508 ++++++++++++++++
 .../17CC_1130_0000_FF01_expected.rpt_desc     |    75 +
 .../data/17CC_1130_0000_FF01_real.rpt_desc    |   381 +
 .../test/hid_report_reconstructor_test.c      |   561 +
 178 files changed, 31624 insertions(+), 7664 deletions(-)
 create mode 100644 src/hidapi/.appveyor.yml
 create mode 100644 src/hidapi/.builds/freebsd.yml
 create mode 100644 src/hidapi/.builds/netbsd.yml
 create mode 100644 src/hidapi/.builds/openbsd.yml
 create mode 100644 src/hidapi/.cirrus.yml
 create mode 100644 src/hidapi/.gitattributes
 create mode 100644 src/hidapi/.github/workflows/builds.yml
 create mode 100644 src/hidapi/.github/workflows/checks.yml
 create mode 100644 src/hidapi/.github/workflows/docs.yaml
 create mode 100644 src/hidapi/.gitignore
 create mode 100644 src/hidapi/BUILD.autotools.md
 create mode 100644 src/hidapi/BUILD.cmake.md
 create mode 100644 src/hidapi/BUILD.md
 create mode 100644 src/hidapi/CMakeLists.txt
 create mode 100644 src/hidapi/README.md
 delete mode 100644 src/hidapi/README.txt
 create mode 100644 src/hidapi/VERSION
 delete mode 100644 src/hidapi/android/hid.cpp
 delete mode 100644 src/hidapi/android/hid.h
 delete mode 100644 src/hidapi/android/jni/Android.mk
 delete mode 100644 src/hidapi/android/jni/Application.mk
 delete mode 100644 src/hidapi/android/project.properties
 create mode 100644 src/hidapi/dist/hidapi.podspec
 create mode 100644 src/hidapi/documentation/cmake-gui-drop-down.png
 create mode 100644 src/hidapi/documentation/cmake-gui-highlights.png
 create mode 100644 src/hidapi/doxygen/main_page.md
 create mode 100644 src/hidapi/hidtest/.gitignore
 create mode 100644 src/hidapi/hidtest/CMakeLists.txt
 delete mode 100644 src/hidapi/hidtest/hidtest.cpp
 create mode 100644 src/hidapi/hidtest/test.c
 delete mode 100644 src/hidapi/ios/Makefile-manual
 delete mode 100644 src/hidapi/ios/Makefile.am
 delete mode 100644 src/hidapi/ios/hid.m
 create mode 100644 src/hidapi/libusb/.gitignore
 create mode 100644 src/hidapi/libusb/CMakeLists.txt
 create mode 100644 src/hidapi/libusb/Makefile.haiku
 create mode 100644 src/hidapi/libusb/hidapi_libusb.h
 delete mode 100644 src/hidapi/libusb/hidusb.cpp
 create mode 100644 src/hidapi/linux/.gitignore
 create mode 100644 src/hidapi/linux/CMakeLists.txt
 delete mode 100644 src/hidapi/linux/README.txt
 delete mode 100644 src/hidapi/linux/hidraw.cpp
 create mode 100644 src/hidapi/m4/.gitignore
 create mode 100644 src/hidapi/mac/.gitignore
 create mode 100644 src/hidapi/mac/CMakeLists.txt
 create mode 100644 src/hidapi/mac/hidapi_darwin.h
 create mode 100644 src/hidapi/meson.build
 create mode 100644 src/hidapi/pc/.gitignore
 create mode 100644 src/hidapi/src/CMakeLists.txt
 create mode 100644 src/hidapi/src/cmake/hidapi-config.cmake.in
 create mode 100644 src/hidapi/subprojects/README.md
 create mode 100644 src/hidapi/subprojects/hidapi_build_cmake/CMakeLists.txt
 create mode 100644 src/hidapi/testgui/.gitignore
 delete mode 100644 src/hidapi/testgui/mac_support.cpp
 delete mode 100755 src/hidapi/testgui/start.sh
 create mode 100644 src/hidapi/udev/69-hid.rules
 delete mode 100644 src/hidapi/udev/99-hid.rules
 create mode 100644 src/hidapi/windows/.gitignore
 create mode 100644 src/hidapi/windows/CMakeLists.txt
 delete mode 100644 src/hidapi/windows/ddk_build/hidapi.def
 delete mode 100644 src/hidapi/windows/ddk_build/makefile
 delete mode 100644 src/hidapi/windows/ddk_build/sources
 create mode 100644 src/hidapi/windows/hidapi.rc
 create mode 100644 src/hidapi/windows/hidapi.vcxproj
 create mode 100644 src/hidapi/windows/hidapi_descriptor_reconstruct.c
 create mode 100644 src/hidapi/windows/hidapi_descriptor_reconstruct.h
 create mode 100644 src/hidapi/windows/hidapi_winapi.h
 create mode 100644 src/hidapi/windows/hidtest.vcxproj
 create mode 100644 src/hidapi/windows/pp_data_dump/CMakeLists.txt
 create mode 100644 src/hidapi/windows/pp_data_dump/README.md
 create mode 100644 src/hidapi/windows/pp_data_dump/pp_data_dump.c
 create mode 100644 src/hidapi/windows/test/CMakeLists.txt
 create mode 100644 src/hidapi/windows/test/data/045E_02FF_0005_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/045E_02FF_0005_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046A_0011_0006_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_0A37_0001_000C.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_0A37_0001_000C_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_000C.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_000C_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0001_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0002_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0006_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_B010_0006_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C077_0002_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C283_0004_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C283_0004_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C283_0004_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_000C.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_000C.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_FF00.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0006_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0006_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0080_0001.pp_data
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0001_000C.pp_data
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0001_000C_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0003_FFA0.pp_data
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0003_FFA0_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0003_FFA0_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0005_000B.pp_data
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0005_000B_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/047F_C056_0005_000B_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/17CC_1130_0000_FF01.pp_data
 create mode 100644 src/hidapi/windows/test/data/17CC_1130_0000_FF01_expected.rpt_desc
 create mode 100644 src/hidapi/windows/test/data/17CC_1130_0000_FF01_real.rpt_desc
 create mode 100644 src/hidapi/windows/test/hid_report_reconstructor_test.c

diff --git a/src/hidapi/.appveyor.yml b/src/hidapi/.appveyor.yml
new file mode 100644
index 000000000000..210b3fa4636f
--- /dev/null
+++ b/src/hidapi/.appveyor.yml
@@ -0,0 +1,31 @@
+environment:
+  matrix:
+  - BUILD_ENV: msbuild
+    arch: x64
+  - BUILD_ENV: msbuild
+    arch: Win32
+  - BUILD_ENV: cygwin
+
+for:
+  -
+    matrix:
+      only:
+        - BUILD_ENV: msbuild
+
+    os: Visual Studio 2015
+
+    build_script:
+      - cmd: msbuild .\windows\hidapi.sln /p:Configuration=Release /p:Platform=%arch% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+
+  -
+    matrix:
+      only:
+        - BUILD_ENV: cygwin
+
+    os: Visual Studio 2022
+
+    install:
+      - cmd: C:\cygwin64\setup-x86_64.exe --quiet-mode --no-shortcuts --upgrade-also --packages autoconf,automake
+
+    build_script:
+      - cmd: C:\cygwin64\bin\bash -exlc "cd $APPVEYOR_BUILD_FOLDER; ./bootstrap; ./configure; make"
diff --git a/src/hidapi/.builds/freebsd.yml b/src/hidapi/.builds/freebsd.yml
new file mode 100644
index 000000000000..1679b03c386b
--- /dev/null
+++ b/src/hidapi/.builds/freebsd.yml
@@ -0,0 +1,34 @@
+image: freebsd/latest
+packages:
+- autoconf
+- automake
+- gmake
+- libiconv
+- libtool
+- pkgconf
+- cmake
+- ninja
+sources:
+- https://github.com/libusb/hidapi
+tasks:
+- configure: |
+    cd hidapi
+    echo Configure Autotools build
+    ./bootstrap
+    ./configure
+    echo Configure CMake build
+    mkdir -p build install_cmake
+    cmake -GNinja -B build -S . -DCMAKE_INSTALL_PREFIX=install_cmake
+- build-autotools: |
+    cd hidapi
+    make
+    make DESTDIR=$PWD/root install
+    make clean
+- build-cmake: |
+    cd hidapi/build
+    ninja
+    ninja install
+    ninja clean
+- build-manual: |
+    cd hidapi/libusb
+    gmake -f Makefile-manual
diff --git a/src/hidapi/.builds/netbsd.yml b/src/hidapi/.builds/netbsd.yml
new file mode 100644
index 000000000000..413d91c02016
--- /dev/null
+++ b/src/hidapi/.builds/netbsd.yml
@@ -0,0 +1,18 @@
+image: netbsd/latest
+packages:
+- cmake
+- pkgconf
+- libusb1
+- libiconv
+sources:
+- https://github.com/libusb/hidapi
+tasks:
+- configure: |
+    cd hidapi
+    mkdir -p build install
+    cmake -B build -S . -DCMAKE_INSTALL_PREFIX=install
+- build: |
+    cd hidapi/build
+    make
+    make install
+    make clean
diff --git a/src/hidapi/.builds/openbsd.yml b/src/hidapi/.builds/openbsd.yml
new file mode 100644
index 000000000000..780df7f661a4
--- /dev/null
+++ b/src/hidapi/.builds/openbsd.yml
@@ -0,0 +1,19 @@
+image: openbsd/latest
+packages:
+- cmake
+- pkgconf
+- libusb1--
+- libiconv
+- ninja
+sources:
+- https://github.com/libusb/hidapi
+tasks:
+- configure: |
+    cd hidapi
+    mkdir -p build install
+    cmake -GNinja -B build -S . -DCMAKE_INSTALL_PREFIX=install
+- build: |
+    cd hidapi/build
+    ninja
+    ninja install
+    ninja clean
diff --git a/src/hidapi/.cirrus.yml b/src/hidapi/.cirrus.yml
new file mode 100644
index 000000000000..b4cf201667fe
--- /dev/null
+++ b/src/hidapi/.cirrus.yml
@@ -0,0 +1,33 @@
+alpine_task:
+        container:
+                image: alpine:latest
+        install_script: apk add autoconf automake g++ gcc libusb-dev libtool linux-headers eudev-dev make musl-dev
+        script:
+                - ./bootstrap
+                - ./configure || { cat config.log; exit 1; }
+                - make
+                - make install
+
+freebsd11_task:
+        freebsd_instance:
+                image: freebsd-11-2-release-amd64
+        install_script:
+                - pkg install -y
+                  autoconf automake libiconv libtool pkgconf
+        script:
+                - ./bootstrap
+                - ./configure || { cat config.log; exit 1; }
+                - make
+                - make install
+
+freebsd12_task:
+        freebsd_instance:
+                image: freebsd-12-1-release-amd64
+        install_script:
+                - pkg install -y
+                  autoconf automake libiconv libtool pkgconf
+        script:
+                - ./bootstrap
+                - ./configure || { cat config.log; exit 1; }
+                - make
+                - make install
diff --git a/src/hidapi/.gitattributes b/src/hidapi/.gitattributes
new file mode 100644
index 000000000000..edb79febc569
--- /dev/null
+++ b/src/hidapi/.gitattributes
@@ -0,0 +1,7 @@
+* text=auto
+
+*.sln text eol=crlf
+*.vcproj text eol=crlf
+
+bootstrap text eol=lf
+configure.ac text eol=lf
diff --git a/src/hidapi/.github/workflows/builds.yml b/src/hidapi/.github/workflows/builds.yml
new file mode 100644
index 000000000000..056df2cc08c8
--- /dev/null
+++ b/src/hidapi/.github/workflows/builds.yml
@@ -0,0 +1,540 @@
+name: GitHub Builds
+
+on: [push, pull_request]
+
+env:
+  NIX_COMPILE_FLAGS: -Wall -Wextra -pedantic -Werror
+  MSVC_COMPILE_FLAGS: /W4 /WX
+
+jobs:
+  macos-automake:
+
+    runs-on: macos-latest
+
+    steps:
+    - uses: actions/checkout@v3
+    - name: Install build tools
+      run: brew install autoconf automake libtool
+    - name: Configure Automake
+      run: |
+        ./bootstrap
+        ./configure --prefix=$(pwd)/install
+    - name: Build Automake
+      run: |
+        make
+        make install
+    - name: Clean build
+      run: make clean
+    - name: Build Manual makefile
+      working-directory: mac
+      run: make -f Makefile-manual
+
+
+  macos-cmake:
+
+    runs-on: macos-latest
+
+    steps:
+    - uses: actions/checkout@v3
+      with:
+        path: hidapisrc
+    - name: Install dependencies
+      run: brew install meson ninja
+    - name: Configure CMake
+      run: |
+        rm -rf build install
+        cmake -B build/shared -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install/shared -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cmake -B build/static -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install/static -DBUILD_SHARED_LIBS=FALSE -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cmake -B build/framework -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install/framework -DCMAKE_FRAMEWORK=ON -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+    - name: Build CMake Shared
+      working-directory: build/shared
+      run: make install
+    - name: Build CMake Static
+      working-directory: build/static
+      run: make install
+    - name: Build CMake Framework
+      working-directory: build/framework
+      run: make install
+    - name: Check artifacts
+      uses: andstor/file-existence-action@v2
+      with:
+        files: "install/shared/lib/libhidapi.dylib, \
+                install/shared/include/hidapi/hidapi.h, \
+                install/shared/include/hidapi/hidapi_darwin.h, \
+                install/static/lib/libhidapi.a, \
+                install/static/include/hidapi/hidapi.h, \
+                install/static/include/hidapi/hidapi_darwin.h, \
+                install/framework/lib/hidapi.framework/hidapi, \
+                install/framework/lib/hidapi.framework/Headers/hidapi.h, \
+                install/framework/lib/hidapi.framework/Headers/hidapi_darwin.h"
+        fail: true
+    - name: Check CMake Export Package Shared
+      run: |
+        cmake \
+          -B build/shared_test \
+          -S hidapisrc/hidtest \
+          -Dhidapi_ROOT=install/shared \
+          -DCMAKE_INSTALL_PREFIX=install/shared_test \
+          "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cd build/shared_test
+        make install
+    - name: Check CMake Export Package Static
+      run: |
+        cmake \
+          -B build/static_test \
+          -S hidapisrc/hidtest \
+          -Dhidapi_ROOT=install/static \
+          -DCMAKE_INSTALL_PREFIX=install/static_test \
+          "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cd build/static_test
+        make install
+
+    - name: Check Meson build
+      run: |
+        meson setup build_meson hidapisrc
+        cd build_meson
+        ninja
+
+
+  ubuntu-cmake:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v3
+      with:
+        path: hidapisrc
+    - name: Install dependencies
+      run: |
+        sudo apt update
+        sudo apt install libudev-dev libusb-1.0-0-dev python3-pip ninja-build
+        sudo -H pip3 install meson
+    - name: Configure CMake
+      run: |
+        rm -rf build install
+        cmake -B build/shared -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install/shared -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cmake -B build/static -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install/static -DBUILD_SHARED_LIBS=FALSE -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+    - name: Build CMake Shared
+      working-directory: build/shared
+      run: make install
+    - name: Build CMake Static
+      working-directory: build/static
+      run: make install
+    - name: Check artifacts
+      uses: andstor/file-existence-action@v2
+      with:
+        files: "install/shared/lib/libhidapi-libusb.so, \
+                install/shared/lib/libhidapi-hidraw.so, \
+                install/shared/include/hidapi/hidapi.h, \
+                install/shared/include/hidapi/hidapi_libusb.h, \
+                install/static/lib/libhidapi-libusb.a, \
+                install/static/lib/libhidapi-hidraw.a, \
+                install/static/include/hidapi/hidapi.h, \
+                install/static/include/hidapi/hidapi_libusb.h"
+        fail: true
+    - name: Check CMake Export Package Shared
+      run: |
+        cmake \
+          -B build/shared_test \
+          -S hidapisrc/hidtest \
+          -Dhidapi_ROOT=install/shared \
+          -DCMAKE_INSTALL_PREFIX=install/shared_test \
+          "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cd build/shared_test
+        make install
+    - name: Check CMake Export Package Static
+      run: |
+        cmake \
+          -B build/static_test \
+          -S hidapisrc/hidtest \
+          -Dhidapi_ROOT=install/static \
+          -DCMAKE_INSTALL_PREFIX=install/static_test \
+          "-DCMAKE_C_FLAGS=${NIX_COMPILE_FLAGS}"
+        cd build/static_test
+        make install
+
+    - name: Check Meson build
+      run: |
+        meson setup build_meson hidapisrc
+        cd build_meson
+        ninja
+
+
+  windows-cmake:
+
+    runs-on: windows-latest
+
+    steps:
+    - uses: actions/checkout@v3
+      with:
+        path: hidapisrc
+    - name: Install dependencies
+      run: |
+        choco install ninja
+        pip3 install meson
+        refreshenv
+    - name: Configure CMake MSVC
+      shell: cmd
+      run: |
+        cmake -B build\msvc -S hidapisrc -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHIDAPI_WITH_TESTS=ON -DHIDAPI_BUILD_PP_DATA_DUMP=ON -DHIDAPI_ENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=install\msvc -DHIDAPI_BUILD_HIDTEST=ON "-DCMAKE_C_FLAGS=%MSVC_COMPILE_FLAGS%"
+    - name: Build CMake MSVC
+      working-directory: build/msvc
+      run: cmake --build . --config RelWithDebInfo --target install
+    - name: Check artifacts MSVC
+      uses: andstor/file-existence-action@v2
+      with:
+        files: "install/msvc/lib/hidapi.lib, \
+             

(Patch may be truncated, please check the link at the top of this post.)