为了在我的一个项目中阻止所有键盘访问、鼠标访问和键盘快捷键事件,我:
- 创建了一个全屏透明无边框窗口,在其他窗口前面,但不可见。
return;
使用简单的窗口本身处理所有键盘和鼠标事件。- 制作
window
模式[NSApp runModalForWindow:myWindow]
以阻止键盘快捷键。 window
仅从触摸板的手势事件中释放。
但是这个家伙在一个小应用程序中让它看起来很简单 - MACIFIER:
他是怎么做到的呢?
为了在我的一个项目中阻止所有键盘访问、鼠标访问和键盘快捷键事件,我:
return;
使用简单的窗口本身处理所有键盘和鼠标事件。window
模式[NSApp runModalForWindow:myWindow]
以阻止键盘快捷键。window
仅从触摸板的手势事件中释放。但是这个家伙在一个小应用程序中让它看起来很简单 - MACIFIER:
他是怎么做到的呢?
我相信你可以使用Quartz Event Services。特别是,看看CGEventTapCreate,并注意第 4 个参数,它允许您指定要拦截的事件类型。可用的事件类型在CGEventType枚举中列出。
如果您将点击设置为活动过滤器,NULL
则从回调返回将删除该事件。
不确定这是否可用,但您可以使用程序 hotkeynet(通常用于游戏,但我已经使用其他方法取得了成功)并映射每个键/鼠标操作以不执行任何操作。我通过在大约 20 到 30 分钟内阻止对特定程序的访问来做了类似的事情。
不确定是否有帮助;但这可能是您需要的解决方案?