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

    number[]

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

  • 사용량

    숫자

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

  • usagePage

    숫자

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

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,
)
: Promise<HidConnectInfo>

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

매개변수

반환 값

  • Chrome 117 이상

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

disconnect()

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

기기에서 연결을 해제합니다. 이 메서드를 호출한 후 기기에서 작업을 호출하는 것은 안전하지만 아무런 효과가 없습니다.

매개변수

  • connectionId

    숫자

    connect에서 반환한 connectionId입니다.

  • callback

    함수 선택사항

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

    () => void

반환 값

  • 약속<void>

    Chrome 117 이상

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

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

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

매개변수

반환 값

  • Promise<HidDeviceInfo[]>

    Chrome 117 이상

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

receive()

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

기기에서 다음 입력 보고서를 수신합니다.

매개변수

  • connectionId

    숫자

    connect에서 반환한 connectionId입니다.

  • callback

    함수

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

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

    • reportId

      숫자

      보고서 ID 또는 0(없는 경우)입니다.

    • 데이터

      ArrayBuffer

      보고서 데이터, 보고서 ID 프리픽스 (있는 경우)가 삭제됩니다.

receiveFeatureReport()

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

기기에서 기능 보고서를 요청합니다.

매개변수

  • connectionId

    숫자

    connect에서 반환한 connectionId입니다.

  • reportId

    숫자

    보고서 ID 또는 0(없는 경우)입니다.

  • callback

    함수 선택사항

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

    (data: ArrayBuffer) => void

    • 데이터

      ArrayBuffer

      보고서 데이터(기기에서 전송한 경우 보고서 ID 접두사 포함)

반환 값

  • Promise<ArrayBuffer>

    Chrome 117 이상

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

send()

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

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

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

매개변수

  • connectionId

    숫자

    connect에서 반환한 connectionId입니다.

  • reportId

    숫자

    사용할 보고서 ID입니다. 없으면 0입니다.

  • 데이터

    ArrayBuffer

    보고서 데이터입니다.

  • callback

    함수 선택사항

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

    () => void

반환 값

  • 약속<void>

    Chrome 117 이상

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

sendFeatureReport()

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

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

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

매개변수

  • connectionId

    숫자

    connect에서 반환한 connectionId입니다.

  • reportId

    숫자

    사용할 보고서 ID입니다. 없으면 0입니다.

  • 데이터

    ArrayBuffer

    보고서 데이터입니다.

  • callback

    함수 선택사항

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

    () => void

반환 값

  • 약속<void>

    Chrome 117 이상

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

이벤트

onDeviceAdded

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

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

매개변수

onDeviceRemoved

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

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

매개변수

  • callback

    함수

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

    (deviceId: number) => void

    • deviceId

      숫자