我正在创建一个模拟 MacBook 的多点触控触控板的应用程序。如您所知,在 MacBook 的触控板上
- 如果您向上滑动 4 根手指,它会触发显示桌面。
- 如果您向下滑动 4 个手指,它会显示 Exposé。
但是,如果正在激活显示桌面并且您向下滑动 4 根手指,它将返回到正常模式。Exposé 也是如此:如果 Exposé 被激活并且您向上滑动 4 个手指,它也会返回到正常模式。
这是问题所在:我使用键盘快捷键 F3 显示 Exposé 和 F11 显示显示桌面。问题是,当 Show Desktop 被激活时,如果我按 F3,它将直接进入 Exposé。当 Exposé 被激活时,如果我按 F11 它将直接进入 Show Desktop。但我希望它表现得像触控板,我猜它的代码可能看起来像这样
- FourFingersDidSwipeUp {
if (isExposeBeingActivated() || isShowDesktopBeingActivated()) {
pressKey("Esc");
} else {
pressKey("F11");
}
}
但我不知道如何实现“isExposeBeingActivated()”和“isShowDesktopBeingActivated()”方法。我试过创建一个窗口并检查它的大小是否发生了变化(假设如果 Expose 被激活,它的大小应该更小),但系统总是返回相同的大小。我尝试在 Expose 期间监控后台进程,但什么也没发生。有人知道对此有什么建议吗?
(如果我的英语听起来很奇怪,我很抱歉。)