Các thiết bị có giao diện dành cho người dùng trên web: một số ví dụ ngắn gọn

Kết nối với các thiết bị không phổ biến từ ứng dụng của bạn.

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

WebHID API là gì?

Nhiều thiết bị giao diện người dùng (HID) quá mới, quá cũ hoặc quá không phổ biến nên trình điều khiển thiết bị của hệ thống không thể truy cập được. WebHID API giải quyết vấn đề này bằng cách cung cấp cách triển khai logic dành riêng cho thiết bị trong JavaScript.

Các trường hợp sử dụng đề xuất cho API WebHID

HID nhận dữ liệu đầu vào hoặc cung cấp dữ liệu đầu ra cho con người. Ví dụ về thiết bị bao gồm bàn phím, thiết bị trỏ (chuột, màn hình cảm ứng, v.v.) và tay điều khiển trò chơi. Giao thức HID cho phép truy cập vào các thiết bị này trên máy tính để bàn bằng trình điều khiển hệ điều hành. Nền tảng web hỗ trợ HID bằng cách dựa vào các trình điều khiển này.

Việc không thể truy cập vào các thiết bị HID không phổ biến sẽ đặc biệt khó chịu khi nói đến việc hỗ trợ tay điều khiển trò chơi. Tay điều khiển trò chơi được thiết kế cho máy tính thường sử dụng HID cho đầu vào (nút, cần điều khiển, cò súng) và đầu ra (đèn LED, rung) của tay điều khiển trò chơi. Tuy nhiên, đầu vào và đầu ra của tay điều khiển trò chơi không được chuẩn hoá tốt và trình duyệt web thường yêu cầu logic tuỳ chỉnh cho các thiết bị cụ thể. Điều này là không bền vững và dẫn đến việc hỗ trợ kém cho phần đuôi dài của các thiết bị cũ và không phổ biến. Điều này cũng khiến trình duyệt phụ thuộc vào các đặc điểm kỳ lạ trong hành vi của các thiết bị cụ thể.

Bản minh hoạ, bản minh hoạ, bản minh hoạ

Nếu bạn muốn biết cách hoạt động của bất kỳ mẫu nào trong số này, bạn có thể xem mã nguồn của tất cả các mẫu trên GitHub. Có một ví dụ về mã cơ bản trong phần giải thích.

Đèn nền bàn phím MacBook Pro

Rào cản lớn nhất để thử bất kỳ bản minh hoạ nào trong số này là thiếu quyền truy cập vào thiết bị. May mắn thay, nếu có MacBook Pro có Thanh cảm ứng, bạn không cần mua gì cả. Bản minh hoạ này cho phép bạn sử dụng API ngay trên máy tính xách tay. Bài viết này cũng cho biết cách sử dụng WebHID để mở khoá chức năng của các thiết bị tích hợp, chứ không chỉ thiết bị ngoại vi.

Tác giả: FWeinb
Bản minh hoạ/Nguồn: Ánh sáng bàn phím

Tay điều khiển trò chơi

Tay điều khiển không dây PlayStation 4

Tiếp theo là một điều mà ít người trong số bạn có thể có. DualShock 4 của Sony là một tay điều khiển không dây dành cho máy chơi trò chơi PlayStation 4.

Bản minh hoạ DualShock 4 sử dụng WebHID để nhận báo cáo đầu vào thô từ DualShock 4 và cung cấp một API cấp cao để truy cập vào dữ liệu đầu vào của con quay hồi chuyển, gia tốc kế, bàn di chuột, nút và cần điều khiển của tay điều khiển. API này cũng hỗ trợ tính năng rung và thiết lập màu của đèn LED RGB nằm trong tay điều khiển.

Tác giả: TheBITLINK
Bản minh hoạ: Bản minh hoạ DualShock 4 (Nguồn)

Tay điều khiển Joy-Con của Nintendo Switch

Chơi trò chơi khủng long 🦖 trên Chrome ở chế độ ngoại tuyến bằng cách thực sự nhảy lên bằng tay điều khiển Joy-Con của Nintendo Switch trong túi quần. Bản minh hoạ này được cung cấp bởi Joy-Con WebHID, một trình điều khiển WebHID cho tay điều khiển Joy-Con của Nintendo Switch.

Tác giả: Thomas Steiner
Bản minh hoạ: Chrome Dino WebHID (nguồn minh hoạ, nguồn trình điều khiển)

BlinkStick Strip

BlinkStick Strip là một dải đèn tuân thủ HID với 8 đèn LED RGB. Bản minh hoạ cho phép người dùng chọn trong số một số mẫu nhấp nháy, bao gồm cả trình quét Larson (còn gọi là Cylon), trình quét theo dõi và nhấp nháy.

Tác giả: Robat Williams
Bản minh hoạ: blinkstick-strip (nguồn)

Bản minh hoạ này có tác dụng gì? (Đợi chút.) Đèn nhấp nháy. Thực ra, đây là 3 bản minh hoạ sử dụng đèn thông báo USB nhấp nháy(1).

blink(1) đơn giản và được ghi chép đầy đủ, là một lựa chọn tuyệt vời để bắt đầu sử dụng HID.

Tác giả: Tod E. Kurt
Bản minh hoạ: blink(1) (nguồn)

Lời cảm ơn

Cảm ơn Pete LePageKayce Basques đã xem xét bài viết này.

Ảnh chụp của Ugur Akdemir trên Unsplash