actionscript-3 - Return 和 numpad Enter 的区别

标签 actionscript-3 flash input actionscript air

我在弄清楚如何区分键盘上的 Return 键和数字键盘上的 Enter 键时遇到了一些麻烦。

我已经成功地使用以下方法将其他键与重复键分开,例如 CTRL、ALT 和 Shift:

if(e.keyLocation == KeyLocation.RIGHT) // is on right side of keyboard

or

if(e.keyLocation == KeyLocation.LEFT) // is on left side of keyboard

但是,当尝试使用以下方法将我的 Enter 键与 Return 键分开时:
if(e.keyLocation == KeyLocation.NUM_PAD)

Flash 坚持认为他们都来自 KeyLocation.Standard还值得一提的是,Flash 将两个键视为完全相同的键,具有完全相同的 keyCode。 (13) 与 CTRL、ALT 和 Shift 共享相同的方式 keyCode仍然无法被 KeyLocation 隔离像他们一样。

有人对我如何解决这个问题有任何想法吗?或者这仅仅是 AS3 的限制?谢谢。

编辑:值得一提的是,我正在开发它以与 Adob​​e AIR 一起用作桌面应用程序。

最佳答案

很抱歉,这似乎是不可能的。
在自己尝试之后,numpad_enter 总是返回 KeyLocation = 0 (所以它是标准的,而不是左、右或小键盘)并返回键码 13,即返回键的键码。

虽然 Keyboard.NUMPAD_ENTER 被定义为 108,但是当您按下 numpad_enter 按钮时,它永远不会在内部由 flash 发送,它只会发送带有正常输入按钮值的 KeyboardEvent。

您可以尝试要求 Adob​​e 修复此问题 Adobe HelpCenter

关于actionscript-3 - Return 和 numpad Enter 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323113/

相关文章:

flash - 垃圾回收在 AS3 中是如何工作的?

flash - AS3 - 如何从基于文本的文件导入变量?

带有动态文本字段的 Flash 自定义字体

java - Java 中的循环从字符串中获取 2 个值

actionscript-3 - 使用 Stage3D 渲染不同对象时使用顶点缓冲区的最佳方法是什么

flash - Flash 客户端未收到来自 Node.js 的套接字数据

flash - 将 Flash UI 组件导入 Builder

c++ - 读取超出 istringstream 字符串末尾的内容。

r - 如何像 flowLayout 中的普通输入一样在 R/Shiny 流中动态创建输入?

actionscript-3 - 在Adobe Flash中无缝切换语言(音频和歌词)