捕获Flex中的组合键盘输入

时间:2011-11-23 01:12:40

标签: actionscript-3 flex flex3

我正在寻找Flex的解决方案,我可以捕获键盘输入的组合,例如:[CTRL] + A + B

也就是说,按下CTRL键并且用户按下两个键(而不是通常的键)。

当有人按键时,我可以捕获事件:[CTRL] + A,代码如下:

if (event.ctrlKey && event.keyCode == 65)

我如何捕获一个额外的键,以便在有人按下CTRL,A和B时捕获事件?

1 个答案:

答案 0 :(得分:0)

您需要收听KEY_DOWN以及KEY_UP,并使用这些来设置一个内部标志,表示当前是否按下了A或B. - 我们称之为a_isDown:booleanb_isDown:boolean

然后,在KEY_DOWN事件中,

if (event.ctrlKey && ((event.keyCode == 65 && b_isDown) || 
   (event.keyCode == 66 && a_isDown))) { ... }