Touch screen driver for Acer T231H1

From: Milan Obuch <freebsd-usb_at_dino.sk>
Date: Wed, 08 Nov 2023 10:01:19 UTC
Hi,

years ago I bought Acer monitor with touch screen, but did not try to
use it, it works for me just as an ordinary monitor. I decided to give
it a try now...

When plugged into USB port, I see just

kernel: ugen0.6: <AcerA Bell T231HlTouchScreen> at usbus0

line in console/dmesg output. Looking into usbconfig output in an
attempt to get some info, I see

# usbconfig -d ugen0.6 dump_all_desc
ugen0.6: <AcerA Bell T231HlTouchScreen> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0408 
  idProduct = 0x3001 
  bcdDevice = 0x0004 
  iManufacturer = 0x0001  <AcerA Bell>
  iProduct = 0x0002  <T231HlTouchScreen>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0022 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x00fa 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0003  <HID device>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x21
      bDescriptorSubType = 0x10
       RAW dump: 
       0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0xfd, 
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0083  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0008 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

Googling for VID 0408 and PID 3001 I found it is Quanta Computer,
Optical Touch Screen. Fine. Now the question is, which driver should I
use for it? Anybody knows? Does it exist, could something existing be
adapted, should it be created from scratch? What info is necessary to
find out?

Regards,
Milan