Добавил режим чёрного списка приложений в Mos и отправил PR

В Mos есть только режим белого списка, режима чёрного списка нет. В таких программах, как Parallels Desktop, виртуальные машины или удалённый рабочий стол, я обычно хочу, чтобы прокрутка и нажатия клавиш напрямую обрабатывались целевой средой, и не хочу, чтобы вмешивались сглаживание, инверсия или переназначение кнопок Mos; но при наличии только белого списка приходится наоборот поддерживать перечень всех приложений, где Mos должен работать, — это слишком дорого по затратам.

В этот раз я локально добавил в Mos режим списка приложений:

  • Normal: сохраняет исходную логику — приложения из списка используют отдельные настройки, не перечисленные используют глобальные.
  • Allowlist: сохраняет исходный режим белого списка — работает только для приложений из списка.
  • Blacklist: приложения из списка полностью пропускаются — не проходят обработку прокрутки, кнопок и горячих клавиш прокрутки HID++ в Mos; приложения вне списка продолжают использовать глобальные настройки.

Я уже собрал Mos официальным Xcode и заменил им экземпляр, который запускается на моей машине; сейчас у меня запущена эта версия из ~/Downloads/Mos.app. Также завёл issue и PR в апстрим:

Проверил связанные тесты, Debug/Release сборки, парсинг Swift, Storyboard/XML и xcstrings JSON. Поскольку на моей машине нет сертификата апстрим-команды разработчиков, для тестов и локально заменённого пакета используется ad-hoc подпись; подпись для релиза не трогал.