Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测正在JavaScript中输入数据的设备_Javascript_Webusb - Fatal编程技术网

检测正在JavaScript中输入数据的设备

检测正在JavaScript中输入数据的设备,javascript,webusb,Javascript,Webusb,我一直在开发一项功能,目的是读取条形码和二维码。问题是: 我有两个条形码扫描仪连接到我的电脑上,我想知道数据是从哪个扫描仪传送的 以下是我使用“navigator.usb”到目前为止所拥有的: JS函数 async function checkSource(e) { navigator.usb.getDevices() .then((device) => { console.log(device) }) }

我一直在开发一项功能,目的是读取条形码和二维码。问题是: 我有两个条形码扫描仪连接到我的电脑上,我想知道数据是从哪个扫描仪传送的

以下是我使用“navigator.usb”到目前为止所拥有的:

JS函数

async function checkSource(e) {
     navigator.usb.getDevices()
         .then((device) => {
             console.log(device)
         })
    }
JSX元素(我正在使用ReactJS)



现在,是否可以不使用console.log记录我连接的设备的列表,而是检测到“键入”到我的输入组件的设备?

我假设您当前正在键盘模拟模式下使用条形码扫描仪。理想情况下,为扫描仪输入发送的
KeyboardEvent
将包括一个标识符,“键盘”为其生成事件。这不是当前指定这些事件的方式

如果您想使用WebUSB,则需要将条形码扫描仪置于不模拟键盘的模式。然后,您将能够直接与这两个设备进行通信,并且可以清楚地知道哪个设备正在发送数据

<Input onChange={checkSource} />