ActionScript 模拟键盘按下

Posted

技术标签:

【中文标题】ActionScript 模拟键盘按下【英文标题】:ActionScript simulate keyboard press 【发布时间】:2012-07-12 01:38:58 【问题描述】:

我正在尝试模拟按 TAB 键。我已经搜索了很长时间,但没有找到答案。

我试过了:

dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, Keyboard.TAB, 0, 0, false, false, false);

但是什么都没有发生..

关于我做错了什么的任何提示?如何模拟键盘按下?

【问题讨论】:

为什么要模拟[TAB]按键?期望的行为是什么? 我正在开发一个 Flash 播放器项目。您可以通过打开一些“窗口”来添加一些选项。但是当您关闭窗口时,键盘快捷键不再起作用。但是,如果您按 Tab 键,则会再次激活键盘快捷键。所以现在我想让它在每次击键操作之前模拟一个 [TAB]。 【参考方案1】:

您不能完全重新创建一个被按下的键,因为这是所有用户输入而不是编程。但是,程序(主要)通过事件对用户输入做出反应。通过 dispatchEvent 调用事件,您(大部分)正在重新创建如果该事件源自用户输入会发生什么。

source.

你想达到什么目的? 将焦点转移到 UI 元素上? Then check this.

插入制表符空间? Then check this out.

【讨论】:

我正在开发一个 Flash 播放器项目。您可以通过打开一些“窗口”来添加一些选项。但是当您关闭窗口时,键盘快捷键不再起作用。但是,如果您按 Tab 键,则会再次激活键盘快捷键。所以现在我想让它在每次击键操作之前模拟一个 [TAB]。我将尝试发送给我的链接上的解决方案。谢谢! 你打开的是真窗口还是“假”窗口?真正的窗口会窃取焦点,并且可能会发生焦点不会返回到“父”窗口的情况。这也可能是一个特定于事件的问题,但我不得不承认我的 AS 知识有点生疏。您是否查看了您的事件侦听器以查看它们中的任何一个是否实际被触发,如果没有,这可能是调试时采用的好方法。 这是一个假窗口.. 窗口关闭后焦点仍在 Flash 播放器上.. 我现在正在考虑将焦点始终放在同一个项目上.. 我还将检查事件侦听器。感谢您的帮助!

以上是关于ActionScript 模拟键盘按下的主要内容,如果未能解决你的问题,请参考以下文章

delphi7实现模拟键盘按键,比如按下v键,数字0,回车等

在mac终端模拟键盘按下

java--键盘事件类,按下回车则模拟鼠标

QT模拟win系统键盘输出,模拟组合快捷键输出(仅限windows系统)

QT模拟win系统键盘输出,模拟组合快捷键输出(仅限windows系统)

如何用delphi获取键盘扫描码及模拟键盘组合键