Açıklama
Bağlı USB cihazlarla etkileşim kurmak için chrome.usb
API'yi kullanın. Bu API, bir uygulamanın bağlamı içinden USB işlemlerine erişim sağlar. Uygulamalar, bu API'yi kullanarak donanım cihazları için sürücü olarak işlev görebilir. Bu API tarafından oluşturulan hatalar, runtime.lastError
ayarlanarak ve işlevin normal geri çağırması yürütülerek bildirilir. Bu durumda geri çağırmanın normal parametreleri tanımlanmamış olur.
İzinler
usb
Türler
ConfigDescriptor
Özellikler
-
etkin
boolean
Chrome 47 veya daha yeni bir sürümBu, etkin yapılandırma mı?
-
configurationValue
sayı
Yapılandırma numarası.
-
açıklama
dize isteğe bağlı
Yapılandırmanın açıklaması.
-
extra_data
ArrayBuffer
Bu yapılandırmayla ilişkili ek açıklama verileri.
-
arayüzler
Kullanılabilir arayüzler.
-
maxPower
sayı
Bu cihazın ihtiyaç duyduğu maksimum güç miliamper (mA) cinsinden ifade edilir.
-
remoteWakeup
boolean
Cihaz, uzaktan uyandırmayı destekliyor olmalıdır.
-
selfPowered
boolean
Cihaz kendi kendine çalışıyor.
ConnectionHandle
Özellikler
-
tanıtıcı
sayı
USB cihazına yapılan bu bağlantıyı ve ilişkili tüm talep edilen arayüzleri ve bekleyen aktarımları temsil eden opak bir tutma yeri. Cihaz her açıldığında yeni bir tutma yeri oluşturulur. Bağlantı herkese açık kullanıcı adı,
Device.device
herkese açık kullanıcı adından farklıdır. -
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçisi kimliği.
ControlTransferInfo
Özellikler
-
aktarma
ArrayBuffer isteğe bağlıdır.
İletilecek veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
indeks
sayı
wIndex
alanı, bkz. Ibid. -
uzunluk
number isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
alıcı
Aktarım hedefi.
index
tarafından verilen hedef,"interface"
veya"endpoint"
ise talep edilmelidir. -
istek
sayı
bRequest
alanı, Universal Serial Bus Specification Revision 1.1 § 9.3'e bakın. -
requestType
İstek türü.
-
Mola
number isteğe bağlı
Chrome 43 veya daha yeni bir sürümİstek zaman aşımı (milisaniye olarak). Varsayılan değer
0
, zaman aşımı olmadığını gösterir. -
value
sayı
wValue
alanı, bkz. Ibid.
Device
Özellikler
-
cihaz
sayı
USB cihazının opak kimliği. Cihazın fişi çekilene kadar bu durum değişmez.
-
manufacturerName
dize
Chrome 46 veya daha yeni bir sürümVarsa cihazdan okunan iManufacturer dizesi.
-
productId
sayı
Ürün kimliği.
-
productName
dize
Chrome 46 veya daha yeni bir sürümVarsa cihazdan okunan iProduct dizesi.
-
serialNumber
dize
Chrome 46 veya daha yeni bir sürümVarsa cihazdan okunan iSerialNumber dizesi.
-
vendorId
sayı
Cihaz tedarikçisi kimliği.
-
sürüm
sayı
Chrome 51 veya sonraki sürümlerCihaz sürümü (bcdDevice alanı).
DeviceFilter
Özellikler
-
interfaceClass
number isteğe bağlı
USB arayüz sınıfı, cihazdaki herhangi bir arayüzle eşleşir.
-
interfaceProtocol
number isteğe bağlı
USB arayüz protokolü, yalnızca arayüz alt sınıfı eşleşiyorsa kontrol edilir.
-
interfaceSubclass
number isteğe bağlı
Yalnızca arayüz sınıfı eşleşiyorsa kontrol edilen USB arayüzü alt sınıfı.
-
productId
number isteğe bağlı
Cihaz ürün kimliği (yalnızca satıcı kimliği eşleşiyorsa kontrol edilir).
-
vendorId
number isteğe bağlı
Cihaz tedarikçi kimliği.
DevicePromptOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Kullanıcıya sunulan cihaz listesini filtreleyin. Birden fazla filtre sağlanırsa herhangi bir filtreyle eşleşen cihazlar gösterilir.
-
çoklu
boolean isteğe bağlı
Kullanıcının birden fazla cihaz seçmesine izin verin.
Direction
Direction, Recipient, RequestType ve TransferType, USB spesifikasyonundaki adaşlarıyla eşlenir.
Enum
"in"
"out"
EndpointDescriptor
Özellikler
-
adres
sayı
Uç nokta adresi.
-
direction
Aktarım yönü.
-
extra_data
ArrayBuffer
Bu uç nokta ile ilişkili ek tanımlayıcı verileri.
-
maximumPacketSize
sayı
Maksimum paket boyutu.
-
pollingInterval
number isteğe bağlı
Yoklama aralığı (yalnızca kesme ve eşzamanlı).
-
senkronizasyon
SynchronizationType isteğe bağlı
Aktarım senkronizasyon modu (yalnızca eşzamanlı).
-
tür
Aktarım türü.
-
kullanım
UsageType isteğe bağlı
Uç nokta kullanım ipucu.
EnumerateDevicesAndRequestAccessOptions
Özellikler
-
interfaceId
number isteğe bağlı
Erişim isteğinde bulunulacak arayüz kimliği. Yalnızca Chrome OS'te kullanılabilir. Diğer platformlar üzerinde etkisi yoktur.
-
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçisi kimliği.
EnumerateDevicesOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Belirli bir filtreyle eşleşen bir cihaz döndürülür. Boş bir filtre listesi, uygulamanın izin verdiği tüm cihazları döndürür.
-
productId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.productId
ayarını yapmaya eşdeğerdir. -
vendorId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.vendorId
ayarını yapmaya eşdeğerdir.
GenericTransferInfo
Özellikler
-
aktarma
ArrayBuffer isteğe bağlıdır.
İletilecek veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
uç nokta
sayı
Hedef uç nokta adresi. Bu uç noktayı içeren arayüzün hak talebinde bulunulmuş olması gerekir.
-
uzunluk
number isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
Mola
number isteğe bağlı
Chrome 43 veya daha yeni bir sürümİstek zaman aşımı (milisaniye olarak). Varsayılan değer
0
, zaman aşımı olmadığını gösterir.
InterfaceDescriptor
Özellikler
-
alternateSetting
sayı
Arayüz alternatif ayar numarası (varsayılan olarak
0
-
açıklama
dize isteğe bağlı
Arayüzün açıklaması.
-
endpoints
Kullanılabilir uç noktalar.
-
extra_data
ArrayBuffer
Bu arayüzle ilişkili ek tanımlayıcı veriler.
-
interfaceClass
sayı
USB arayüzü sınıfı.
-
interfaceNumber
sayı
Arayüz numarası.
-
interfaceProtocol
sayı
USB arayüzü protokolü.
-
interfaceSubclass
sayı
USB arayüzü alt sınıfı.
IsochronousTransferInfo
Özellikler
-
packetLength
sayı
Bu aktarımdaki paketlerin her birinin uzunluğu.
-
paketler
sayı
Bu aktarımdaki toplam paket sayısı.
-
transferInfo
Transfer parametreleri. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri arabelleği, aktarımın ayrı ayrı paketlerini oluşturmak için
packetLength
sınırları boyunca bölünür.
Recipient
Enum
"device"
"interface"
"endpoint"
"other"
RequestType
Enum
"standard"
"class"
"vendor"
"reserved"
SynchronizationType
Kesme ve eşzamanlı modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki adaşlarıyla eşlenir.
Enum
"asynchronous"
"adaptive"
"synchronous"
TransferResultInfo
Özellikler
-
aktarma
ArrayBuffer isteğe bağlıdır.
Giriş aktarımı tarafından döndürülen veriler.
undefined
çıkış aktarımları için. -
resultCode
number isteğe bağlı
0
değeri, aktarımın başarılı olduğunu gösterir. Diğer değerler hatayı gösterir.
TransferType
Enum
"control"
"interrupt"
"isochronous"
"bulk"
UsageType
Enum
"data"
"feedback"
"explicitFeedback"
"periodic"
"notification"
Yöntemler
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda toplu aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
Aktarım parametreleri.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
USB cihazdaki bir arayüzü talep eder. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüzün hak sahipliğinin alınması gerekir. Herhangi bir zamanda yalnızca bir bağlantı işleyeni bir arayüzü talep edebilir. Arayüz zaten talep edilmişse bu çağrı başarısız olur.
Arayüze artık ihtiyaç duyulmadığında releaseInterface
çağrılmalıdır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
interfaceNumber
sayı
Hak talebinde bulunulacak arayüz.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
Bağlantı tutamacını kapatır. Bir kapatma işleminden sonra tutma üzerinde işlemler çağırmak güvenli bir işlemdir ancak herhangi bir işlem yapılmaz.
Parametreler
-
tanıtıcı
Kapatmak için
ConnectionHandle
simgesine dokunun. -
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda kontrol aktarımı gerçekleştirir.
Kontrol aktarımları cihazı, arayüzü veya uç noktayı ifade eder. Bir arayüze veya uç noktaya yapılan aktarımlar için arayüzün talep edilmesi gerekir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
Satıcı, ürün ve (isteğe bağlı olarak) arayüz kimlikleriyle belirtilen USB cihazları bulur ve izinler verildiyse bunları kullanıma açar.
Erişim isteği reddedilirse veya cihazda bağlantı açılamazsa bağlantı işleyeni oluşturulmaz ya da döndürülmez.
Bu yöntemi çağırmak, her cihaz için getDevices
'ı ve ardından openDevice
'ı çağırmaya eş değerdir.
Parametreler
-
seçenekler
Hedef cihazlarda aranacak özellikler.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(handles: ConnectionHandle[]) => void
-
herkese açık kullanıcı adları
-
İadeler
-
Promise<ConnectionHandle[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
Şu anda seçili yapılandırmanın yapılandırma tanımlayıcısını alır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(config: ConfigDescriptor) => void
-
yapılandırma
-
İadeler
-
Promise<ConfigDescriptor>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
Cihaz yapılandırma tanımlayıcılarının tamamını döndürür.
Parametreler
-
cihaz
Açıklamaların getirileceği
Device
. -
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(configs: ConfigDescriptor[]) => void
-
configs
-
İadeler
-
Promise<ConfigDescriptor[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
Bağlı USB cihazları numaralandırır.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
Kullanıcıya bir cihaz seçici sunar ve seçilen Device
'ları döndürür. Kullanıcı seçiciyi iptal ederse cihazlar boş olur. İletişim kutusunun gösterilmesi için kullanıcı hareketi gerekir. Kullanıcı hareketi olmadan geri çağırma, kullanıcı iptal etmiş gibi çalışır.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda kesme aktarımı gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
Aktarım parametreleri.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirli cihazda eşzamanlı aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
USB cihazındaki tüm arayüzleri listeler.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(descriptors: InterfaceDescriptor[]) => void
-
tanımlayıcılar
-
İadeler
-
Promise<InterfaceDescriptor[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
getDevices
tarafından döndürülen bir USB cihazı açar.
Parametreler
-
cihaz
Açılacak
Device
. -
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(handle: ConnectionHandle) => void
-
tanıtıcı
-
İadeler
-
Promise<ConnectionHandle>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
Hak talebinde bulunulan bir arayüzü serbest bırakır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
interfaceNumber
sayı
Yayınlanacak arayüz.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
Bu işlev Chrome OS'e özgüydü ve diğer platformlarda çağrıldığında başarısız oluyordu. Bu işlem artık openDevice
'ın bir parçası olarak örtülü bir şekilde gerçekleştiriliyor ve bu işlev tüm platformlarda true
değerini döndürüyor.
Cihazdaki arayüz talep edilmemişse Chrome OS tarafından talep edilen bir cihaza izin aracısından erişim isteğinde bulunur.
Parametreler
-
cihaz
Erişim isteğinde bulunulacak
Device
. -
interfaceId
sayı
İstenen arayüz.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
USB cihazını sıfırlamayı dener. Sıfırlama başarısız olursa verilen bağlantı tutacağı kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanmış gibi görünür. Bu durumda, cihazı almak için getDevices
veya findDevices
tekrar aranmalıdır.
Parametreler
-
tanıtıcı
Sıfırlanacak bağlantı tutma yeri.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
Bir cihaz yapılandırması seçin.
Bu işlev, cihazın mevcut yapılandırmalarından birini seçerek cihazı etkili bir şekilde sıfırlar. Yalnızca 0
değerinden büyük yapılandırma değerleri geçerlidir. Ancak bazı hatalı cihazlarda 0
değerine sahip çalışan bir yapılandırma olduğundan bu değere izin verilir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
configurationValue
sayı
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
Daha önce hak talebinde bulunulan bir arayüzde alternatif bir ayar seçer.
Parametreler
-
tanıtıcı
Bu arayüzün talep edildiği cihaza açık bir bağlantı.
-
interfaceNumber
sayı
Yapılandırılacak arayüz.
-
alternateSetting
sayı
Yapılandırılacak alternatif ayar.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
Etkinlikler
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Bir cihaz sisteme eklendiğinde oluşturulan etkinlik. Etkinlikler yalnızca cihaza erişim izni olan uygulamalara ve uzantılara yayınlanır. İzin, yükleme sırasında, kullanıcının isteğe bağlı bir izni kabul etmesiyle (permissions.request
bölümüne bakın) veya getUserSelectedDevices
üzerinden verilmiş olabilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(device: Device) => void
-
cihaz
-
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
Bir cihaz sistemden kaldırıldığında oluşturulan etkinlik. Hangi etkinliklerin teslim edildiğini görmek için onDeviceAdded
bölümüne bakın.