作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发布的 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/
我发布的 iPhone 应用程序是一个无线游戏 Controller ,它将设备上的触摸转换为联网 Mac 上的按键。这允许使用 iPhone 作为 Controller 来玩模拟器(例如 Nesto
我是一名优秀的程序员,十分优秀!