我已经安装了pyobjc(与Quartz一起使用),我想知道如何使用CGEventCreateKeyboardEvent正确创建键盘事件?请?我根本无法在互联网上找到它,而且我什至不知道要导入什么.
一个示例代码会很好,告诉我要导入什么以及要放入python中的内容
有人知道CGEventCreateKeyboardEvent在Mac中FN(功能键)所需的代码吗?
解决方法:
<code>evt = Quartz.CGEventCreateKeyboardEvent(None, vkey, True) </code>
这里的所有都是它的.
而且,如果您可以在C中找到示例(例如this one in the docs),则将它们映射到Python并不容易.
C:
<code>CGEventRef event1, event2, event3, event4; event1 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, true); event2 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, true); event3 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, false); event4 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, false); </code>
Python:
<code>events = [Quartz.CGEventCreateKeyboardEvent(None, 56, True),
Quartz.CGEventCreateKeyboardEvent(None, 6, True),
Quartz.CGEventCreateKeyboardEvent(None, 6, False),
Quartz.CGEventCreateKeyboardEvent(None, 56, False)]
</code>
至于“导入什么”,如果不清楚的话:import Quartz.
如果要将键映射到键代码,则C文档可以类似地转换为Python,但是this simple library会包装低级函数并将其公开给Python.
如果您想以一种很好的图形方式找出通过系统发送了哪些事件,请尝试Event Taps Testbench.如果您使用的是Maverick,则必须阅读有关Mavericks兼容性的说明,否则该说明将不起作用.无论如何,运行它,添加一个水龙头,例如“向下键”,“向上键”和“已更改标志”,单击“当前事件”或“事件历史记录”,然后观察键码飞过.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!