阻止所有键盘访问,鼠标访问和键盘快捷键事件

时间:2012-07-04 22:53:34

标签: cocoa events keyboard keyboard-shortcuts

为了阻止我的一个项目中的所有键盘访问,鼠标访问和键盘快捷键事件,我:

  1. 在其他窗口前面创建了一个全屏透明的无边框窗口,但是看不见。
  2. 使用简单的return;窗口本身处理所有键盘和鼠标事件。
  3. 制作window模态[NSApp runModalForWindow:myWindow]以阻止键盘快捷键。
  4. 仅从触摸板的手势事件中释放window
  5. 但是这个人在一个小应用程序中看起来很简单 - MACIFIER

    他是怎么做到的?

2 个答案:

答案 0 :(得分:0)

我相信你可以使用Quartz Event Services。特别是,请查看CGEventTapCreate,并注意第4个参数,它允许您指定要拦截的事件类型。可用的事件类型列在CGEventType枚举。

如果您将点击设置为有效过滤器,则从回调中返回NULL将删除该事件。

答案 1 :(得分:0)

不确定这是否可用,但你可以使用程序hotkeynet(通常用于游戏,但我已经成功使用其他方法)并映射每一个键/鼠标操作什么也不做。我通过在大约20-30分钟内阻止访问特定程序来做类似的事情。

不确定它是否会有所帮助;但它可能是你需要的解决方案吗?