USBDevice: controlTransferOut() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The controlTransferOut() method of the USBDevice interface returns a Promise that resolves with a USBOutTransferResult when a command or status operation has been transmitted from the USB device.

Syntax

js
controlTransferOut(setup, data)

Parameters

setup

An object that sets options for. The available options are:

requestType

Must be one of three values specifying whether the transfer is "standard" (common to all USB devices) "class" (common to an industry-standard class of devices) or "vendor".

recipient

Specifies the target of the transfer on the device, one of "device", "interface", "endpoint", or "other".

request

A vendor-specific command.

value

Vendor-specific request parameters.

index

The interface number of the recipient.

data

A TypedArray containing the data that will be transferred to the device. Not all commands require data; some commands can send data just through the value parameter. Check with your device to see what the specific request requires.

Return value

A promise that resolves with a USBOutTransferResult.

Specifications

Specification
WebUSB API
# ref-for-dom-usbdevice-controltransferout①

Browser compatibility

BCD tables only load in the browser