我正在创建一个模拟 MacBook 多点触控触控板的应用程序。如您所知,在 MacBook 的触控板上
- 如果向上滑动 4 个手指,则会触发“显示桌面”。
- 如果向下滑动 4 个手指,则会显示 Exposé。
但是,如果正在激活“显示桌面”并且向下滑动 4 个手指,它将返回到正常模式。 Exposé 也是如此:如果 Exposé 正在激活,并且您向上滑动 4 个手指,它也会返回到正常模式。
问题是:我使用键盘快捷键 F3 显示 Exposé,使用 F11 显示“显示桌面”。问题是,当 Show Desktop 被激活时,如果我按 F3,它将直接进入 Exposé。当 Exposé 被激活时,如果我按 F11,它将直接进入显示桌面。但我希望它的行为像触控板,我猜它的代码可能如下所示
- FourFingersDidSwipeUp {
if (isExposeBeingActivated() || isShowDesktopBeingActivated()) {
pressKey("Esc");
} else {
pressKey("F11");
}
}
但我不知道如何实现“isExposeBeingActivated()”和“isShowDesktopBeingActivated()”方法。我尝试创建一个窗口并检查其大小是否已更改(假设如果Expose被激活,其大小应该更小),但系统总是返回相同的大小。我尝试在 Expose 期间监视后台进程,但没有任何反应。有谁对此有什么建议吗?
(如果我的英语听起来很奇怪,我很抱歉。)
最佳答案
据我所知,除了指定您自己的应用程序窗口的“收集行为”的能力之外,没有任何与 Exposé 相关的功能的公共(public)接口(interface)。
关于objective-c - 如何检查 Exposé 是否已激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626807/