public static async Task <IHidReport> ReadReportAsync(this IHidDevice device, CancellationToken token)
 {
     if (device == null)
     {
         throw new ArgumentNullException($"{nameof(device)} is null");
     }
     return(new HidReport(await device.ReadRawDataAsync(token).ConfigureAwait(false), device.DeviceInfo.Capabilities.InputReportByteLength));
 }