编程语言
首页 > 编程语言> > 如何在Mac上的Python中使用CGEventCreateKeyboardEvent?

如何在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