دستگاه های رابط انسانی در وب: چند مثال سریع

اتصال به دستگاه‌های غیرمعمول از طریق برنامه شما.

جو مدلی
Joe Medley
مت رینولدز
Matt Reynolds

رابط برنامه‌نویسی کاربردی وب‌هید (WebHID API) چیست؟

بسیاری از دستگاه‌های رابط کاربری انسانی (HID) برای دسترسی توسط درایورهای دستگاه سیستم‌ها، بسیار جدید، بسیار قدیمی یا بسیار غیرمعمول هستند. API WebHID با ارائه راهی برای پیاده‌سازی منطق مختص دستگاه در جاوا اسکریپت، این مشکل را حل می‌کند.

موارد استفاده پیشنهادی برای WebHID API

یک HID از انسان‌ها ورودی می‌گیرد یا خروجی را برای آنها فراهم می‌کند. نمونه‌هایی از دستگاه‌ها شامل صفحه‌کلید، دستگاه‌های اشاره‌گر (موس، صفحه لمسی و غیره) و دسته‌های بازی است. پروتکل HID دسترسی به این دستگاه‌ها را در رایانه‌های رومیزی با استفاده از درایورهای سیستم عامل امکان‌پذیر می‌کند. پلتفرم وب با تکیه بر این درایورها از HIDها پشتیبانی می‌کند.

عدم دسترسی به دستگاه‌های HID غیرمعمول، به‌ویژه در مورد پشتیبانی از گیم‌پد، دردناک است. گیم‌پدهایی که برای کامپیوتر طراحی شده‌اند، اغلب از HID برای ورودی‌های گیم‌پد (دکمه‌ها، جوی‌استیک‌ها، تریگرها) و خروجی‌ها (LEDها، رامبل) استفاده می‌کنند. با این حال، ورودی‌ها و خروجی‌های گیم‌پد به خوبی استاندارد نشده‌اند و مرورگرهای وب اغلب برای دستگاه‌های خاص به منطق سفارشی نیاز دارند. این امر ناپایدار است و منجر به پشتیبانی ضعیف از دستگاه‌های قدیمی‌تر و غیرمعمول می‌شود. همچنین باعث می‌شود مرورگر به تغییرات ناگهانی موجود در رفتار دستگاه‌های خاص وابسته شود.

دموها، دموها، دموها

اگر در مورد نحوه کار هر یک از این نمونه‌ها کنجکاو هستید، کد منبع همه آنها در GitHub موجود است. یک مثال کد barebones در توضیح وجود دارد .

نور پس زمینه کیبورد مک بوک پرو

بزرگترین مانع برای امتحان کردن هر یک از این نسخه‌های نمایشی، عدم دسترسی به دستگاه است. خوشبختانه، اگر مک‌بوک پرو با تاچ‌بار دارید، نیازی به خرید چیزی ندارید. این نسخه آزمایشی به شما امکان می‌دهد مستقیماً از طریق لپ‌تاپ خود از API استفاده کنید. همچنین نشان می‌دهد که چگونه می‌توان از WebHID برای باز کردن قفل قابلیت‌های دستگاه‌های داخلی، نه فقط لوازم جانبی، استفاده کرد.

نویسنده: اف‌واینب
نسخه آزمایشی/منبع: نور پس زمینه کیبورد

کنترل‌کننده‌های بازی

دسته بی‌سیم پلی‌استیشن ۴

مورد بعدی چیزی است که احتمالاً کمتر کسی آن را دارد. DualShock 4 سونی یک دسته بازی بی‌سیم برای کنسول‌های بازی پلی‌استیشن ۴ است.

نسخه آزمایشی DualShock 4 از WebHID برای دریافت گزارش‌های ورودی خام از DualShock 4 استفاده می‌کند و یک API سطح بالا برای دسترسی به ورودی‌های ژیروسکوپ، شتاب‌سنج، تاچ‌پد، دکمه و تامب‌استیک کنترلر ارائه می‌دهد. همچنین از لرزش و تنظیم رنگ LED RGB تعبیه‌شده در داخل کنترلر پشتیبانی می‌کند.

نویسنده: TheBITLINK
نسخه آزمایشی: نسخه آزمایشی DualShock 4 ( منبع )

کنترلرهای جوی-کان نینتندو سوییچ

بازی آفلاین دایناسور کروم 🦖 را با پریدن واقعی با یک دسته بازی نینتندو سوییچ جوی-کان در جیب شلوارتان انجام دهید. این نسخه آزمایشی توسط Joy-Con WebHID ، یک درایور WebHID برای دسته‌های بازی نینتندو سوییچ جوی-کان، پشتیبانی می‌شود.

نویسنده: توماس اشتاینر
نسخه آزمایشی: Chrome Dino WebHID ( منبع آزمایشی ، منبع درایور )

نوار بلینک‌استیک

نوار چشمک‌زن BlinkStick یک نوار نوری سازگار با HID با ۸ LED RGB است. نسخه آزمایشی به کاربر اجازه می‌دهد تا از بین چندین الگوی چشمک‌زن از جمله تعقیب، چشمک زدن و اسکنر لارسون (معروف به Cylon) یکی را انتخاب کند.

نویسنده: ربات ویلیامز
نسخه آزمایشی: blinkstick-strip ( منبع )

این دمو چه کاری انجام می‌دهد؟ (صبر کنید.) چشمک می‌زند. در واقع این سه دمو هستند که از چراغ اعلان USB چشمک‌زن (1) استفاده می‌کنند.

blink(1) ساده و به خوبی مستند شده است، که آن را به گزینه‌ای عالی برای شروع کار با HID تبدیل می‌کند.

نویسنده: تاد ای. کورت
نسخه‌های نمایشی: blink(1) ( منبع )

تقدیرنامه‌ها

با تشکر از پیت لپاژ و کیس باسکز .