อุปกรณ์ที่โต้ตอบกับมนุษย์โดยตรงบนเว็บ: ตัวอย่างบางส่วนสั้นๆ

การเชื่อมต่อกับอุปกรณ์ที่ไม่ค่อยพบจากแอป

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

WebHID API คืออะไร

อุปกรณ์ที่โต้ตอบกับมนุษย์โดยตรง (HID) จํานวนมากนั้นใหม่เกินไป เก่าเกินไป หรือหายากเกินไปที่จะเข้าถึงได้จากโปรแกรมควบคุมอุปกรณ์ของระบบ WebHID API ช่วยแก้ปัญหานี้ด้วยวิธีใช้ตรรกะที่เจาะจงอุปกรณ์ใน JavaScript

Use Case ที่แนะนำสำหรับ WebHID API

HID รับข้อมูลจากหรือแสดงผลต่อมนุษย์ ตัวอย่างอุปกรณ์ ได้แก่ แป้นพิมพ์ อุปกรณ์ชี้ตำแหน่ง (เมาส์ หน้าจอสัมผัส ฯลฯ) และเกมแพด โปรโตคอล HID ช่วยให้เข้าถึงอุปกรณ์เหล่านี้ในคอมพิวเตอร์เดสก์ท็อปได้โดยใช้ไดรเวอร์ระบบปฏิบัติการ แพลตฟอร์มเว็บรองรับ HID โดยอาศัยไดรเวอร์เหล่านี้

การที่เข้าถึงอุปกรณ์ HID ที่ไม่ค่อยพบได้ทั่วไปไม่ได้นั้นเป็นเรื่องที่น่าปวดหัวอย่างยิ่งเมื่อพูดถึงการรองรับเกมแพด เกมแพดออกแบบมาสำหรับ PC มักใช้ HID สำหรับอินพุต (ปุ่ม จอยสติ๊ก ไกด์) และเอาต์พุต (LED การสั่น) ของเกมแพด อย่างไรก็ตาม อินพุตและเอาต์พุตของเกมแพดไม่ได้มาตรฐานมากนัก และเว็บเบราว์เซอร์มักต้องใช้ตรรกะที่กำหนดเองสำหรับอุปกรณ์บางรุ่น ซึ่งไม่ยั่งยืนและส่งผลให้การสนับสนุนอุปกรณ์รุ่นเก่าและอุปกรณ์ที่ไม่พบบ่อยมีมาตรฐานต่ำ และยังทําให้เบราว์เซอร์ต้องอาศัยลักษณะเฉพาะที่ปรากฏในลักษณะการทํางานของอุปกรณ์บางรุ่น

การสาธิต การสาธิต การสาธิต

หากสงสัยว่าตัวอย่างเหล่านี้ทำงานอย่างไร คุณสามารถดูซอร์สโค้ดของตัวอย่างทั้งหมดได้ใน GitHub มีตัวอย่างโค้ดพื้นฐานในคำอธิบาย

ไฟแบ็กไลต์ของแป้นพิมพ์ MacBook Pro

อุปสรรคสำคัญที่สุดในการลองใช้เดโมเหล่านี้คือการไม่มีสิทธิ์เข้าถึงอุปกรณ์ แต่ไม่ต้องกังวล หากคุณมี MacBook Pro ที่มีทัชบาร์ คุณไม่จำเป็นต้องซื้ออุปกรณ์ใดๆ การสาธิตนี้ช่วยให้คุณใช้ API ได้โดยตรงจากแล็ปท็อป นอกจากนี้ ยังแสดงวิธีใช้ WebHID เพื่อปลดล็อกฟังก์ชันการทำงานของอุปกรณ์ในตัว ไม่ใช่แค่อุปกรณ์ต่อพ่วง

ผู้เขียน: FWeinb
การสาธิต/แหล่งที่มา: Backlight ของแป้นพิมพ์

เกมคอนโทรลเลอร์

คอนโทรลเลอร์ไร้สาย PlayStation 4

รายการถัดไปคือสิ่งที่คุณมีแนวโน้มจะมีน้อยกว่า DualShock 4 ของ Sony เป็นคอนโทรลเลอร์ไร้สายสำหรับคอนโซลเกม PlayStation 4

ตัวอย่าง DualShock 4 ใช้ WebHID เพื่อรับรายงานอินพุตดิบจาก DualShock 4 และมี API ระดับสูงเพื่อเข้าถึงอินพุตของไจโรสโคป เซ็นเซอร์วัดความเร่ง ทัชแพด ปุ่ม และแท่งบังคับของคอนโทรลเลอร์ และยังรองรับการสั่นและการกําหนดสีของ LED RGB ที่อยู่ในตัวควบคุมด้วย

ผู้เขียน: TheBITLINK
การสาธิต: DualShock 4 Demo (แหล่งที่มา)

คอนโทรลเลอร์ Joy-Con ของ Nintendo Switch

เล่นเกมไดโนเสาร์ Chrome 🦖 ออฟไลน์ด้วยการกระโดดจริงโดยใช้ตัวควบคุม Joy-Con ของ Nintendo Switch ในกระเป๋ากางเกง การสาธิตนี้ทำงานด้วย Joy-Con WebHID ซึ่งเป็นไดรเวอร์ WebHID สำหรับตัวควบคุม Joy-Con ของ Nintendo Switch

ผู้เขียน: Thomas Steiner
การสาธิต: Chrome Dino WebHID (แหล่งที่มาของข้อมูลการสาธิต แหล่งที่มาของไดรเวอร์)

BlinkStick Strip

BlinkStick Strip เป็นแถบไฟที่เป็นไปตามข้อกำหนด HID พร้อม LED RGB 8 ดวง การแสดงตัวอย่างนี้ช่วยให้ผู้ใช้เลือกรูปแบบการกะพริบได้หลายรูปแบบ ได้แก่ การกะพริบตาม กะพริบ และเครื่องสแกน Larson (หรือที่เรียกว่า Cylon)

ผู้เขียน: Robat Williams
การสาธิต: blinkstick-strip (แหล่งที่มา)

การสาธิตนี้ทําอะไรได้บ้าง (รอดูเลย) ตัวละครกะพริบตา อันที่จริงมี 3 รายการเดโมที่ใช้ไฟแจ้งเตือน USB ของ blink(1)

blink(1) เป็นเครื่องมือที่ใช้งานง่ายและมีเอกสารประกอบที่ชัดเจน จึงเหมาะสําหรับผู้เริ่มต้นใช้งาน HID

ผู้เขียน: Tod E. Kurt
สาธิต: blink(1) (source)

ขอขอบคุณ

ขอขอบคุณ Pete LePage และ Kayce Basques ที่ตรวจสอบบทความนี้

รูปภาพโดย Ugur Akdemir ใน Unsplash