Я создаю приложение, эмулирующее сенсорный трекпад MacBook. Как вы знаете, на трекпаде MacBook
- Если вы проведете 4 пальца вверх, это вызовет показ рабочего стола.
- если вы проведете 4 пальца вниз, это покажет Exposé.
Однако, если активирована функция «Показать рабочий стол» и вы проводите четырьмя пальцами вниз, он вернется в обычный режим. То же самое касается Exposé: если Exposé активируется и вы проводите 4 пальцами вверх, он также вернется в обычный режим.
Вот проблема: я использую сочетание клавиш F3 для отображения Exposé и F11 для отображения Show Desktop. Проблема в том, что когда активирован Show Desktop, если я нажму F3, он перейдет прямо к Exposé. И когда Exposé активируется, если я нажму F11, он перейдет прямо к Show Desktop. Но я хочу, чтобы он вел себя как трекпад, и я думаю, что его код может выглядеть следующим образом
- FourFingersDidSwipeUp {
if (isExposeBeingActivated() || isShowDesktopBeingActivated()) {
pressKey("Esc");
} else {
pressKey("F11");
}
}
Но я не знаю, как реализовать методы "isExposeBeingActivation ()" и "isShowDesktopBeingActivation ()". Я попытался создать окно и проверить, изменился ли его размер (при условии, что если активируется Expose, его размер должен быть меньше), но система всегда возвращает один и тот же размер. Я пытался отслеживать фоновые процессы во время Expose, но ничего не произошло. Кто-нибудь знает какие-либо предложения по этому поводу?
(извините, если мой английский звучит странно.)