chrome.hid

설명

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

권한

hid

유형

DeviceFilter

속성

  • productId

    번호 선택사항

    기기 제품 ID입니다. 공급업체 ID가 일치하는 경우에만 확인됩니다.

  • 사용량

    번호 선택사항

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

  • usagePage

    번호 선택사항

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

  • vendorId

    번호 선택사항

    기기 공급업체 ID입니다.

GetDevicesOptions

속성

  • 필터

    DeviceFilter[] 선택사항

    지정된 필터와 일치하는 기기가 반환됩니다. 빈 필터 목록은 앱에 권한이 있는 모든 기기를 반환합니다.

  • productId

    번호 선택사항

    지원 중단됨

    DeviceFilter.productId을 설정하는 것과 같습니다.

  • vendorId

    번호 선택사항

    지원 중단됨

    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 이상

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

disconnect()

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

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

매개변수

  • connectionId

    숫자

    connect에서 반환된 connectionId입니다.

  • callback

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 117 이상

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

getDevices()

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

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

매개변수

반환 값

  • Promise<HidDeviceInfo[]>

    Chrome 117 이상

    Promise는 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 이상

    Promise는 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

반환 값

  • Promise<void>

    Chrome 117 이상

    Promise는 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

반환 값

  • 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

    함수

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

    (deviceId: number) => void

    • deviceId

      숫자