libhid to do list
-----------------

AQU: Arnaud Quette
CLE: Charles Lepple
MKR: Martin Krafft

- [AQU] implement unit conversions in src/hid_conversion.c
    two functions will be provided:
      hid_convert_logical_to_physical()
      hid_convert_physical_to_logical()
    it will be up to the end user app to use it or not.

- [AQU] investigate unit exponent
    it appears that only UPS need unit exponents at the moment. if this is
    true, then the code will not go into libhid. if false, then libhid will be
    able to do unit exponents.

- [AQU] obtaining the length of reports
    this is already stored in HIDParser.OffsetTab[ReportID][2]
    to retrieve it, we only need to call
      *GetReportOffset(hidif->hid_parser, hidif->hid_data->ReportID,
        hidif->hid_data->Type);
    MKR: should this be a static function used by hid_get_item_value & Co. or
         should the function be exported to the user API and the user expected
         to know the right report size. I think we'll have to go with the
         latter since we can't allocate within the function and pass out
         a pointer (bad style -- error prone).

- [AQU] usage path / code [reverse] lookup, wrapper functions for get/set
    either we interface with usbutils (no reply from Tobias yet), or we
    provide hooks for the user space application to register entries in the
    lookup table. alternatively, we could use config files, although i would
    vote against the latter. i say we should store as little as possible in
    libhid, or else we'll have a support nightmare.

- [AQU] investigate interrupt handling (get_input) (aka "dealing with more
    than the default endpoints")
    To be able to use the interrupt pipe in libusb, we'll need an entry point
    in usbdefvs (for linux, don't know for *BSD and Darwin) that doesn't
    currently exists! I'm currently looking at how to do it. My last finding
    is that libusb 0.1.8 (only in cvs HEAD for the moment) seems to handle it
    through generic URB ioctl (for linux). The function is
    usb_interrupt_read(...) I got to test and validate this point

- pkg-config

- [MKR] hotplug scripts

- documentation

- README file

- dealing with multiple configuration descriptors (if necessary)

- dealing with physical descriptors (if necessary)

- [MKR] export of USB_TIMEOUT parameter

- [MKR] deal with all the compiler warnings

[done 2004.05.26] [MKR] fix lintian warnings about ldconfig

[done 2004.03.26] [MKR] Debian integration

[done 2004.03.25] [MKR] use libusb-config properly

[done 2004.03.25] [MKR] implement libhid-config properly

[done 2004.03.25] [MKR] claim interface before matching device

[done 2004.02.11] [MKR] CVS commit mails

[done 2004.02.11] [MKR] libhid-config

[done 2004.02.11] [MKR] reintegration of hidparser into libhid core.
