شرح
از chrome.hid API برای تعامل با دستگاههای HID متصل استفاده کنید. این میانای برنامهسازی کاربردی دسترسی به عملیات HID را از درون بافتار برنامه فراهم میکند. بااستفاده از این میانای برنامهسازی کاربردی، برنامهها میتوانند بهعنوان درایور برای دستگاههای سختافزاری عمل کنند. خطاهای تولیدشده توسط این میانای برنامهسازی کاربردی با تنظیم runtime.lastError و اجرای فراخوانی برگشتی معمول تابع گزارش میشود. در این حالت، پارامترهای عادی فراخوانی برگشتی تعریفنشده خواهند بود.
اجازهها
hidانواع
DeviceFilter
مشخصات
-
productId
شماره اختیاری
شناسه محصول دستگاه، فقط درصورتی بررسی میشود که شناسه ارائهدهنده مطابقت داشته باشد.
-
مصرف
شماره اختیاری
شناسه استفاده از HID، فقط درصورتی بررسی میشود که صفحه استفاده از HID مطابقت داشته باشد.
-
usagePage
شماره اختیاری
شناسه صفحه استفاده از HID.
-
vendorId
شماره اختیاری
شناسه فروشنده دستگاه.
GetDevicesOptions
مشخصات
-
فیلترها
DeviceFilter[] اختیاری
دستگاهی که با هریک از فیلترهای ارائهشده مطابقت داشته باشد برگردانده خواهد شد. فهرست فیلتر خالی همه دستگاههایی را که برنامه برای آنها اجازه دارد برمیگرداند.
-
productId
شماره اختیاری
منسوخشدهمعادل تنظیم
DeviceFilter.productId. -
vendorId
شماره اختیاری
منسوخشدهمعادل تنظیم
DeviceFilter.vendorId.
HidCollectionInfo
مشخصات
-
reportIds
عدد[]
شناسههای گزارش که به مجموعه و فرزندان آن تعلق دارد.
-
مصرف
شماره
شناسه استفاده تعریفشده توسط صفحه.
-
usagePage
شماره
شناسه صفحه استفاده از HID.
HidConnectInfo
مشخصات
-
connectionId
شماره
شناسه مبهمی که برای شناسایی این اتصال در همه عملکردهای دیگر استفاده میشود.
HidDeviceInfo
مشخصات
-
مجموعهها
مجموعههای سطح بالا از توصیفکنندههای گزارش این دستگاه.
-
deviceId
شماره
شناسه دستگاه مبهم.
-
maxFeatureReportSize
شماره
حداکثر اندازه گزارش ویژگی مجموعه سطح بالا.
-
maxInputReportSize
شماره
حداکثر اندازه گزارش ورودی مجموعه سطح بالا.
-
maxOutputReportSize
شماره
حداکثر اندازه گزارش برونداد مجموعه سطح بالا.
-
productId
شماره
شناسه محصول.
-
productName
رشته
Chrome نسخه ۴۶ و بالاترنام محصول خواندهشده از دستگاه، درصورت وجود.
-
reportDescriptor
ArrayBuffer
توصیفکننده گزارش دستگاه خام (در Windows دردسترس نیست).
-
serialNumber
رشته
Chrome نسخه ۴۶ و بالاترشماره سریال خواندهشده از دستگاه، درصورت وجود.
-
vendorId
شماره
شناسه ارائهدهنده.
روشها
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
اتصالی به دستگاه HID برای برقراری ارتباط باز کنید.
پارامترها
-
deviceId
شماره
HidDeviceInfo.deviceIdدستگاه برای باز کردن. -
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(connection: HidConnectInfo) => void
-
اتصال
-
بازگشتیها
-
Promise<HidConnectInfo>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
قطع اتصال از دستگاه. فراخوانی عملیات در دستگاه پساز فراخوانی این مورد ایمن است اما تأثیری ندارد.
پارامترها
-
connectionId
شماره
connectionIdتوسطconnectبرگردانده شد. -
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
دستگاههای میانای انسانی متصل را فهرست کنید.
پارامترها
-
گزینهها
ویژگیهایی که باید در دستگاههای هدف جستجو شود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(devices: HidDeviceInfo[]) => void
-
دستگاه
-
بازگشتیها
-
Promise<HidDeviceInfo[]>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
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اگر وجود ندارد. -
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(data: ArrayBuffer) => void
-
داده
ArrayBuffer
دادههای گزارش، ازجمله پیشوند شناسه گزارش (اگر دستگاه آن را ارسال کرده باشد).
-
بازگشتیها
-
Promise<ArrayBuffer>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
گزارش خروجی را به دستگاه ارسال کنید.
توجه: پیشوند شناسه گزارش را در data وارد نکنید. درصورت لزوم اضافه خواهد شد.
پارامترها
-
connectionId
شماره
connectionIdتوسطconnectبرگردانده شد. -
reportId
شماره
شناسه گزارش برای استفاده، یا
0اگر وجود ندارد. -
داده
ArrayBuffer
دادههای گزارش.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
گزارش ویژگی را به دستگاه ارسال کنید.
توجه: پیشوند شناسه گزارش را در data وارد نکنید. درصورت لزوم اضافه خواهد شد.
پارامترها
-
connectionId
شماره
connectionIdتوسطconnectبرگردانده شد. -
reportId
شماره
شناسه گزارش برای استفاده، یا
0اگر وجود ندارد. -
داده
ArrayBuffer
دادههای گزارش.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
رویدادها
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
شماره
-