การเชื่อมต่อกับอุปกรณ์ที่ไม่ปกติจากแอป
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