3
Q
访问键盘API
A
回答
6
看看NSEvent方法addLocalMonitorForEventsMatchingMask:handler :.这将允许您接收在您的应用中发生的事件(特别是您的案例中的keyDown事件),然后您可以使用该方法返回的击键执行任何您想要的操作。下面是如何使用该方法,一个简单的例子:
self.keystrokes = [NSMutableString string];
[NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask handler:^NSEvent* (NSEvent* event){
NSString *keyPressed = event.charactersIgnoringModifiers;
[self.keystrokes appendString:keyPressed];
return event;
}];
3
截获所有键盘输入(也鼠标,如果你想的话)检查出Quartz Events API。 This post有一些代码演示了API的用法。
相关问题
- 1. C#键盘访问
- 2. 访问键盘列表,键盘切换
- 3. GridViewColumnHeaders的键盘访问?
- 4. 如何从trigger.io访问iPhone拨号器小键盘API
- 5. 屏幕键盘上的访问从windev
- 6. 访问默认键盘设备
- 7. iOS键盘扩展访问PHImageManager
- 8. 如何访问键盘背光
- 9. 无法访问System.Windows.Input下的键盘类
- 10. Linux键盘通过C指针访问
- 11. 访问jqtransform使用键盘选择
- 12. ColorPickerExtender可访问(仅限键盘)
- 13. 访问键盘字段到Django模板
- 14. 键盘访问下拉悬停菜单
- 15. 键盘可访问Facebook发送按钮
- 16. 寻找键盘API
- 17. Python的键盘API
- 18. 访问硬盘
- 19. 有键盘shift键问题
- 20. EditText键盘问题
- 21. 键盘 - uinavigationcontroller - 问题
- 22. UITextField键盘问题
- 23. Android键盘问题
- 24. Android键盘问题
- 25. 软键盘问题
- 26. Tablayout键盘问题
- 27. TextFiled键盘问题
- 28. Android键盘问题
- 29. MFMailComposeViewController键盘问题
- 30. 键盘快捷键访问Chrome书签(mac)
当然,你不能拦截其他应用程序的关键笔画,你能吗? – darksky
我相信你可以,但用全局监视器而不是本地监视器(也是NSEvent方法)。 – rdelmar
使用NSEvent API进行全局监控的一个主要问题是,有些事件没有得到。 (根据操作系统版本的不同,列表会有所不同)。因此,如果您必须在Lion中记录全局热键,它们就不会显示出来。如果您关心其中的任何一种情况,您别无选择,只能下降到CGEventTap级别(从其他答案中)。 – abarnert