chrome.hid

설명

chrome.hid API를 사용하여 연결된 HID 기기와 상호작용합니다. 이 API는 앱 컨텍스트 내에서 HID 작업에 대한 액세스를 제공합니다. 이 API를 사용하여 앱이 하드웨어 기기의 드라이버 역할을 할 수 있습니다. 이 API에서 생성된 오류는 runtime.lastError를 설정하고 함수의 일반 콜백을 실행하여 보고됩니다. 이 경우 콜백의 일반 매개변수가 정의되지 않습니다.

권한

hid

유형

DeviceFilter

속성

  • productId

    number 선택사항

    기기 제품 ID로, 공급업체 ID가 일치하는 경우에만 선택됩니다.

  • 사용량

    number 선택사항

    HID 사용 식별자로, HID 사용 페이지가 일치하는 경우에만 확인됩니다.

  • usagePage

    number 선택사항

    HID 사용 페이지 식별자입니다.

  • vendorId

    number 선택사항

    기기 공급업체 ID입니다.

GetDevicesOptions

속성

  • 필터

    DeviceFilter[] 선택사항

    지정된 필터와 일치하는 기기가 반환됩니다. 필터 목록이 비어 있으면 앱에 권한이 있는 모든 기기가 반환됩니다.

  • productId

    number 선택사항

    지원 중단됨

    DeviceFilter.productId 설정과 같습니다.

  • vendorId

    number 선택사항

    지원 중단됨

    DeviceFilter.vendorId 설정과 같습니다.

HidCollectionInfo

속성

  • reportIds

    숫자[]

    컬렉션 및 컬렉션의 하위 요소에 속한 보고서 ID입니다.

  • 사용량

    숫자

    페이지 정의 사용 식별자입니다.

  • usagePage

    숫자

    HID 사용 페이지 식별자입니다.

HidConnectInfo

속성

  • connectionId

    숫자

    다른 모든 함수에서 이 연결을 식별하는 데 사용되는 불투명 ID입니다.

HidDeviceInfo

속성

  • 컬렉션

    이 기기의 보고서 설명자에서 가져온 최상위 컬렉션입니다.

  • deviceId

    숫자

    불투명한 기기 ID입니다.

  • maxFeatureReportSize

    숫자

    최상위 컬렉션의 최대 지형지물 보고서 크기입니다.

  • maxInputReportSize

    숫자

    최상위 컬렉션의 최대 입력 보고서 크기입니다.

  • maxOutputReportSize

    숫자

    최상위 컬렉션의 최대 출력 보고서 크기입니다.

  • productId

    숫자

    제품 ID입니다.

  • productName

    string

    Chrome 46 이상

    가능한 경우 기기에서 제품 이름을 읽습니다.

  • reportDescriptor

    ArrayBuffer

    원시 기기 보고서 설명자입니다 (Windows에서는 사용할 수 없음).

  • serialNumber

    string

    Chrome 46 이상

    기기에서 읽은 일련번호입니다(있는 경우).

  • vendorId

    숫자

    공급업체 ID

방법

connect()

프로미스
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

통신을 위해 HID 기기에 대한 연결을 엽니다.

매개변수

반환 값

  • Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

disconnect()

프로미스
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

기기에서 연결을 해제합니다. 호출 후 기기에서 작업을 호출하는 것은 안전하지만 효과는 없습니다.

매개변수

  • connectionId

    숫자

    connect에서 반환된 connectionId입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    ()=>void

반환 값

  • Promise<void>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getDevices()

프로미스
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

연결된 HID 기기를 열거합니다.

매개변수

반환 값

  • Promise<HidDeviceInfo[]>

    Chrome 117 이상

    프로미스는 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()

프로미스
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 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

send()

프로미스
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

기기로 출력 보고서를 전송합니다.

참고: data에 보고서 ID 프리픽스를 포함하지 마세요. 필요한 경우 추가됩니다.

매개변수

  • connectionId

    숫자

    connect에서 반환된 connectionId입니다.

  • reportId

    숫자

    사용할 보고서 ID이거나 없는 경우 0입니다.

  • 데이터

    ArrayBuffer

    보고서 데이터입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    ()=>void

반환 값

  • Promise<void>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

sendFeatureReport()

프로미스
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

기기로 기능 보고서를 보냅니다.

참고: data에 보고서 ID 프리픽스를 포함하지 마세요. 필요한 경우 추가됩니다.

매개변수

  • connectionId

    숫자

    connect에서 반환된 connectionId입니다.

  • reportId

    숫자

    사용할 보고서 ID이거나 없는 경우 0입니다.

  • 데이터

    ArrayBuffer

    보고서 데이터입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    ()=>void

반환 값

  • Promise<void>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

이벤트

onDeviceAdded

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

기기가 시스템에 추가될 때 생성되는 이벤트입니다. 이벤트는 기기에 액세스할 수 있는 권한이 있는 앱과 확장 프로그램에만 브로드캐스트됩니다. 설치 시 또는 사용자가 선택적 권한을 수락했을 때 권한이 부여되었을 수 있습니다 (permissions.request 참고).

매개변수

onDeviceRemoved

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

시스템에서 기기가 삭제될 때 생성되는 이벤트입니다. 전송되는 이벤트는 onDeviceAdded를 참고하세요.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (deviceId: number)=>void

    • deviceId

      숫자