如何在Mac上的Python中使用CGEventCreateKeyboardEvent?
我已经安装了pyobjc(带有Quartz),我想知道如何使用CGEventCreateKeyboardEvent正确创建键盘事件?请我在网上根本找不到它,而且我甚至不知道要导入什么 一个示例代码会很好,告诉我导入什么以及将什么放入python 有人知道CGEventCreateKeyboardEvent mac中的FN(功能键)所需的代码吗如何在Mac上的Python中使用CGEventCreateKeyboardEvent?,python,macos,keyboard-events,Python,Macos,Keyboard Events,我已经安装了pyobjc(带有Quartz),我想知道如何使用CGEventCreateKeyboardEvent正确创建键盘事件?请我在网上根本找不到它,而且我甚至不知道要导入什么 一个示例代码会很好,告诉我导入什么以及将什么放入python 有人知道CGEventCreateKeyboardEvent mac中的FN(功能键)所需的代码吗 evt = Quartz.CGEventCreateKeyboardEvent(None, vkey, True) 就这些 如果你能找到C语言的例子,比
evt = Quartz.CGEventCreateKeyboardEvent(None, vkey, True)
就这些
如果你能找到C语言的例子,比如,把它们映射到Python是很简单的
C:
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,但是包装了底层函数并将它们公开给Python
如果您想用一种很好的图形方式来找出通过系统发送的事件,请尝试。如果您使用的是Maverick,您必须阅读关于Mavericks兼容性的说明,否则它将无法工作。无论如何,运行它,添加一个点击,例如,按键向下、按键向上和标志更改,单击当前事件或事件历史记录,并观察按键代码飞过。如果要双击功能键,我会执行
events=[Quartz.CGEventCreateKeyboardEvent(无,63,True),Quartz.CGEventCreateKeyboardEvent(无,63,False),Quartz.CGEventCreateKeyboardEvent(无,63,True),Quartz.CGEventCreateKeyboardEvent(无,63,False)]
@user3151828:是的,这将双击功能键。无论你试图模拟双击功能键的程序实际上可能是在观察标志的变化,而不是按键,或者可能是在观察较低的级别,因为这是一件非常奇怪的事情…这个功能在HighSierra上不再起作用。导致分割错误。你知道这件事吗?
events = [Quartz.CGEventCreateKeyboardEvent(None, 56, True),
Quartz.CGEventCreateKeyboardEvent(None, 6, True),
Quartz.CGEventCreateKeyboardEvent(None, 6, False),
Quartz.CGEventCreateKeyboardEvent(None, 56, False)]