JS游戏编程-使用键盘事件蓝牙键盘/iCade与iPad浏览器

JS Game Programming - Using keyboard events for bluetooth keyboard/iCade with iPad browser?

本文关键字:键盘 iCade 浏览器 iPad 事件 编程 游戏 JS      更新时间:2023-09-26

我正在用JavaScript编写一个游戏编程库,并尝试在iPad平台上使用iCade。实际上我用了一个很粗糙的方法。然而,它还没有完全实现。

iCade使用键盘按键进行翻译。问题是,我有麻烦附加键盘事件的东西,而不是输入元素。我的第一个问题是是否有办法将键盘事件附加到不是文本输入元素的东西上?

所以,我把它附加到一个元素上。我设置元素的不透明度为0,宽度/高度为0,并将z索引推到后面,并聚焦它。工作得很好,只是有点粗糙,但它仍然在那里。然而,当元素聚焦时(蓝牙未打开),软键盘就会出现。此外,当启用iCade/蓝牙时,键盘消失了,但你仍然被浏览器底部的表单辅助栏(上一步/下一步)所困扰。它很丑,还妨碍了我的展示。我的第二个问题是,无论如何都可以将软键盘散焦,但保留输入的关键事件,或者只是隐藏浏览器中的底部输入栏?

此外,解决方案不应该涉及jQuery。我已经编写了游戏库中的所有内容,而不需要jQuery。

更新:我已经想出了一个更干净的方式来实现输入字段。话是这么说的,我想添加第三个问题:如果第一个和第二个问题不能做到,有没有办法使iPad浏览器窗口底部的半透明表单助理栏消失?如果这是可能的,那么我的任务将100%完成。

显然,在研究之后,这是不可能的-只有操作系统调用可以做到这一点,而且它们都没有JS接口,甚至通过webkit。我要做的就是给这个选项来修改这个栏的画布大小