(bind-func print_device_feature_report
(let ((buffer:i8* (alloc 4096)))
(lambda (vendor_id product_id feature_report)
(let ((handle (hid_open vendor_id product_id null)))
(if (null? handle)
(printf "Could not locate device! %x%hx %x%hx" vendor_id product_id)
(let ((res (hid_get_feature_report handle buffer 4096)))
(if (< res 0)
(printf "Eror: %ls" (hid_error handle))