【发布时间】:2016-01-24 11:22:09
【问题描述】:
我需要模拟连续按键。例如按住“c”键 5 秒钟。为了模拟按键事件,我尝试使用 CGEventCreateKeyboardEvent:
let event:CGEventRef! = CGEventCreateKeyboardEvent(nil, 8, true)
CGEventPost(CGEventTapLocation.CGSessionEventTap, event)
但它的作用就像是点击按钮然后立即释放。我需要创建一个持续按住按钮(向下键)然后释放它(向上键)的事件。
【问题讨论】:
-
我不确定我是否理解您在这里想要做什么。你的意思是按钮的反应应该延迟5秒,并且只有在用户在5秒内再次按下按钮时才会触发?视觉是否也需要以某种方式反映这一点?或者,如果用户在未来 5 秒内再次按下按钮,您可能需要将时间返回 5 秒,并使按钮在过去 X 秒内保持按下状态。 (当你需要布朗医生时,他在哪里?)
-
我的意思是当用户按下特定键时,系统应该模拟连续按下。例如,我按下“A”并立即释放它,但系统表现得好像我一直按住“A”键,直到我再次按下它。
标签: swift macos cocoa events core-graphics