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

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

โจ เมดเลย์
โจ เมดเลย์
แมต เรย์โนลด์
Matt Reynolds

WebHID API คืออะไร

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

กรณีการใช้งานที่แนะนำสำหรับ WebHID API

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

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

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

หากมีข้อสงสัยเกี่ยวกับวิธีการทำงานของตัวอย่างเหล่านี้ ซอร์สโค้ดของตัวอย่างทั้งหมดจะอยู่ใน GitHub มีตัวอย่างโค้ด Barebones ในคำอธิบาย

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

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

ผู้เขียน: FWeinb
การสาธิต/แหล่งที่มา: คีย์บอร์ดแบ็กไลต์

อุปกรณ์ควบคุมเกม

ตัวควบคุม PlayStation 4 แบบไร้สาย

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

การสาธิต DualShock 4 ใช้ WebHID เพื่อรับรายงานอินพุตดิบจาก DualShock 4 และให้ API ระดับสูงสำหรับเข้าถึงเครื่องวัดการหมุน ตัวตรวจวัดความเร่ง ทัชแพด ปุ่ม และอินพุต thumbstick ของตัวควบคุม อุปกรณ์ยังรองรับ Rumble และการตั้งค่าสีของ RGB LED ภายในตัวควบคุมด้วย

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

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

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

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

แถบ BlinkStick

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

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

การสาธิตนี้ทำอะไรได้บ้าง (รอก่อน) ไฟกะพริบ จริงๆ แล้วเป็นการสาธิต 3 แบบ ที่ใช้ไฟแจ้งเตือนแบบ USB กะพริบ(1)

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

ผู้แต่ง: Tod E. Kurt
การสาธิต: blink(1) (แหล่งที่มา)

ข้อความแสดงการยอมรับ

ขอขอบคุณ Pete LePage และ Kayce Basques สำหรับรีวิวบทความนี้

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