chrome.hid

ब्यौरा

कनेक्ट किए गए एचआईडी डिवाइसों के साथ इंटरैक्ट करने के लिए, chrome.hid एपीआई का इस्तेमाल करें. यह एपीआई, किसी ऐप्लिकेशन के अंदर से एचआईडी कार्रवाइयों का ऐक्सेस देता है. इस एपीआई का इस्तेमाल करके, ऐप्लिकेशन हार्डवेयर डिवाइसों के लिए ड्राइवर के तौर पर काम कर सकते हैं. इस एपीआई से जनरेट होने वाली गड़बड़ियों को runtime.lastError सेट करके और फ़ंक्शन के सामान्य कॉलबैक को एक्ज़ीक्यूट करके रिपोर्ट किया जाता है. इस मामले में, कॉलबैक के सामान्य पैरामीटर तय नहीं होंगे.

अनुमतियां

hid

टाइप

DeviceFilter

प्रॉपर्टी

  • productId

    नंबर ज़रूरी नहीं

    डिवाइस का प्रॉडक्ट आईडी, सिर्फ़ वेंडर आईडी के मेल खाने पर ही जांचा जाता है.

  • इस्तेमाल

    नंबर ज़रूरी नहीं

    एचआईडी के इस्तेमाल का आइडेंटिफ़ायर, सिर्फ़ तब चुना जाता है, जब एचआईडी के इस्तेमाल की जानकारी वाले पेज का मिलान हो जाता है.

  • usagePage

    नंबर ज़रूरी नहीं

    एचआईडी के इस्तेमाल वाले पेज का आइडेंटिफ़ायर.

  • vendorId

    नंबर ज़रूरी नहीं

    डिवाइस वेंडर आईडी.

GetDevicesOptions

प्रॉपर्टी

  • फ़िल्टर

    DeviceFilter[] ज़रूरी नहीं है

    किसी भी फ़िल्टर से मिलता-जुलता डिवाइस दिखाया जाएगा. फ़िल्टर की एक खाली सूची से, वे सभी डिवाइस दिखेंगे जिनके लिए ऐप्लिकेशन को अनुमति है.

  • productId

    नंबर ज़रूरी नहीं

    अब सेवा में नहीं है

    DeviceFilter.productId सेटिंग के बराबर.

  • vendorId

    नंबर ज़रूरी नहीं

    अब सेवा में नहीं है

    DeviceFilter.vendorId सेटिंग के बराबर.

HidCollectionInfo

प्रॉपर्टी

  • reportIds

    नंबर[]

    कलेक्शन और उसके चाइल्ड से जुड़े रिपोर्ट आईडी.

  • इस्तेमाल

    नंबर

    पेज के लिए तय किया गया इस्तेमाल का आइडेंटिफ़ायर.

  • usagePage

    नंबर

    एचआईडी के इस्तेमाल वाले पेज का आइडेंटिफ़ायर.

HidConnectInfo

प्रॉपर्टी

  • connectionId

    नंबर

    अन्य सभी फ़ंक्शन में इस कनेक्शन की पहचान करने के लिए, इस्तेमाल किया जाने वाला ओपेक आईडी.

HidDeviceInfo

प्रॉपर्टी

  • संग्रह

    इस डिवाइस के रिपोर्ट डिस्क्रिप्टर से मिले टॉप लेवल के कलेक्शन.

  • deviceId

    नंबर

    ओपेक डिवाइस आईडी.

  • maxFeatureReportSize

    नंबर

    टॉप-लेवल के कलेक्शन में मौजूद सुविधाओं की रिपोर्ट का ज़्यादा से ज़्यादा साइज़.

  • maxInputReportSize

    नंबर

    टॉप-लेवल कलेक्शन की इनपुट रिपोर्ट का ज़्यादा से ज़्यादा साइज़.

  • maxOutputReportSize

    नंबर

    टॉप-लेवल कलेक्शन की आउटपुट रिपोर्ट का ज़्यादा से ज़्यादा साइज़.

  • productId

    नंबर

    प्रॉडक्ट ID.

  • productName

    स्ट्रिंग

    Chrome 46 और इसके बाद के वर्शन

    अगर उपलब्ध हो, तो डिवाइस पर पढ़ा गया प्रॉडक्ट का नाम.

  • reportDescriptor

    ArrayBuffer

    रॉ डिवाइस रिपोर्ट डिस्क्रिप्टर (Windows पर उपलब्ध नहीं).

  • serialNumber

    स्ट्रिंग

    Chrome 46 और इसके बाद के वर्शन

    अगर उपलब्ध हो, तो डिवाइस पर दिया गया सीरियल नंबर पढ़ता है.

  • vendorId

    नंबर

    वेंडर आईडी.

