앱에서 흔하지 않은 기기에 연결
WebHID API란 무엇인가요?
많은 인간 인터페이스 기기 (HID)는 너무 새롭거나, 너무 오래되었거나, 너무 흔하지 않아 시스템의 기기 드라이버에서 액세스할 수 없습니다. WebHID API는 JavaScript에서 기기별 로직을 구현하는 방법을 제공하여 이 문제를 해결합니다.
WebHID API의 추천 사용 사례
HID는 사람으로부터 입력을 받거나 사람에게 출력을 제공합니다. 기기의 예로는 키보드, 포인팅 기기 (마우스, 터치 스크린 등), 게임패드가 있습니다. HID 프로토콜을 사용하면 운영체제 드라이버를 통해 데스크톱 컴퓨터에서 이러한 기기에 액세스할 수 있습니다. 웹 플랫폼은 이러한 드라이버를 사용하여 HID를 지원합니다.
흔하지 않은 HID 기기에 액세스할 수 없는 것은 게임패드 지원과 관련하여 특히 불편합니다. PC용으로 설계된 게임패드는 게임패드 입력 (버튼, 조이스틱, 트리거) 및 출력 (LED, 럼블)에 HID를 사용하는 경우가 많습니다. 그러나 게임패드 입력과 출력은 표준화되지 않았으며 웹브라우저에는 특정 기기에 맞는 맞춤 로직이 필요한 경우가 많습니다. 이는 지속 가능하지 않으며 오래되고 흔하지 않은 기기의 롱테일을 제대로 지원하지 못합니다. 또한 브라우저가 특정 기기의 동작에 존재하는 버그에 종속되게 됩니다.
데모, 데모, 데모
이러한 샘플의 작동 방식을 알아보려면 GitHub에서 모든 샘플의 소스 코드를 확인하세요. 설명에는 최소한의 코드 예시가 포함되어 있습니다.
MacBook Pro 키보드 백라이트
이러한 데모를 사용해 보려면 기기에 액세스할 수 있어야 합니다. 다행히 Touch Bar가 있는 MacBook Pro를 사용하는 경우 아무것도 구매할 필요가 없습니다. 이 데모를 사용하면 노트북에서 바로 API를 사용할 수 있습니다. 또한 WebHID를 사용하여 주변기기뿐만 아니라 내장 기기의 기능을 활용하는 방법도 보여줍니다.
작성자: FWeinb
데모/소스: 키보드 백라이트
게임 컨트롤러
PlayStation 4 무선 컨트롤러
다음은 더 적은 사용자가 경험할 수 있는 문제입니다. 소니의 DualShock 4는 PlayStation 4 게임 콘솔용 무선 컨트롤러입니다.
DualShock 4 데모는 WebHID를 사용하여 DualShock 4의 원시 입력 보고서를 수신하고 컨트롤러의 자이로스코프, 가속도계, 터치패드, 버튼, 스틱 입력에 액세스하는 상위 수준 API를 제공합니다. 컨트롤러 내에 있는 RGB LED의 럼블 및 색상 설정도 지원합니다.
작성자: TheBITLINK
데모: DualShock 4 데모 (소스)
Nintendo Switch Joy-Con 컨트롤러
바지 주머니에 Nintendo Switch Joy-Con 컨트롤러를 넣고 실제로 점프하여 Chrome 공룡 🦖 오프라인 게임을 플레이하세요. 이 데모는 Nintendo Switch Joy-Con 컨트롤러용 WebHID 드라이버인 Joy-Con WebHID를 기반으로 합니다.
작성자: 토마스 스타이너
데모: Chrome Dino WebHID(데모 소스,
드라이버 소스)
BlinkStick 스트립
BlinkStick Strip은 8개의 RGB LED가 장착된 HID 호환 조명 스트립입니다. 이 데모에서는 사용자가 체이스, 깜박임, 러슨 스캐너 (사이론이라고도 함)를 비롯한 여러 깜박임 패턴 중에서 선택할 수 있습니다.
작성자: 로바트 윌리엄스
데모: blinkstick-strip (소스)
깜박임, 깜박임, 깜박임
이 데모는 무엇을 하나요? (잠시만요.) 깜박입니다. 사실 blink(1) USB 알림등을 사용하는 세 가지 데모입니다.
blink(1)는 간단하고 문서가 잘 작성되어 있으므로 HID를 시작하는 데 적합합니다.
작성자: 토드 E. 커트
데모: blink(1) (소스)