如何找出语言中的字符按键?

时间:2010-12-27 07:57:49

标签: flex events actionscript keyboard flex4

我无法在KeyboardEvent中使用charCode或keyCode来查找按下的字符,因为即使我更改了键盘布局,charCode和keyCode也不会改变(如果按相同的键)。

那么,如何根据当前的键盘布局找到压紧的字符?

我已经找到了this question,但该文件说的是什么:

  

charCode属性是数字   当前该键的值   字符集(默认字符   set是UTF-8,支持ASCII)。

不正确。

编辑:我正在使用Flex 4。

3 个答案:

答案 0 :(得分:3)

我找到了解决方案。

我们可以收听TextEvent。此事件不仅会调度到文本组件,还会调度所有实现UIComponent的聚焦组件。

例如:

package champjss
{
    import flash.events.TextEvent;
    import mx.core.UIComponent;

    public class EditorComponent extends UIComponent
    {
        public function EditorComponent()
        {
            super();

            addEventListener(TextEvent.TEXT_INPUT, handleTextEvent);
            setFocus();
        }

        protected function handleTextEvent(event:TextEvent):void
        {
            // This text the text that user types,
            // following to current keyboard layout ;)

            trace(event.text);
        }
    }
}

答案 1 :(得分:1)

keyCode值取决于语言环境。我相信各种布局将共享相同键的相同keyCode。确定密钥代码的不是键盘,而是计算机上的区域设置。我希望这会有所帮助。

答案 2 :(得分:1)

您在寻找String.fromCharCode()吗?