繁体   English   中英

在JavaScript / Web浏览器中捕获2个或更多键盘的事件

[英]Capture the events of 2 or more keyboards in JavaScript/Web Browser

我正在编写一些执行简单键盘事件捕获的测试应用程序。

我对这个基本方法没有任何问题。

但现在我需要更好的应用程序体验,我想连接至少两个或更多USB或PS / 2键盘,区分键盘是关键事件的来源,因此能够使用JavaScript本地使用Web浏览器(和HTML5),好像它是同时具有多个控制器的游戏控制台。

我知道即使在Windows或Linux下,正常的行为是让几个键盘触发相同的事件。 但是,我也知道很有可能知道特定键盘硬件设备触发了该事件。

是可能的还是JavaScript中的限制? 未来可能会支持支持相同基本类型的多个输入设备的区别,是否有一些替代方案,至少使用HTML5,或者它几乎失去了希望,在Web浏览器的上下文中谈论,JavaScript和HTML5?

不,在当前的浏览器环境中,您无法支持特定类型的多个不同输入设备。 我也不知道任何即将推出的规格可以实现这样的功能。 通常,假设浏览器一次只有一个用户。 我不认为会支持这样的事情。

也就是说,目前正在开发一种游戏手柄支持规范。 非开发版浏览器不支持它,但Firefox和Chrome都在开发它。 如果您对此技术感兴趣,已经有一个名为gamepad.js的有趣库。

目前,为了支持多个玩家,您可能必须执行大多数游戏所做的操作来支持多个基于键盘的玩家,将每个玩家映射到不同的按键群集。

更新2015-05-04

自从这个答案以来,对Gamepad API的支持已经变得更好,Firefox和Chrome现在都支持多个版本,Opera也支持它。 但并非所有浏览器都这样做,Safari和IE都没有。 微软的新浏览器Edge看起来会支持Gamepad API,但可能需要很长时间才能让大多数IE用户迁移到Edge或其他浏览器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM