gpt4 book ai didi

apache-flex - 是否有可能确切地知道在 AS3 中按下了什么小键盘键(禁用 Num Lock)?

转载 作者:行者123 更新时间:2023-12-02 05:19:36 26 4
gpt4 key购买 nike

在 Actionscript 3 中,我看到如果我按下“8”键(从小键盘),我得到小键盘键“8”的 keyCode 结果,但是当我禁用“Num Lock”并按下小键盘键时“8”,我收到向上箭头键的 keyCode 的事件...

如何区分小键盘上的键(禁用 Num Lock)和原来的键,如 Arrows、End、Insert、Delete 等?

我已经尝试使用事件的 keyLocation 属性,该属性的值对于箭头是 0,对于数字键盘是 3,但是当 Num Lock 被禁用时,该属性的值是 4 , 6, 2 and 8 in the numpad is 0, 所以我无法区分禁用数字键盘和箭头键的数字。

Keyboard 类的 numLock 属性也不起作用,因为我不知道我是按了向上箭头键还是禁用了 8 键 Num Lock (因为它们触发了相同的事件,或者我认为)

最佳答案

我一直无法找到一种方法来完成您的要求。我怀疑实际的关键代码本身被操作系统层驱动程序吸收,并且永远不会到达 FLEX 以供读取。这是通过在我的 iMac(没有 MS Natural 驱动程序)上使用我的 Microsoft Natural 键盘进行测试而得到的。没有驱动程序,键盘无法打开 numlock,并且键码保持不变。

我不知道这是否有帮助,但我确实编写了一个小测试程序来确定在每个平台上 flex 可以看到哪些键代码、位置和字符代码。

这是测试应用的代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="onApplicationComplete()" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
public function onApplicationComplete():void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
}

public function onKeyDown(keyboardEvent:KeyboardEvent):void
{
charCodeLabel.text = keyboardEvent.charCode.toString();
keyCodeLabel.text = keyboardEvent.keyCode.toString();
switch(keyboardEvent.keyLocation)
{
case KeyLocation.LEFT:
keyLocationBox.text = "Left";
break;
case KeyLocation.NUM_PAD:
keyLocationBox.text ="Num Pad";
break;
case KeyLocation.RIGHT:
keyLocationBox.text = "Right";
break;
default:
keyLocationBox.text = "Standard";
}

}
]]>
</mx:Script>
<mx:Label x="46" y="34" text="Just click anywhere inside the flash movie and start typing."/>
<mx:Label x="46" y="72" text="You typed Char Code:"/>
<mx:Label x="232" y="72" text="Key Code:"/>
<mx:Label x="183" y="72" id="charCodeLabel"/>
<mx:Label x="303" y="72" id="keyCodeLabel"/>
<mx:Label x="46" y="98" text="Key Location:"/>
<mx:Label x="134" y="98" width="68" id="keyLocationBox"/>

</mx:Application>

如果需要,您也可以简单地使用我在此处上传的实时版本:Flex Online Key Code Tool

关于apache-flex - 是否有可能确切地知道在 AS3 中按下了什么小键盘键(禁用 Num Lock)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com