use*_*311 5 air flash actionscript input actionscript-3
我在解决如何区分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
Run Code Online (Sandbox Code Playgroud)
但是,当尝试类似于将我的Enter密钥与我的Return密钥分开时,使用:
if(e.keyLocation == KeyLocation.NUM_PAD)
Run Code Online (Sandbox Code Playgroud)
闪存坚持治疗他们都喜欢他们来自KeyLocation.Standard另外值得一提的是,Flash将两个键的密码相同,具有完全相同的keyCode以同样的方式,(13) CTRL,ALT以及Shift共享相同的keyCode,但仍然不能KeyLocation像他们一样孤立.
有没有人对如何解决这个问题有任何想法?或者这仅仅是AS3的限制?谢谢.
编辑:值得一提的是,我正在开发这个用于Adobe AIR作为桌面应用程序.
小智 1
遗憾的是,这似乎不可能。亲自尝试后,numpad_enter 总是返回 KeyLocation = 0 (因此它是标准的,而不是左、右或数字键盘)并返回键码 13,即返回键的键码。
虽然 Keyboard.NUMPAD_ENTER 被定义为 108,但是当您按下 numpad_enter 按钮时,Flash 永远不会在内部发送该值,它只会发送包含普通 Enter 按钮值的 KeyboardEvent。
您可以尝试要求 Adobe 修复此Adobe 帮助中心