chrome.hid

ब्यौरा

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

अनुमतियां

hid

टाइप

DeviceFilter

प्रॉपर्टी

  • productId

    number optional

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

  • इस्तेमाल

    number optional

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

  • usagePage

    number optional

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

  • vendorId

    number optional

    डिवाइस बनाने वाली कंपनी का आईडी.

GetDevicesOptions

प्रॉपर्टी

  • फ़िल्टर

    DeviceFilter[] optional

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

  • productId

    number optional

    अब काम नहीं करता

    DeviceFilter.productId सेट करने के बराबर है.

  • vendorId

    number optional

    अब काम नहीं करता

    यह DeviceFilter.vendorId को सेट करने के बराबर है.

HidCollectionInfo

प्रॉपर्टी

  • reportIds

    number[]

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

  • इस्तेमाल

    संख्या

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

  • usagePage

    संख्या

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

HidConnectInfo

प्रॉपर्टी

  • connectionId

    संख्या

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

HidDeviceInfo

प्रॉपर्टी

  • संग्रह

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

  • deviceId

    संख्या

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

  • maxFeatureReportSize

    संख्या

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

  • maxInputReportSize

    संख्या

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

  • maxOutputReportSize

    संख्या

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

  • productId

    संख्या

    प्रॉडक्ट आईडी.

  • productName

    स्ट्रिंग

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

    अगर डिवाइस से प्रॉडक्ट का नाम पढ़ा जा सकता है, तो उसे पढ़ा जाएगा.

  • reportDescriptor

    ArrayBuffer

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

  • serialNumber

    स्ट्रिंग

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

    अगर डिवाइस से सीरियल नंबर पढ़ा जा सकता है, तो वह सीरियल नंबर.

  • vendorId

    संख्या

    वेंडर आईडी.

तरीके

connect()

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

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

पैरामीटर

  • deviceId

    संख्या

    डिवाइस को खोलने के लिए, HidDeviceInfo.deviceId पर दो बार टैप करें.

  • कॉलबैक

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

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

    (connection: HidConnectInfo) => void

रिटर्न

  • Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

disconnect()

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

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

पैरामीटर

  • connectionId

    संख्या

    connect ने connectionId वापस कर दिया है.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getDevices()

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

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

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

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

    (devices: HidDeviceInfo[]) => void

रिटर्न

  • Promise<HidDeviceInfo[]>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

receive()

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

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

पैरामीटर

  • connectionId

    संख्या

    connect ने connectionId वापस कर दिया है.

  • कॉलबैक

    फ़ंक्शन

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

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

    • reportId

      संख्या

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

    • डेटा

      ArrayBuffer

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

receiveFeatureReport()

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

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

पैरामीटर

  • connectionId

    संख्या

    connect ने connectionId वापस कर दिया है.

  • reportId

    संख्या

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

  • कॉलबैक

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

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

    (data: ArrayBuffer) => void

    • डेटा

      ArrayBuffer

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

रिटर्न

  • Promise<ArrayBuffer>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

send()

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

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

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

पैरामीटर

  • connectionId

    संख्या

    connect ने connectionId वापस कर दिया है.

  • reportId

    संख्या

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

  • डेटा

    ArrayBuffer

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

sendFeatureReport()

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

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

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

पैरामीटर

  • connectionId

    संख्या

    connect ने connectionId वापस कर दिया है.

  • reportId

    संख्या

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

  • डेटा

    ArrayBuffer

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

    Chrome 117 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest 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

      संख्या