तरीके

connect()

वादा
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

किसी एचआईडी डिवाइस से संपर्क करने के लिए, कनेक्शन खोलें.

पैरामीटर

  • deviceId

    नंबर

    आपको डिवाइस का HidDeviceInfo.deviceId खोलना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (connection: HidConnectInfo)=>void

रिटर्न

  • Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

disconnect()

वादा
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

किसी डिवाइस से डिसकनेक्ट करना. इसे कॉल करने के बाद किसी डिवाइस पर कार्रवाइयां शुरू करना सुरक्षित है, लेकिन इसका कोई असर नहीं पड़ता.

पैरामीटर

  • connectionId

    नंबर

    connect ने connectionId लौटाया.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

getDevices()

वादा
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

कनेक्ट किए गए एचआईडी डिवाइसों की गिनती करें.

पैरामीटर

  • विकल्प

    टारगेट किए गए डिवाइसों पर खोजी जाने वाली प्रॉपर्टी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (devices: HidDeviceInfo[])=>void

रिटर्न

  • Promise<HidDeviceInfo[]>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

receive()

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

डिवाइस से अगली इनपुट रिपोर्ट पाएं.

पैरामीटर

  • connectionId

    नंबर

    connect ने connectionId लौटाया.

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

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

    • reportId

      नंबर

      रिपोर्ट आईडी या 0, अगर कोई नहीं है.

    • डेटा

      ArrayBuffer

      अगर रिपोर्ट का डेटा मौजूद है, तो रिपोर्ट आईडी प्रीफ़िक्स को हटा दिया जाता है.

receiveFeatureReport()

वादा
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

डिवाइस से किसी सुविधा की रिपोर्ट का अनुरोध करें.

पैरामीटर

  • connectionId

    नंबर

    connect ने connectionId लौटाया.

  • reportId

    नंबर

    रिपोर्ट आईडी या अगर कोई आईडी नहीं है, तो 0.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (data: ArrayBuffer)=>void

    • डेटा

      ArrayBuffer

      अगर डिवाइस से रिपोर्ट आईडी भेजा गया है, तो रिपोर्ट डेटा और रिपोर्ट आईडी प्रीफ़िक्स.

रिटर्न

  • Promise<ArrayBuffer>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

send()

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

डिवाइस पर आउटपुट रिपोर्ट भेजें.

ध्यान दें: data में रिपोर्ट आईडी प्रीफ़िक्स शामिल न करें. ज़रूरत पड़ने पर इसे जोड़ दिया जाएगा.

पैरामीटर

  • connectionId

    नंबर

    connect ने connectionId लौटाया.

  • reportId

    नंबर

    इस्तेमाल करने के लिए रिपोर्ट आईडी. अगर कोई रिपोर्ट आईडी नहीं है, तो 0.

  • डेटा

    ArrayBuffer

    रिपोर्ट का डेटा.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

sendFeatureReport()

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

डिवाइस पर सुविधा की रिपोर्ट भेजें.

ध्यान दें: data में रिपोर्ट आईडी प्रीफ़िक्स शामिल न करें. ज़रूरत पड़ने पर इसे जोड़ दिया जाएगा.

पैरामीटर

  • connectionId

    नंबर

    connect ने connectionId लौटाया.

  • reportId

    नंबर

    इस्तेमाल करने के लिए रिपोर्ट आईडी. अगर कोई रिपोर्ट आईडी नहीं है, तो 0.

  • डेटा

    ArrayBuffer

    रिपोर्ट का डेटा.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

इवेंट

onDeviceAdded

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

सिस्टम में किसी डिवाइस को जोड़े जाने पर इवेंट जनरेट होता है. इवेंट सिर्फ़ उन ऐप्लिकेशन और एक्सटेंशन पर ब्रॉडकास्ट किए जाते हैं जिन्हें डिवाइस को ऐक्सेस करने की अनुमति होती है. ऐसा हो सकता है कि ऐप्लिकेशन इंस्टॉल करते समय या उपयोगकर्ता ने वैकल्पिक अनुमति स्वीकार करते समय अनुमति दी हो (permissions.request देखें).

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (device: HidDeviceInfo)=>void

onDeviceRemoved

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

इवेंट तब जनरेट होता है, जब किसी डिवाइस को सिस्टम से हटाया जाता है. onDeviceAdded देखें कि कौनसे इवेंट डिलीवर किए गए हैं.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (deviceId: number)=>void

    • deviceId

      नंबर