USBAlternateInterface

Draft
This page is not complete.

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

The USBAlternateInterface interface of the WebUSB API provides information about a particular configuration of an interface provided by the USB device. An interface includes one or more alternate settings which can configure a set of endpoints based on the operating mode of the device.

Constructor

USBAlternateInterface.USBAlternateInterface
Creates a new USBAlternateInterface object which will be populated with information about the alternate interface of the provided USBInterface with the given alternate setting number.

Properties

USBAlternateInterface.alternateSettingRead only
Returns the alternate setting number of this interface. This is equal to the bAlternateSetting field of the interface descriptor defining this interface.
USBAlternateInterface.interfaceClassRead only
Returns the class of this interface. This is equal to the bInterfaceClass field of the interface descriptor defining this interface. Standardized values for this field are defined by the USB Implementers Forum. A value of 0xFF indicates a vendor-defined interface.
USBAlternateInterface.interfaceSubclassRead only
Returns the subclass of this interface. This is equal to the bInterfaceSubClass field of the interface descriptor defining this interface. The meaning of this value depends on the interfaceClass field.
USBAlternateInterface.interfaceProtocolRead only
Returns the protocol supported by this interface. This is equal to the bInterfaceProtocol field of the interface descriptor defining this interface. The meaning of this value depends on the interfaceClass and interfaceSubclass fields.
USBAlternateInterface.interfaceNameRead only
Returns the name of the interface, if one is provided by the device. This is the value of the string descriptor with the index specified by the iInterface field of the interface descriptor defining this interface.
USBAlternateInterface.endpointsRead only
Returns an array containing instances of the USBEndpoint interface describing each of the endpoints that are part of this interface.

Specifications

Specification Status Comment
WebUSB
The definition of 'USBAlternateInterface' in that specification.
Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
USBAlternateInterface
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
USBAlternateInterface() constructor
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
alternateSetting
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
endpoints
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
interfaceClass
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
interfaceName
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
interfaceProtocol
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
interfaceSubclass
Experimental
Chrome Full support 61Edge Full support 79Firefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.