Kết nối với các thiết bị không phổ biến từ ứng dụng của bạn.
API WebHID là gì?
Nhiều thiết bị có giao diện dành cho người dùng (HID) quá mới, quá cũ hoặc quá bất thường mà trình điều khiển thiết bị của hệ thống không thể truy cập được. API WebHID 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 đầu ra cho con người. Ví dụ về các 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 giúp bạn có thể truy cập vào các thiết bị này trên máy tính 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 các thiết bị HID không phổ biến sẽ đặc biệt gây khó chịu khi nói đến tính năng 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 các phương thức nhập vào tay điều khiển trò chơi (nút, cần điều khiển, kích hoạt) và đầu ra (đèn LED, tiếng ồn). Tuy nhiên, các dữ liệu đầ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à các 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 ổn định và dẫn đến khả năng hỗ trợ kém cho những 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 tương thích có 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, thì mã nguồn của tất cả các mẫu đó có 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 khi dùng 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 là nếu bạn có MacBook Pro có TouchBar, thì bạn không cần phải mua bất cứ thứ gì. 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 thấy cách WebHID có thể được dùng để mở khoá chức năng của thiết bị tích hợp sẵn, chứ không chỉ thiết bị ngoại vi.
Tác giả: FWeinb
Bản minh hoạ/Nguồn: Đèn nền 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à nội dung mà ít người biết đến. DualShock 4 của Sony là bộ đ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, đồng thời cung cấp API cấp cao để truy cập vào con quay hồi chuyển, gia tốc kế, bàn di chuột, nút và dữ liệu đầu vào của cần điều khiển. Tính năng này cũng hỗ trợ chế độ rumble và đặt màu của đèn LED RGB nằm trong bộ đ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 Nintendo Switch Joy-Con
Chơi trò chơi khủng long trên Chrome 🦖 ngoại tuyến bằng cách thực sự nhảy với bộ điều khiển Nintendo Switch Joy-Con trong túi của bạn. Bản minh hoạ này sử dụng Joy-Con WebHID. Đây là 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)
Dải BlinkStick
Dải BlinkStick là dải đèn tương thích với 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 đuổi theo, nháy mắt và máy quét Laaron (còn gọi là Cylon).
Tác giả: Robat Williams
Bản minh hoạ: blinkstick-strip (nguồn)
Nhấp nháy
Bản minh hoạ này có chức năng gì? (Chờ.) Nó sẽ nhấp nháy. Trên thực tế, đó là 3 bản minh hoạ sử dụng đèn thông báo nhấp nháy(1) qua USB.
blink(1) rất đơn giản và được ghi lại đầy đủ, do đó đâ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)
Xác nhận
Cảm ơn Pete LePage và Kayce Basques đã viết bài đánh giá về bài viết này.
Ảnh chụp của Ugur Akdemir trên Unsplash