gpt4 book ai didi

macos - 在 Mac 上模拟媒体按键

转载 作者:行者123 更新时间:2023-12-02 11:25:52 27 4
gpt4 key购买 nike

有没有办法在普通 Apple 笔记本电脑上模拟媒体键(音量增大/减小、播放、暂停、上一个、下一个)的按键?

如何?

最佳答案

这需要一些时间和许多技巧(尝试使用 ctypes、IOKit 原生界面、Quartz 和/或 Cocoa)。现在这似乎是一个简单的解决方案:

#!/usr/bin/python

import Quartz

# NSEvent.h
NSSystemDefined = 14

# hidsystem/ev_keymap.h
NX_KEYTYPE_SOUND_UP = 0
NX_KEYTYPE_SOUND_DOWN = 1
NX_KEYTYPE_PLAY = 16
NX_KEYTYPE_NEXT = 17
NX_KEYTYPE_PREVIOUS = 18
NX_KEYTYPE_FAST = 19
NX_KEYTYPE_REWIND = 20

def HIDPostAuxKey(key):
def doKey(down):
ev = Quartz.NSEvent.otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_(
NSSystemDefined, # type
(0,0), # location
0xa00 if down else 0xb00, # flags
0, # timestamp
0, # window
0, # ctx
8, # subtype
(key << 16) | ((0xa if down else 0xb) << 8), # data1
-1 # data2
)
cev = ev.CGEvent()
Quartz.CGEventPost(0, cev)
doKey(True)
doKey(False)

for _ in range(10):
HIDPostAuxKey(NX_KEYTYPE_SOUND_UP)
HIDPostAuxKey(NX_KEYTYPE_PLAY)

(虽然我现在需要在 Python 中使用它,但我的问题并不是真正与 Python 相关的,当然您可以轻松地将其翻译成任何其他语言,尤其是 ObjC。)

关于macos - 在 Mac 上模拟媒体按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11045814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com