Skip to content
Commits on Sep 1, 2011
  1. Use lowercase version of windows winioctl header to support mingw bui…

    …ld on case-sensitive systems
Commits on Aug 31, 2011
  1. @signal11

    Try opening with sharing mode enabled on Windows if normal open fails.

    signal11 committed
    Multiple users have reported the need to pass
    SHARE_MODE_READ|SHARE_MODE_WRITE to CreateFileA(). It seems that some
    devices will not open at all if sharing is not requested. This commit
    makes it so that CreateFileA() will be tried twice, the first time with
    sharing mode OFF (passing 0x0 to the ShareMode parameter of CreateFileA()),
    and if that fails, it will try to open the device with share mode ON
    (passing the above SHARE_MODE_ flags to the ShareMode parameter of
    CreateFileA()). This will have the following effects:
    For normal devices:
       Devices will open as normal. Only one instance can be opened at a time.
    For devices which require share mode to be on:
       Devices will now open (they would not open at all before). Multiple
       instances can be opened. This is less than desirable, but the
       alternative is that these devices don't open at all.
Commits on Aug 30, 2011
  1. @signal11

    Parse the interface number out of the path on Windows where possible.

    committed with signal11
    Although the Windows API doesn't provide direct access to interface number,
    on child devices representing the interfaces of a composite device, it is
    parsable from the device path. An excerpt of a path for interface 1 of a
    Razer Hydra device is as follows:
    See table 4 and related text here:
    This patch, if a path is available, and further, if &mi_ is found, parses
    what it can for a hex value into the interface_number field. If there is
    any problem, the invalid value (-1) is used instead.
    Patch from Ryan Pavlik <> with modifications by Alan Ott.
Commits on Aug 29, 2011
  1. @signal11

    Fix memory leaks in linux/hidraw implementation.

    signal11 committed
    Zbigniew Czapiga noticed that some of the udev objects in linux/hid.c weren't
    being freed properly.
Commits on Aug 26, 2011
  1. @paulepanter @signal11
  2. @paulepanter @signal11

    linux/Makefile: Add support for cross compilation

    paulepanter committed with signal11
    0. VDR`s `Makefile` was taken as a template [1].
    1. Separate variables for flags for `CC` and `CXX` were introduced. `-c` is now passed explicitly. Further flags for `CXX` could be added like in VDR’s `Makefile`.
    2. Separate variable `INCLUDES` defined which is only used for the libraries(?).
    Please note that this is not build tested.
  3. @paulepanter @signal11

    linux/Makefile: Add `$(LDFLAGS)` to the linker calls

    paulepanter committed with signal11
    Some cross compiling frame works like OpenEmbedded [1] pass this variable along.
  4. @paulepanter @signal11

    linux/Makefile: Do not override predefined `CC` or `CXX`

    paulepanter committed with signal11
    This is especially important for cross compilation.
  5. @paulepanter @signal11
Commits on Aug 9, 2011
  1. @signal11
  2. @signal11

    Check for NULL device on enumeration on Mac.

    signal11 committed
    On Mac, hid_enumerate can crash if the device is unplugged during enumeration.
    From: Richard Bateman (Taxilian) <>
  3. @signal11

    Merge pull request #10 from taxilian/master

    signal11 committed
    Check for NULL device on enumeration on Mac.
    On Mac, hid_enumerate can crash if the device is unplugged during enumeration.
  4. @signal11
  5. @pix @signal11
  6. @signal11

    Merge pull request #12 from pix/fixes/fix-hid_open-leak

    signal11 committed
    Fixed a memory leak in hid_open_path()
    On some failures, dev_path would not get freed.
  7. @signal11

    Add ioctl definitions

    signal11 committed
    Added the HIDIOCSFEATURE and HIDIOCGFEATURE ioctl macros to hid.c so that it
    will compile with older kernel headers. This of course doesn't make it _run_
    with older kernels. Some distros ship older kernel headers than the running
  8. @signal11

    hid_read_timeout() (Mac)

    signal11 committed
    Add hid_read_timeout() to mac.
  9. @signal11

    hid_read_timeout() (Linux and Windows).

    signal11 committed
    hid_read_timeout() will execute a blocking read up until a timeout has been
    reached or data has been received.
    This patch implements it on all platforms and comes from Urs Fleisch.
    Commit log message by Alan Ott.
    Signed-off-by: Urs Fleisch <>
    Tested-by: Alan Ott <>
Commits on Jul 26, 2011
  1. @signal11

    Logic error fix.

    signal11 committed
    Fixed Logic error from the last commit where the wrong data was checked.
Commits on Jul 25, 2011
  1. @signal11

    Re-design of hid_read().

    signal11 committed
    This fixes the performance issue caused by calling CancelIo() when no data arrives in asynchronous (non-blocking) mode. Reported by Bill Good.
    This new design also fixes the race condition causing lost packets that can happen if data comes between the time when the Event was checked (WaitForSingleObject()) and the CancelIo() call. Reported by Hans Van Leemputten.
Commits on Jul 19, 2011
  1. @pix
Commits on Jun 24, 2011
  1. @taxilian
Commits on Jun 20, 2011
  1. @signal11

    Fix memory leak on Windows.

    signal11 committed
    The EVENT object in hid_read() was not getting closed when in blocking mode. Fix from John Hu.
Commits on Apr 9, 2011
  1. @signal11

    Updated Binary.

    signal11 committed
Commits on Apr 8, 2011
  1. @signal11

    Binary on Mac OS X

    signal11 committed
  2. @signal11
  3. @signal11

    Makefiles for MinGW

    signal11 committed
Commits on Feb 9, 2011
  1. @signal11
  2. @signal11
  3. @signal11
Commits on Feb 8, 2011
  1. @LudovicRousseau @signal11

    Detach from the kernel only if needed

    LudovicRousseau committed with signal11
    We first check that the HID device is managed by the kernel before
    calling libusb_detach_kernel_driver(). This will avoid side effects of
    libusb_detach_kernel_driver() like also doing a
    Ludovic's original patch modified by Alan Ott <>
Commits on Jan 19, 2011
  1. @signal11
  2. @signal11

    Change interface to interface_number in hid_device_info struct.

    signal11 committed
    Forgot to add to previous commit.
  3. @signal11
  4. @signal11

    Change interface to interface_number in hid_device_info struct.

    signal11 committed
    Forgot to add to previous commit.
Something went wrong with that request. Please try again.