The HIDDevice interface of the WebHID API represents a HID Device. It provides properties for accessing information about the device, methods for opening and closing the connection, and the sending and receiving of reports.
Instance properties
This interface also inherits properties from EventTarget.
Receives a feature report from this HID device in the form of a Promise which resolves with a DataView. This allows typed access to the contents of this message.
Examples
The following example demonstrates listening for an inputreport event that will allow the application to detect which button is pressed on a Joy-Con Right device.
js
device.addEventListener("inputreport",(event)=>{const{ data, device, reportId }= event;// Handle only the Joy-Con Right device and a specific report 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(`User pressed button ${someButtons[value]}.`);});
In the following example sendFeatureReport is used to make a device blink.
js
const reportId =1;for(let i =0; i <10; i++){// Turn offawait device.sendFeatureReport(reportId, Uint32Array.from([0,0]));awaitwaitFor(100);// Turn onawait device.sendFeatureReport(reportId, Uint32Array.from([512,0]));awaitwaitFor(100);}