התקני ממשק אנושיים באינטרנט: כמה דוגמאות מהירות

מתבצעת התחברות אל מכשירים לא נפוצים מהאפליקציה שלך.

ג'ו מדלי
ג'ו מדלי
מאט ריינולדס
מאט ריינולדס

מה זה WebHID API?

הרבה מכשירים עם ממשק אנושי (HID) חדשים מדי, ישנים מדי או פחות נפוצים מדי למנהלי ההתקנים של המערכות. כדי לפתור את הבעיה הזו, ה-WebHID API מספק דרך להטמיע ב-JavaScript לוגיקה ספציפית למכשיר.

תרחישים לדוגמה לשימוש ב-WebHID API

מכשיר ממשק אנושי (HID) מקבל קלט מבן אדם או מספק פלט לגביו. דוגמאות למכשירים כוללות מקלדות, התקני הצבעה (עכברים, מסכי מגע וכו') ופקדי משחקים. פרוטוקול HID מאפשר לגשת למכשירים האלה במחשבים נייחים באמצעות מנהלי ההתקנים של מערכת ההפעלה. פלטפורמת האינטרנט תומכת במזהי ממשק אנושי (HID) על ידי הסתמכות על מנהלי ההתקנים האלה.

חוסר הגישה למכשירי ממשק אנושי (HID) לא נפוצים מכאיבה במיוחד כשפונים לתמיכה בגיימפאד. בגיימפאדים המיועדים למחשבים אישיים משתמשים בדרך כלל במכשיר ממשק אנושי (HID) לקלט של גיימפאד (לחצנים, ג'ויסטיק, ג'ויסטיק, טריגרים) ויציאות (LED, רעשן). עם זאת, נתוני הקלט והפלט של הגיימפאד לא מתוקנים, ולרוב בדפדפנים צריך לוגיקה בהתאמה אישית למכשירים ספציפיים. המצב הזה לא בר קיימא וגורם לתמיכה בזנב הארוך של מכשירים ישנים ולא נפוצים. זה גם גורם לדפדפן להסתמך על תכונות מוזרות שקיימות בהתנהגות של מכשירים מסוימים.

הדגמות, הדגמות, הדגמות

כדי לדעת איך כל אחת מהדוגמאות פועלות, קוד המקור של כולן זמין ב-GitHub. יש דוגמה לקוד ברבון בהסבר.

תאורה אחורית במקלדת MacBook Pro

המכשול הכי גדול בהתנסות בכל אחת מההדגמות האלה הוא חוסר הגישה למכשיר. למרבה המזל, אם יש לכם MacBook Pro עם TouchBar, אתם לא צריכים לקנות דבר. ההדגמה הזו מאפשרת לכם להשתמש ב-API ישירות מהמחשב הנייד. הוא גם מראה איך אפשר להשתמש ב-WebHID כדי לקבל גישה לפונקציונליות של מכשירים מובנים, ולא רק של ציוד היקפי.

מחבר: FWeinb
הדגמה/מקור: מקלדת אחורית

שלטים לגיימינג

בקר אלחוטי ל-PlayStation 4

בשלב הבא סביר להניח שיהיו פחות מכם. DualShock 4 של Sony הוא שלט רחוק אלחוטי לקונסולות משחקים של PlayStation 4.

ההדגמה של DualShock 4 משתמשת ב-WebHID כדי לקבל את דוחות הקלט הגולמיים מ-DualShock 4, ומספקת ממשק API ברמה גבוהה לגישה לג'ירוסקופ, למד התאוצה, ללוח המגע, ללחצן ולקלט הלייק בבקר. הוא גם תומך ב'רעש' ובהגדרת הצבע של נורית LED מסוג RGB שנמצאת בתוך הבקר.

מחבר: TheBITLINK
הדגמה: DualShock 4 Demo (מקור)

שלטים ל-Nintendo Switch Joy-Con

משחקים במשחק Chrome Dino 🦖 וממשיכים לקפוץ עם בקר של Nintendo Switch Joy-Con בכיסים. ההדגמה הזו מופעלת על ידי Joy-Con WebHID, מנהל התקן WebHID לשלט רחוק של Nintendo Switch Joy-Con.

מחבר: תומאס סטיינר
הדגמה: Chrome Dino WebHID (מקור להדגמה, מקור הנהג)

רצועת הבלינקStick

BlinkStick Strip הוא פס תאורה תואם-HID עם 8 נורות LED מסוג RGB. ההדגמה מאפשרת למשתמש לבחור מתוך כמה דפוסי הבהוב, כולל מרדף, מצמוץ וסורק Larson (שנקרא גם Cylon).

מחבר: רובט וויליאמס
הדגמה: blinkstick-strip (מקור)

מה עושה ההדגמה הזו? (חכו לזה). היא מהבהבת. למעשה, מדובר בשלוש הדגמות שמשתמשות באור מהבהב של חיבור USB(1).

blink(1) הוא פשוט ומתועד היטב, ולכן זו אפשרות מצוינת להתחיל לעבוד עם ממשק אנושי (HID).

מחבר: Tod E. Kurt
הדגמות: blink(1) (מקור)

אישורים

תודה ל-Pete LePage ולקייס באסק על הביקורות על המאמר הזה.

צילום של Ugur Akdemir ב-UnFlood