Interface UsbDevice

All Superinterfaces:
Comparable<UsbDevice>
All Known Implementing Classes:
AbstractUsbDevice, AixUsbDevice, FreeBsdUsbDevice, LinuxUsbDevice, LinuxUsbDeviceNF, MacUsbDevice, NetBsdUsbDevice, OpenBsdUsbDevice, SolarisUsbDevice

@PublicApi @Immutable public interface UsbDevice extends Comparable<UsbDevice>
A USB device is a device connected via a USB port, possibly internally/permanently. Hubs may contain ports to which other devices connect in a recursive fashion.

USB devices form a tree structure rooted at one or more host controllers. Each device may be a hub with child devices accessible via getConnectedDevices(). To traverse the full USB tree:

for (UsbDevice device : hal.getUsbDevices(true)) {
    printDevice(device, 0);
}

void printDevice(UsbDevice device, int indent) {
    String prefix = " ".repeat(indent);
    System.out.printf("%s%s (vendor=%s)%n", prefix, device.getName(), device.getVendor());
    for (UsbDevice child : device.getConnectedDevices()) {
        printDevice(child, indent + 2);
    }
}
  • Method Details

    • getName

      String getName()
      Name of the USB device
      Returns:
      The device name
    • getVendor

      String getVendor()
      Vendor that manufactured the USB device
      Returns:
      The vendor name
    • getVendorId

      String getVendorId()
      ID of the vendor that manufactured the USB device
      Returns:
      The vendor ID, a 4-digit hex string
    • getProductId

      String getProductId()
      Product ID of the USB device
      Returns:
      The product ID, a 4-digit hex string
    • getSerialNumber

      String getSerialNumber()
      Serial number of the USB device
      Returns:
      The serial number, if known
    • getUniqueDeviceId

      String getUniqueDeviceId()
      A Unique Device ID of the USB device, such as the PnPDeviceID (Windows), Device Node Path (Linux), Registry Entry ID (macOS), or Device Node number (Unix)
      Returns:
      The Unique Device ID
    • getConnectedDevices

      List<UsbDevice> getConnectedDevices()
      Other devices connected to this hub
      Returns:
      An UnmodifiableList of other devices connected to this hub, if any, or an empty list if none