ब्यौरा
कनेक्ट किए गए एचआईडी डिवाइसों के साथ इंटरैक्ट करने के लिए, chrome.hid एपीआई का इस्तेमाल करें. यह एपीआई, ऐप्लिकेशन के अंदर से एचआईडी से जुड़ी कार्रवाइयों को ऐक्सेस करने की सुविधा देता है. इस एपीआई का इस्तेमाल करके, ऐप्लिकेशन हार्डवेयर डिवाइसों के लिए ड्राइवर के तौर पर काम कर सकते हैं. इस एपीआई से जनरेट होने वाली गड़बड़ियों की जानकारी, runtime.lastError को सेट करके और फ़ंक्शन के सामान्य कॉलबैक को लागू करके दी जाती है. इस मामले में, कॉलबैक के सामान्य पैरामीटर तय नहीं किए जाएंगे.
अनुमतियां
hidटाइप
DeviceFilter
प्रॉपर्टी
-
productId
number ज़रूरी नहीं
डिवाइस का प्रॉडक्ट आईडी. इसकी जांच सिर्फ़ तब की जाती है, जब वेंडर आईडी मैच करता हो.
-
इस्तेमाल
number ज़रूरी नहीं
एचआईडी के इस्तेमाल का आइडेंटिफ़ायर. इसकी जांच सिर्फ़ तब की जाती है, जब एचआईडी के इस्तेमाल की जानकारी वाला पेज मैच करता हो.
-
usagePage
number ज़रूरी नहीं
एचआईडी के इस्तेमाल की जानकारी वाले पेज का आइडेंटिफ़ायर.
-
vendorId
number ज़रूरी नहीं
डिवाइस बनाने वाली कंपनी का आईडी.
GetDevicesOptions
प्रॉपर्टी
-
फ़िल्टर
DeviceFilter[] ज़रूरी नहीं
दिए गए किसी भी फ़िल्टर से मेल खाने वाला डिवाइस दिखाया जाएगा. फ़िल्टर की खाली सूची से, वे सभी डिवाइस दिखेंगे जिनके लिए ऐप्लिकेशन को अनुमति मिली है.
-
productId
number ज़रूरी नहीं
अब काम नहीं करतायह
DeviceFilter.productIdसेट करने के बराबर है. -
vendorId
number ज़रूरी नहीं
अब काम नहीं करतायह
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()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
कम्यूनिकेशन के लिए, एचआईडी डिवाइस से कनेक्शन खोलें.
पैरामीटर
-
deviceId
संख्या
डिवाइस को खोलने के लिए,
HidDeviceInfo.deviceId. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(connection: HidConnectInfo) => void
-
कनेक्शन
-
रिटर्न
-
Promise<HidConnectInfo>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
किसी डिवाइस से डिसकनेक्ट करना. इसे कॉल करने के बाद, डिवाइस पर कार्रवाइयां शुरू करना सुरक्षित है. हालांकि, इसका कोई असर नहीं होता.
पैरामीटर
-
connectionId
संख्या
connectionIdकोconnectने वापस किया. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
कनेक्ट किए गए एचआईडी डिवाइसों की सूची बनाएं.
पैरामीटर
-
विकल्प
टारगेट डिवाइसों पर खोजी जाने वाली प्रॉपर्टी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(devices: HidDeviceInfo[]) => void
-
डिवाइस
-
रिटर्न
-
Promise<HidDeviceInfo[]>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
डिवाइस से अगली इनपुट रिपोर्ट पाएं.
पैरामीटर
-
connectionId
संख्या
connectionIdकोconnectने वापस किया. -
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(reportId: number, data: ArrayBuffer) => void
-
reportId
संख्या
रिपोर्ट आईडी या
0, अगर कोई आईडी नहीं है. -
डेटा
ArrayBuffer
रिपोर्ट का डेटा और रिपोर्ट आईडी का प्रीफ़िक्स (अगर मौजूद है) हटा दिया जाता है.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
डिवाइस से सुविधा की रिपोर्ट का अनुरोध करना.
पैरामीटर
-
connectionId
संख्या
connectionIdकोconnectने वापस किया. -
reportId
संख्या
रिपोर्ट आईडी या अगर कोई आईडी नहीं है, तो
0. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(data: ArrayBuffer) => void
-
डेटा
ArrayBuffer
रिपोर्ट का डेटा. इसमें रिपोर्ट आईडी का प्रीफ़िक्स भी शामिल होता है, बशर्ते डिवाइस ने उसे भेजा हो.
-
रिटर्न
-
Promise<ArrayBuffer>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
डिवाइस को आउटपुट रिपोर्ट भेजें.
ध्यान दें: data में रिपोर्ट आईडी का प्रीफ़िक्स शामिल न करें. अगर ज़रूरी हुआ, तो इसे जोड़ दिया जाएगा.
पैरामीटर
-
connectionId
संख्या
connectionIdकोconnectने वापस किया. -
reportId
संख्या
इस्तेमाल किया जाने वाला रिपोर्ट आईडी या अगर कोई आईडी नहीं है, तो
0. -
डेटा
ArrayBuffer
रिपोर्ट का डेटा.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
डिवाइस को सुविधा की रिपोर्ट भेजें.
ध्यान दें: data में रिपोर्ट आईडी का प्रीफ़िक्स शामिल न करें. अगर ज़रूरी हुआ, तो इसे जोड़ दिया जाएगा.
पैरामीटर
-
connectionId
संख्या
connectionIdकोconnectने वापस किया. -
reportId
संख्या
इस्तेमाल किया जाने वाला रिपोर्ट आईडी या अगर कोई आईडी नहीं है, तो
0. -
डेटा
ArrayBuffer
रिपोर्ट का डेटा.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => 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
संख्या
-