Commit Graph

550 Commits

Author SHA1 Message Date
Pavel Hübner
24a822c80f Fix compilation warning in pedantic mode on macOS
The compiler provided the following warning message:
```
hid.c:830:29: warning: format specifies type 'void *' but the argument has type 'IOHIDDeviceRef' (aka 'struct __IOHIDDevice *') [-Wformat-pedantic]
                sprintf(str, "HIDAPI_%p", dev->device_handle);
                                     ~~   ^~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
```
2020-03-20 01:43:44 +02:00
Luca Weiss
30c46ad876 testgui: ensure $EXEPATH is a directory
Otherwise hidapi-testgui will be put at TestGUI.app/Contents/MacOS which
results in a malformed .app structure.

The following build combinations have been tested:
* 'make -f Makefile-manual' with libtool
* 'make -f Makefile-manual' without libtool
* './configure --enable-testgui && make'

Fixes #151
2020-03-08 19:40:48 +02:00
CodeforEvolution
f2611e0237 Changes to Build System for Haiku
Co-authored-by: @CodeforEvolution
Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
Co-authored-by: Begasus <begasus@gmail.com>
Co-authored-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2020-02-12 17:00:07 +02:00
wet34t
533dd9229a libusb: allow hidapi to be configured without using iconv 2020-02-09 15:22:22 +02:00
Jonas Malaco
2dd94af2ea Move local variable declaration to the beginning of the function
Older versions of MSVC (for example when using Visual Studio 10) don't
yet support variable declaration in the middle of blocks:

hidapi\windows\hid.c(845) : error C2275: 'BOOL' : illegal use of this type as an expression
        C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\windef.h(153) : see declaration of 'BOOL'

