chrome.hid

說明

使用 chrome.hid API 與已連結的 HID 裝置互動。這個 API 可讓使用者在應用程式環境中存取 HID 作業。應用程式可透過這個 API 當做硬體裝置的驅動程式。設定 runtime.lastError 並執行函式的一般回呼,即可回報這個 API 產生的錯誤。在此情況下,系統不會定義回呼的一般參數。

權限

hid

類型

DeviceFilter

屬性

  • productId

    數字 選填

    裝置產品 ID,只有在供應商 ID 相符時才會檢查。

  • 用量

    數字 選填

    HID 使用 ID,只有在 HID 使用情形頁面相符時才會檢查。

  • usagePage

    數字 選填

    HID 用量頁面 ID。

  • vendorId

    數字 選填

    裝置供應商 ID。

GetDevicesOptions

屬性

  • 篩選器

    DeviceFilter[] 選用

    系統會傳回符合任一指定篩選條件的裝置。如果將篩選器設為空白,系統會傳回應用程式具有權限的所有裝置。

  • productId

    數字 選填

    已淘汰

    相當於設定 DeviceFilter.productId

  • vendorId

    數字 選填

    已淘汰

    相當於設定 DeviceFilter.vendorId

HidCollectionInfo

屬性

  • reportIds

    數字 []

    屬於集合及其子項的報表 ID。

  • 用量

    號碼

    頁面定義的使用 ID。

  • usagePage

    號碼

    HID 用量頁面 ID。

HidConnectInfo

屬性

  • connectionId

    號碼

    用於在所有其他函式中識別這個連線的不透明 ID。

HidDeviceInfo

屬性

  • 來自這部裝置報告描述元的頂層集合。

  • deviceId

    號碼

    不透明的裝置 ID。

  • maxFeatureReportSize

    號碼

    頂層集合的特徵報表大小上限。

  • maxInputReportSize

    號碼

    頂層集合的輸入報表大小上限。

  • maxOutputReportSize

    號碼

    頂層集合的輸出報表大小上限。

  • productId

    號碼

    產品 ID。

  • productName

    字串

    Chrome 46 以上版本

    從裝置讀取的產品名稱 (如果有的話)。

  • reportDescriptor

    ArrayBuffer

    原始裝置報表描述元 (不適用於 Windows)。

  • serialNumber

    字串

    Chrome 46 以上版本

    從裝置讀取的序號 (如果有的話)。

  • vendorId

    號碼

    供應商 ID。

方法

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

開啟與 HID 裝置的連線以進行通訊。

參數

傳回

  • Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

中斷裝置連線。呼叫此方法後,對裝置發出的作業不會造成任何影響。

參數

  • connectionId

    號碼

    connect 傳回的 connectionId

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

列舉已連線的 HID 裝置。

參數

傳回

  • Promise<HidDeviceInfo[]>

    Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)

接收該裝置的下一項輸入報表。

參數

  • connectionId

    號碼

    connect 傳回的 connectionId

  • 回呼

    功能

    callback 參數如下所示:

    (reportId: number,data: ArrayBuffer)=>void

    • reportId

      號碼

      報表 ID 或 0 (如果沒有)。

    • 資料或曾存取這類資料的人員

      ArrayBuffer

      系統會移除報表資料,報表 ID 前置字元 (如有)。

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

索取裝置功能報告。

參數

  • connectionId

    號碼

    connect 傳回的 connectionId

  • reportId

    號碼

    報表 ID;如果沒有,則為 0

  • 回呼

    函式選用

    callback 參數如下所示:

    (data: ArrayBuffer)=>void

    • 資料或曾存取這類資料的人員

      ArrayBuffer

      報表資料包括報表 ID 前置字元 (如果裝置傳送的話)。

傳回

  • Promise<ArrayBuffer>

    Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

將輸出報告傳送至裝置。

注意:請勿在 data 中加入報表 ID 前置字串。如有需要,我們會新增這項資訊。

參數

  • connectionId

    號碼

    connect 傳回的 connectionId

  • reportId

    號碼

    要使用的報表 ID;如果沒有報表 ID,則為 0

  • 資料或曾存取這類資料的人員

    ArrayBuffer

    報表資料。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

sendFeatureReport()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

將功能報告傳送到裝置。

注意:請勿在 data 中加入報表 ID 前置字串。如有需要,我們會新增這項資訊。

參數

  • connectionId

    號碼

    connect 傳回的 connectionId

  • reportId

    號碼

    要使用的報表 ID;如果沒有報表 ID,則為 0

  • 資料或曾存取這類資料的人員

    ArrayBuffer

    報表資料。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 117 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

活動

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

裝置新增至系統時產生的事件。活動只會播送到有權存取裝置的應用程式和擴充功能。權限可能會在安裝時或使用者接受選擇性權限時授予 (請參閱 permissions.request)。

參數

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

從系統中移除裝置時產生的事件。如要瞭解哪些事件會傳送事件,請參閱 onDeviceAdded

參數

  • 回呼

    功能

    callback 參數如下所示:

    (deviceId: number)=>void

    • deviceId

      號碼