在JavaScript / Web浏览器中捕获2个或更多键盘的事件
作者:互联网
我正在编写一些执行简单键盘事件捕获的测试应用程序.
我对这个基本方法没有任何问题.
但现在我需要更好的应用程序体验,我想连接至少两个或更多USB或PS / 2键盘,区分键盘是关键事件的来源,因此能够使用JavaScript本地使用Web浏览器(和HTML5),好像它是同时具有多个控制器的游戏控制台.
我知道即使在Windows或Linux下,正常的行为是让几个键盘触发相同的事件.但是,我也知道很有可能知道特定键盘硬件设备触发了该事件.
是可能的还是JavaScript中的限制?未来可能会支持支持相同基本类型的多个输入设备的区别,是否有一些替代方案,至少使用HTML5,或者它几乎失去了希望,在Web浏览器的上下文中谈论,JavaScript和HTML5?
解决方法:
不,在当前的浏览器环境中,您无法支持特定类型的多个不同输入设备.我也不知道任何即将推出的规格可以实现这样的功能.通常,假设浏览器一次只有一个用户.我不认为会支持这样的事情.
也就是说,目前正在制定gamepad支持规范.非开发版浏览器不支持它,但Firefox和Chrome都在开发它.如果您对此技术感兴趣,已经有一个名为gamepad.js的有趣库.
目前,为了支持多个玩家,您可能必须执行大多数游戏所做的操作来支持多个基于键盘的玩家,将每个玩家映射到不同的按键群集.
更新2015-05-04
自从这个答案以来,Support for the Gamepad API已经变得更好了,Firefox和Chrome现在都支持多个版本,Opera也支持它.但并非所有浏览器都这样做,Safari和IE都没有.微软的新浏览器Edge看起来会支持Gamepad API,但可能需要很长时间才能让大多数IE用户迁移到Edge或其他浏览器.
标签:javascript,keyboard-events 来源: https://codeday.me/bug/20190629/1328820.html