Move the declaration of res to the beginning of the function.  Like in
hid_get_feature_report, only res is moved, essentially ignoring the #if
0 block (or assuming it will never be enabled).
2020-02-09 15:15:43 +02:00
Ed Maste
d38dbd2e99 Add .cirrus.yml config for Cirrus-CI (#15)
Configure with Alpine, FreeBSD 11 and 12 tasks
2020-01-22 16:01:51 +02:00
Fredrik Fornwall
90ddfc61b7 Fix build when targetting Android 7 or later
Support for pthread_barrier was introduced in Android 7, so trying to
build a custom implementation of that clashes with the system headers.
2020-01-22 14:05:08 +02:00
Luca Weiss
51bdec7844 Fix manual Makefiles and add CI for them (#131) 2020-01-12 04:09:48 +02:00
0xDP
65d22a9c31 macOS: correct IOKit framework location (#120) 2019-12-07 18:54:07 +02:00
Tod E. Kurt
ca1a2d6efa
macOS support for multiple usage/usage-pages (#125)
* macOS support for multiple usage/usage-pages
Update of @fengji2006 PR#65, second try

* apply requested changes and test

* handle possible nullptr
2019-12-05 10:53:44 -08:00
Daniel Van Noord
083223e779 Added support for Get Input Report (#59)
- Get Input Report supported on linux/libusb, mac and windows;
- linux/hidraw doesn't support it on kernel level;
2019-11-15 13:55:51 +02:00
Filip Kubicz
7e91963917 Update README.md
Co-Authored-By: Ihor Dutchak <ihor.youw@gmail.com>
2019-11-05 14:21:21 +01:00
Filip Kubicz
40de5a638b README: add hid_close() to the code sample 2019-11-05 14:21:21 +01:00
Filip Kubicz
1750cc8373 README: Add warning about writing data to HID products
In response to https://github.com/libusb/hidapi/issues/105
2019-11-05 14:21:21 +01:00
Ludovic Rousseau
faaf22cba2 Windows: fix build of hidtest 2019-11-05 14:00:44 +01:00
Ludovic Rousseau
8184eb2087 Linux: fix Makefile-manual to build hidtest 2019-11-05 14:00:44 +01:00
Ludovic Rousseau
3cea631d43 macOS: fix Makefile-manual to build hidtest 2019-11-05 14:00:44 +01:00
Ludovic Rousseau
c1b3078251 macOS: fix build of hidtest using autotools
Fix github issue #114
2019-11-05 14:00:44 +01:00
Mayank Suman
fa75ffb743 Reattach kernel driver in hidapi-libusb 2019-10-31 12:56:00 +02:00
Josep Maria Antolín Segura
dd16e7c16f Fix uninitialized strings on Windows (#109)
Fix for unusual cases where the hardware does not return the name and the string is not initialized at all.
2019-10-28 16:23:24 +02:00
Vitaly Samoylik
7d93b430a9 Fixed tag name for hidapi releases 2019-10-06 18:36:51 +02:00
Ihor Dutchak
d64f6c6a16
macOS: send report id conditionally for hid_get_feature_report (#70)
same as in hid_send_feature_report, and Windows/Linux
2019-09-24 13:34:59 +03:00
Josh Junon
d8b6588d09 mac: prevent memory leak in hid_open_path() if hid_init() fails 2019-09-24 13:25:23 +03:00
Vitaly Samoylik
3811f0da8d Added podspec to support releases via cocoapods (#66) 2019-09-13 15:55:01 +03:00
Luca Weiss
fc677b8195 configure.ac: Use pkg-config to find libusb on *freebsd 2019-08-30 10:23:23 +02:00
Luca Weiss
9b1a3e8947 builds/freebsd: Install pkgconf 2019-08-30 10:23:23 +02:00
Ihor Dutchak
4c33f69712 AUTHORS: add libusb/hidapi Team mention 2019-08-30 10:21:06 +02:00
Filip Kubicz
651150d8b5 README: add CI build badges
Show status of test builds on the project GitHub page.
Fixes #35.

Signed-off-by: Filip Kubicz <filip@kubicz.engineer>
2019-07-25 08:13:11 +02:00
Andrew Eikum
5d9b4cd93c Zero-initialize new hid_device_info structs
This fixes an uninitialized usage_page value leaking from the Linux
backend. It may fix other uninitialized values, too.
2019-07-25 08:08:12 +02:00
Andrew Eikum
93dca80762 Update more repository URLs 2019-07-25 07:57:59 +02:00
Ihor Dutchak
e4ad5ec64f Update README: hidraw: minimum supported kernel 2019-07-23 23:50:56 +03:00
Luca Weiss
ecade8c6fd testgui: fix incompatible pointer warning
mac_support_cocoa.m:67:49: warning: incompatible pointer types sending 'MyAppDelegate *' to parameter of type
      'id<NSApplicationDelegate> _Nullable' [-Wincompatible-pointer-types]
        [[NSApplication sharedApplication] setDelegate:d];
                                                       ^
2019-07-23 22:31:03 +02:00
Luca Weiss
04a1789710 testgui: fix deprecation warning
mac_support_cocoa.m:80:49: warning: 'NSAnyEventMask' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
                NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
                                                              ^~~~~~~~~~~~~~
                                                              NSEventMaskAny
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:158:26: note:
      'NSAnyEventMask' has been explicitly marked deprecated here
static const NSEventMask NSAnyEventMask                 NS_DEPRECATED_WITH_REPLACEMENT_MAC("NSEventMaskAny", 10_0, 10_12) = NSUIntegerMax;
                         ^
2019-07-23 22:31:03 +02:00
Luca Weiss
a1d49824ea testgui: remove obsolete files
mac_support.cpp is unused since commit bab22b7 and start.sh is the
original authors custom start script that we don't want.
2019-07-23 22:14:10 +03:00
Luca Weiss
065d46ab27 Add Windows (msbuild & cygwin) CI (#37)
* Upgrade Windows projects to VS2015
* add MSVC x64 configuration
2019-07-17 20:14:38 +03:00
Niklas Hambüchen
7df3973404 hidapi.h: Update documentation hid_error() 2019-07-15 13:15:46 +03:00
Niklas Hambüchen
3bfe1001b6 hidraw: Implement hid_error() 2019-07-15 13:15:46 +03:00
Luca Weiss
b0ec6f0918 libusb: Return string in hid_error() 2019-07-15 13:15:46 +03:00
Luca Weiss
42dede9db5 mac: Return string in hid_error() 2019-07-15 13:15:46 +03:00
Niklas Hambüchen
1515eb2c16 windows: Allow hid_error(NULL) 2019-07-15 13:15:46 +03:00
Luca Weiss
6f79625abb linux: Drop workaround for kernel < 2.6.34
Also drop HIDIOC* definitions as they are present since kernel 2.6.39.
2019-07-15 13:14:08 +03:00
luz.paz
f01c4ede50 Misc. typo fixes
Found via `codespell -q 3`
2019-07-14 13:54:55 +02:00
Luca Weiss
95adae423d Fix compile warning on FreeBSD
hid.c:458:18: warning: passing 'const char **' to parameter of type 'char **' discards qualifiers in nested pointer types
      [-Wincompatible-pointer-types-discards-qualifiers]
        res = iconv(ic, &inptr, &inbytes, &outptr, &outbytes);
                        ^~~~~~
/usr/local/include/iconv.h:85:43: note: passing argument to parameter 'inbuf' here
extern size_t iconv (iconv_t cd,  char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
                                          ^
1 warning generated.
2019-07-13 22:32:10 +03:00
Luca Weiss
5447bdebf3 Add ar-lib & compile to .gitignore 2019-07-09 16:39:23 +03:00
Tod E. Kurt
0ebecbd1f6 fix small casting issue 2019-07-02 23:10:41 -07:00
Luca Weiss
d1d330c1bf Add Arch Linux CI 2019-06-26 16:03:19 +02:00
Luca Weiss
aaa8788e12 Add Alpine CI 2019-06-26 16:03:19 +02:00
Luca Weiss
c10925d48a Add MinGW (using Fedora) CI 2019-06-26 16:03:19 +02:00
Luca Weiss
fb5349ae1d Add macOS CI 2019-06-26 16:03:19 +02:00
Luca Weiss
2d664e3f53 Add FreeBSD CI 2019-06-26 16:03:19 +02:00