HTTP/2 200
x-guploader-uploadid: ABgVH89_Mkv1PAYj8ZIQrgG3ThVMPE2mep-xX7xBQWONEWy5yQ2Yn2RqKeUtP9pboDaurTON
x-goog-generation: 1752626780606826
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 60515
x-goog-meta-goog-reserved-file-mtime: 1752625506
x-goog-hash: crc32c=v95rMg==, md5=vk3Oi5MUAhVtWxK3F/Oapg==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: a4a68d857d1079fe28ae75057c3a1604
server: Google Frontend
via: 1.1 google
content-encoding: gzip
date: Thu, 17 Jul 2025 19:45:22 GMT
expires: Thu, 17 Jul 2025 20:45:22 GMT
cache-control: public, max-age=3600
last-modified: Wed, 16 Jul 2025 00:46:20 GMT
etag: W/"be4dce8b931402156d5b12b717f39aa6"
content-type: text/html
vary: Accept-Encoding
content-length: 13921
age: 3360
x-cache: hit
USBInterface - Web APIs | MDN
USBInterface Limited availability
The USBInterface
interface of the WebUSB API provides information about an interface provided by the USB device. An interface represents a feature of the device which implements a particular protocol and may contain endpoints for bidirectional communication.
USBInterface()
Experimental
Creates a new USBInterface
object which will be populated with information about the interface on the provided USBConfiguration
with the given interface number.
USBInterface.interfaceNumber
Read only
Experimental
Returns the interface number of this interface. This is equal to the bInterfaceNumber
field of the interface descriptor defining this interface.
USBInterface.alternate
Read only
Experimental
Returns the currently selected alternative configuration of this interface. By default this is the USBAlternateInterface
from alternates
with alternateSetting
equal to 0
. It can be changed by calling USBDevice.selectAlternateInterface()
with any other value found in alternates
.
USBInterface.alternates
Read only
Experimental
Returns an array containing instances of the USBAlternateInterface
interface describing each of the alternative configurations possible for this interface.
USBInterface.claimed
Read only
Experimental
Returns whether or not this interface has been claimed by the current page by calling USBDevice.claimInterface()
.