HIDInputReportEvent
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
å®å ¨ãªã³ã³ããã¹ãç¨: ãã®æ©è½ã¯ä¸é¨ã¾ãã¯ãã¹ã¦ã®å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã«ããã¦ãå®å ¨ãªã³ã³ããã¹ã (HTTPS) ã§ã®ã¿å©ç¨ã§ãã¾ãã
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
WebHID API ã® HIDInputReportEvent ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãå²ãå½ã¦ããã HID ããã¤ã¹ã®ãããããã Input ã¬ãã¼ããåä¿¡ããæãHIDDevice.inputreport_event ã«æ¸¡ããã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ããããã£
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯ãEvent ããç¶æ¿ããããããã£ãããã¾ãã
HIDInputReportEvent.dataèªåå°ç¨-
Input ã¬ãã¼ãããèªã¿åã£ããã¼ã¿ãå ¥ã£ã
DataViewã§ããHID ã¤ã³ã¿ã¼ãã§ã¤ã¹ãã¬ãã¼ã ID ãç¨ãã¦ããå ´åãreportIdã¯å«ã¾ãã¾ããã HIDInputReportEvent.deviceèªåå°ç¨-
ãã® Input ã¬ãã¼ããéä¿¡ãã HID ã¤ã³ã¿ã¼ãã§ã¤ã¹ã表ã
HIDDeviceã®ã¤ã³ã¹ã¿ã³ã¹ã§ãã HIDInputReportEvent.reportIdèªåå°ç¨-
ã¬ãã¼ããèå¥ãã 1 ãã¤ãã®æ¥é è¾ãããã㯠HID ã¤ã³ã¿ã¼ãã§ã¤ã¹ãã¬ãã¼ã ID ãç¨ãã¦ããªãå ´å 0 ã§ãã
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã親㮠Event ããã¡ã½ãããç¶æ¿ãã¦ãã¾ãã
ä¾
ãã®ä¾ã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã Joy-Con Right ããã¤ã¹ã§ã©ã®ãã¿ã³ãæ¼ãããããæ¤åºããããã« inputReport ãç£è¦ãã¾ããè¨äº Connecting to uncommon HID devices ã§ãä»ã®ä¾ãåããã¢ãè¦ããã¨ãã§ãã¾ãã
device.addEventListener("inputreport", (event) => {
const { data, device, reportId } = event;
// Joy-Con Right ããã¤ã¹ã§ããã¤ç¹å®ã®ã¬ãã¼ã ID ã®ã¤ãã³ãã®ã¿ãæ±ãã¾ãã
if (device.productId !== 0x2007 && reportId !== 0x3f) return;
const value = data.getUint8(0);
if (value === 0) return;
const someButtons = { 1: "A", 2: "X", 4: "B", 8: "Y" };
console.log(`ã¦ã¼ã¶ã¼ããã¿ã³ ${someButtons[value]} ãæ¼ãã¾ããã`);
});
仿§æ¸
| 仿§æ¸ |
|---|
| WebHID API > # dom-hidinputreportevent > |