Mos にアプリのブラックリストモードを追加して PR を提出した

Mos は許可リスト(ホワイトリスト)モードしかなく、拒否リスト(ブラックリスト)モードがありません。Parallels Desktop、仮想マシン、リモートデスクトップ系のソフトでは、スクロールやキー入力はそのままターゲット環境に渡って処理されてほしく、Mos のスムージング・反転・ボタンマッピングに介入してほしくないことが多いのですが、許可リストだけだと、逆に「有効にしてよい」アプリを全部メンテする必要があり、コストが高すぎます。

今回ローカルで Mos にアプリ一覧のモードを追加しました:

  • Normal:従来のロジックのまま。リスト内の app は個別設定、未掲載はグローバル設定。
  • Allowlist:従来の許可リスト(ホワイトリスト)モードを維持。リスト内の app のみに適用。
  • Blacklist:リスト内の app は完全に素通しし、Mos のスクロール・ボタン・HID++ スクロールホットキー処理を通さない。未掲載の app は引き続きグローバル設定。

公式の Xcode でビルドして、手元で動いている Mos を差し替え済みです。現在このマシンでは ~/Downloads/Mos.app がこの版で動作しています。上流にも issue と PR を出しました:

関連テスト、Debug/Release ビルド、Swift のパース、Storyboard/XML、xcstrings の JSON を確認済みです。手元には上流の開発チーム証明書がないため、テストとローカル差し替え用のパッケージは ad-hoc 署名を使っています。リリース用の署名は触っていません。