В Mos есть только режим белого списка, режима чёрного списка нет. В таких программах, как Parallels Desktop, виртуальные машины или удалённый рабочий стол, я обычно хочу, чтобы прокрутка и нажатия клавиш напрямую обрабатывались целевой средой, и не хочу, чтобы вмешивались сглаживание, инверсия или переназначение кнопок Mos; но при наличии только белого списка приходится наоборот поддерживать перечень всех приложений, где Mos должен работать, — это слишком дорого по затратам.
В этот раз я локально добавил в Mos режим списка приложений:
- Normal: сохраняет исходную логику — приложения из списка используют отдельные настройки, не перечисленные используют глобальные.
- Allowlist: сохраняет исходный режим белого списка — работает только для приложений из списка.
- Blacklist: приложения из списка полностью пропускаются — не проходят обработку прокрутки, кнопок и горячих клавиш прокрутки HID++ в Mos; приложения вне списка продолжают использовать глобальные настройки.
Я уже собрал Mos официальным Xcode и заменил им экземпляр, который запускается на моей машине; сейчас у меня запущена эта версия из ~/Downloads/Mos.app. Также завёл issue и PR в апстрим:
- Issue: Add blacklist mode for the application list · Issue #937 · Caldis/Mos · GitHub
- PR: Add application blacklist mode by constansino · Pull Request #938 · Caldis/Mos · GitHub
Проверил связанные тесты, Debug/Release сборки, парсинг Swift, Storyboard/XML и xcstrings JSON. Поскольку на моей машине нет сертификата апстрим-команды разработчиков, для тестов и локально заменённого пакета используется ad-hoc подпись; подпись для релиза не трогал.