有什么方法可以确定连接到设备的哪个键盘发送了JS中的特定按键事件?例如,一台带有USB键盘的笔记本电脑会很高兴在两个键盘上都实现按键操作,但是我似乎无法找到一种方法让浏览器告诉我按键事件来自哪个来源,因此我可以基于该事件进行过滤(例如,播放器1 /基于浏览器的游戏的2输入过滤,基于浏览器的合成工具的键盘与“虚拟乐器”等)

我在MDN的关键事件规范中找不到任何暗示可能的方法,但我很乐意接受任何使该工作“尽管”而不是“感谢”规范的创造性黑客手段。

有人did ask this question back in 2013,虽然它的答案建议使用gamepad API作为解决方法,但现在是2018年,并且JS API的三年更改意味着该问题值得再次提出,以便根据浏览器的当前状态获得答案。

最佳答案

我不知道是否已经可以,但是如果尝试这样的话,我将研究WebUSB Api:

https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web
https://wicg.github.io/webusb/

不太容易,但似乎可行

10-08 08:30
查看更多