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