【问题标题】:Intercept keyboard input in OSX在 OSX 中拦截键盘输入
【发布时间】:2010-09-27 17:26:40
【问题描述】:

我正在尝试编写一个应用程序,以防止某些关键信号传播到 OSX 中的操作系统之外。为了澄清,我想让用户觉得他们在键盘上按下的键坏了。因此,相关的字母不会出现在文本区域中,密钥不会激活另一个应用程序中的功能等。有什么想法吗?提前致谢。

【问题讨论】:

  • 你有什么合法用途?
  • @mikerobi:使用是否合法无关紧要。我们不是黑客警察。更好的问题是“你到底想做什么?”因为“让我们阻止用户输入‘x’”和“让我们阻止用户使用 Cmd-Tab 切换应用程序”之间存在技术差异。
  • @mikerobi:这是一个公平的问题,我感谢您关注应用程序的道德规范。由于保密协议,我无法分享具体细节。但是,我认为您会很高兴知道用户将选择启动此应用程序并完全了解会发生什么。所以,我不认为道德是有问题的。如果您想进一步讨论,请随时 PM 我。
  • @Joshua Nozzi,我只是出于好奇而问,因为老实说我想不出有什么用。
  • @mikerobi BetterTouchTool 开发人员提供了一个具有类似功能的软件,可用于在不激活随机事物的情况下清洁键盘。

标签: cocoa macos


【解决方案1】:

您可能想查看Quartz Event Taps。请注意,您的进程需要以“root”权限运行才能在系统级别拦截事件。

另见OSX Quartz Event Taps: event types and how to edit events

【讨论】:

  • 谢谢大卫。这看起来很完美。
猜你喜欢
  • 2016-12-23
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 2014-05-26
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
相关资源
最近更新 更多