fido_dev_get_touch_begin,
  
fido_dev_get_touch_status —
asynchronously wait for touch on a FIDO2
  authenticator
#include
  <fido.h>
int
fido_dev_get_touch_begin(
fido_dev_t
  *dev);
int
fido_dev_get_touch_status(
fido_dev_t
  *dev, 
int
  *touched, 
int
  ms);
The functions described in this page allow an application to asynchronously wait
  for touch on a FIDO2 authenticator. This is useful when multiple
  authenticators are present and the application needs to know which one to use.
The 
fido_dev_get_touch_begin() function
  initiates a touch request on 
dev.
The 
fido_dev_get_touch_status() function
  continues an ongoing touch request on 
dev,
  blocking up to 
ms milliseconds. On success,
  
touched will be updated to reflect the touch
  request status. If 
touched is 1, the device
  was touched, and the touch request is terminated. If
  
touched is 0, the application may call
  
fido_dev_get_touch_status() to continue the
  touch request, or 
fido_dev_cancel() to
  terminate it.
The error codes returned by
  
fido_dev_get_touch_begin() and
  
fido_dev_get_touch_status() are defined in
  
<fido/err.h>.
  On success, 
FIDO_OK is returned.
Please refer to 
examples/select.c in
  
libfido2's source tree.
fido_dev_cancel(3)
The 
fido_dev_get_touch_status() function will
  cause a command to be transmitted to U2F authenticators. These transmissions
  should not exceed a frequency of 5Hz.