gpt4 book ai didi

objective-c - 10.6.3 os x 更新破坏了 Nestopia 的模拟按键

转载 作者:行者123 更新时间:2023-12-03 16:34:17 25 4
gpt4 key购买 nike

我发布的 iPhone 应用程序是一个无线游戏 Controller ,它将设备上的触摸转换为联网 Mac 上的按键。这允许使用 iPhone 作为 Controller 来玩模拟器(例如 Nestopia)游戏。当然,我发布它的那天恰逢 os x 更新。安装此更新后,模拟按键在 Nestopia 中不再起作用!更疯狂的是,当我在 Nestopia 中选择“文件 > 打开”时,我可以通过点击 iPhone Controller 上的向上箭头来循环浏览文件列表;即模拟按键在菜单项中起作用,但在游戏本身中不起作用。我用来模拟按键的代码如下。给定更改列表here ,谁能确定哪个更改会导致此问题?

谢谢!!

#define UP  false
#define DOWN true

-(void)sendKey:(CGKeyCode)keycode andKeyDirection:(BOOL)keydirection{
CGEventRef eventRef = CGEventCreateKeyboardEvent(NULL, keycode, keydirection);
CGEventPost(kCGSessionEventTap, eventRef);
CFRelease(eventRef);
}

最佳答案

Mac Nestopia 的作者正在使用较旧的调用 GetKeys() 来捕获按键事件。从 10.6.3 开始,GetKeys 无法使用本文中详细介绍的方法捕获生成的按键。我发现的解决方法是使用它:

-(void)sendKey:(CGKeyCode)keycode andKeyDirection:(BOOL)keydirection{
AXUIElementRef axSystemWideElement = AXUIElementCreateSystemWide();
AXError err = AXUIElementPostKeyboardEvent(axSystemWideElement, 0, keycode, keydirection);
if (err != kAXErrorSuccess)
NSLog(@" Did not post key press!");
}

非常感谢 Richard Bannister 的快速电子邮件回复!

关于objective-c - 10.6.3 os x 更新破坏了 Nestopia 的模拟按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2562390/

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