Thanks for posting the examples and the information. I'll have a look... I am 
thinking maybe I should buy some of those USB relays  or something simpler just 
to get SOMETHNG to work so I can figure out what's supposed to even be 
happening.    

James

-----Original Message-----
From: fpc-pascal <fpc-pascal-boun...@lists.freepascal.org> On Behalf Of Stefan 
V. Pantazi
Sent: Thursday, August 15, 2019 5:31 PM
To: fpc-pascal@lists.freepascal.org
Subject: Re: [fpc-pascal] USB Human Interface Devices

Hi James,

I remember going through many similar difficulties with HID. A few years ago I 
was trying to connect to much simpler devices than yours (game controllers, 
weather station base, graphic tablet, etc). USB programming is confusing and 
many abstraction layers have been created aiming at simplifying it. 
Unfortunately this introduces dependencies. I remember trying to port hidapi 
headers to Pascal and tried to use the hidraw backend (in linux) with mixed 
results. Also tried the libhid cross-platform library. In the end I went with 
libusb 1.0 for which a Pascal header already existed
(https://forum.lazarus.freepascal.org/index.php?topic=11435.0) and used it to 
implement on top of it a subset of the HID API calls that suited my needs and 
kept things simple. I just posted an example on github: 
https://github.com/svpantazi/libusbxhid
Hope it helps.

In theory you could use the Windows HID API but, as others have suggested, the 
solution would not be cross platform, or, to put it another way, Windows HID 
API would become your dependency. My suggestion is also to go the libusb 1.0 
route and use a Pascal HID library that depends only on libusb 1.0. Your device 
appears to be HID-compliant so no additional drivers should be needed for it. 
As far as I know, the Zadig generic driver is necessary only for non-HID 
devices. I remember using it for a rtl-sdr USB device on Windows.

Hope you find your solution. Good luck.

On 8/15/19 9:11 AM, James Richters wrote:
> Yes, in device manager I see it listed as "HID-compliant 
> vendor-defined device"  also Zadig identifies it as "USB Input Device" 
> and it shows Driver: HidUsb (v10.1.17763.1)
> 
> Is there a way to use the windows system HID interface with FPC already in 
> place as there is for other windows APIs?
> 
> James
> 
> -----Original Message-----
> From: fpc-pascal <fpc-pascal-boun...@lists.freepascal.org> On Behalf 
> Of José Mejuto
> Sent: Thursday, August 15, 2019 8:34 AM
> To: fpc-pascal@lists.freepascal.org
> Subject: Re: [fpc-pascal] USB Human Interface Devices
> 
> El 14/08/2019 a las 16:29, James Richters escribió:
> 
>> I'll have a look at your project.. maybe it will give me some clues.
>> Can you tell me how to get hid.dll?  I  find it all very confusing, can I 
>> just download the dll somewhere or do I have to get this huge confusing 
>> package and built it myself?  The sample code that is able to access my 
>> device with python on Linux uses hid.dll  I would like to at least be able 
>> to try the hid.dll... if I can get hid.dll somewhere.
> 
> Hello,
> 
> hid.dll is the windows system HID interface, the API provided by Windows.
> 
>>> In the other hand, the hardware you are trying to manage is 10CE:EB93 ?
>> Yes, I got a listing of all devices, then I plugged in the new one, and that 
>> is the ID that was not there before.
>>> If the answer is yes, that device is *not* HID compatible so you can 
>>> not use hid.dll for native access, you must use WinUSB API set, or 
>>> the
>>> libusb-1.0 abstraction layer.
>> I'm curious how you can tell that by looking at the number of it?
> 
> No, I just look for the product and try to find its drivers, no one name the 
> HID interface. Do you see the device in windows device manager under the HID 
> section "Human Interface Devices (HID)" ?
> 
> 

--
_______________________________________________________
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org 
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to