【发布时间】:2011-05-07 18:53:16
【问题描述】:
我发布的 iPhone 应用是一款无线游戏控制器,它将设备上的触摸转换为联网 Mac 上的按键。这允许使用 iPhone 作为控制器来玩模拟器(例如 Nestopia)游戏。当然,我发布它的那天恰逢 os x 更新。安装此更新后,模拟按键在 Nestopia 中不再起作用!更疯狂的是,当我在 Nestopia 中转到“文件 > 打开”时,我可以通过点击 iPhone 控制器上的向上箭头来循环浏览文件列表;即模拟按键在菜单项中起作用,但在游戏本身中不起作用。我用来模拟键的代码如下。鉴于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);
}
【问题讨论】:
-
Lou,请务必在 bugreporter.apple.com 上向 Apple 提交错误报告。点更新真的不应该破坏东西。如果您可以将问题隔离到可重现的测试应用程序上,将会增加直接查看的机会(此外,构建这样的应用程序可能会告诉您需要做什么才能让事情为您工作)。
-
是使用 Nestopia 还是使用带有 Nestopia 插件的 OpenEmu 有区别吗?
-
@codewarrior:按键在 OpenEmu 中确实有效,但我构建的控制器在使用 OpenEmu 时似乎反应较慢。我确信这是因为 Nestopia 是我在开发过程中选择的模拟器。我确实找到了一种解决方法,我将在下面发布,这样我就可以继续使用 Nestopia 进行演示。唷。
-
@Ken:我按照您的建议构建了一个示例项目并提交了错误报告。
标签: objective-c cocoa macos