【问题标题】:Flex AIR using Command and Ctrl keyboard eventsFlex AIR 使用 Command 和 Ctrl 键盘事件
【发布时间】:2011-04-23 05:06:31
【问题描述】:

我正在用 Flex 编写一个 AIR 应用程序。该应用程序需要能够处理 Mac 和 Windows 上的快捷方式。我有 Windows 端的快捷方式工作,但 Mac 上的相同应用程序似乎不会触发键盘事件上的 commandKey 属性,当用户还使用另一个组合键时(例如,command+g 不起作用)。我需要做什么才能在 Mac 上捕获快捷方式?

【问题讨论】:

    标签: apache-flex events keyboard-shortcuts air


    【解决方案1】:

    在这个基本的 AIR 示例中,我抓住了 CMD 和 CTRL 键:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:keyDown>
        <![CDATA[
            trace('CharCode: ' + event.charCode + ' Cmd: ' + event.commandKey + ' Ctrl: ' + event.ctrlKey + ' KeyCode: ' + event.keyCode);
        ]]>
        </mx:keyDown>
        <mx:TextArea />
    </mx:WindowedApplication>
    

    我知道我在 Flex 和 AIR 应用程序中的键盘事件确实存在很多问题,因为焦点问题。在上面的示例中,只有单击文本区域才能看到正确的结果。也许这就是它默认的工作方式,但我仍然发现 Flex 中的键盘事件处理很痛苦。

    【讨论】:

    • 问题不是捕获 cmd 和 ctrl 键,而是捕获 cmd 键加上另一个键,例如 cmd+c 用于复制。这适用于使用 ctrl+c 的 windows,但当您想使用 cmd+c 时不适用于 mac。你唯一得到的是一个 keycode=15(cmd 键)
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多