﻿ぽくミラー（iPhone の画面を PC に映して、PC のマウスで操作するツール）  v1.1
====================================================================

iPhone の画面を PC に映し（画面ミラーリング）、その画面を PC のマウスで操作できるようにする
Windows 用ツールです。PC のマウスの動きを、USB でつないだ「ESP32 ボード」が Bluetooth マウスとして
iPhone に伝えます。iPhone 側にアプリを入れる必要はありません。
ESP32 ボードがなくても、画面ミラーリング（iPhone の画面を PC に映すだけ）のアプリとして使えます。


■ 必要なもの
- Windows 10 / 11（64bit）の PC
- iPhone（iOS 13 以降）
- PC と iPhone が同じ Wi-Fi（同じルーター）につながっていること
- （マウスで操作する場合のみ）ESP32 ボード 1 枚（1,500 円前後）
    例: ESP32-DevKitC（ESP32-WROOM-32 搭載）、Freenove ESP32 など
    ※「ESP32-S2」は Bluetooth がないため使えません
- （マウスで操作する場合のみ）ボードと PC をつなぐ USB ケーブル（データ通信対応のもの。充電専用は不可）


■ はじめかた

1. このフォルダを PC の好きな場所にコピーする（例: C:\PokuMirror）
2. （マウスで操作する場合）ESP32 ボードを USB で PC につなぐ
3. 「PokuMirror.exe」をダブルクリック
   初回はセットアップ画面が開きます。最初に「マウスで操作する」か「ミラーリングだけ使う」かを選び、
   画面の案内どおりに進めてください（ミラーリングだけの場合、ESP32 の手順は飛ばされます）。
     ① ESP32 ボードをつなぐ（必要ならドライバを入れる）
     ② ESP32 にマウス用プログラムを書き込む（ボタン 1 つ）
     ③ iPhone の設定（AssistiveTouch をオン、Bluetooth で「ESP32 Mouse」とペアリング）
     ④ Windows の設定（プライベート ネットワーク、ファイアウォールの許可）
   ※ Windows の「PC を保護しました」という画面が出たら、「詳細情報」→「実行」を押してください。

アプリは黒い画面を出さず、タスクバー右下（通知領域）のアイコンとして動きます。
アイコンを右クリックすると、状態の確認・セットアップ・マウス操作のオン／オフ・マウスの速さの変更・終了ができます。
（アイコンが見えないときは、タスクバー右下の「^」を押すと出てきます）


■ 使い方

1. 「PokuMirror.exe」を起動する（起動済みなら不要）
2. iPhone のコントロールセンター →「画面ミラーリング」→「UxPlay-（PC 名）」を選ぶ
3. PC に映った iPhone の画面を「左クリック」すると、操作開始です
   - PC のマウスを動かす　→ iPhone のポインタ（グレーの丸）が動く
   - 左クリック　　　　　 → タップ
   - 左ボタンを押したまま動かす → スワイプ
   - ホイール　　　　　　 → スクロール
   - Shift を押しながら動かす → ゆっくり動く（小さなボタンに合わせるとき）
   - 右クリック　　　　　 → 操作終了（PC のマウスに戻る）
   - 中クリック（ホイール押し）→ ポインタの動く向きを 90 度回す（向きがずれたとき）
4. 終わるときは、タスクバー右下のアイコンを右クリック →「終了」

ミラーリング中にマウス（ESP32）が iPhone とつながっていないときは、通知でお知らせします。


■ 知っておいてほしいこと
- 画面の縦／横が切り替わると、自動で ESP32 をつなぎ直してポインタを画面中央に戻します（約 2 秒）。
- 横画面のアプリ（ゲームなど）を使うときは、iPhone 本体も横向きにしてください。
  iPhone はポインタの向きを本体の向きで決めるため、本体が縦のままだと動く向きがずれます。
  （どうしても縦のまま使う場合は、中クリックで向きを合わせると、その向きを覚えます）
- 画面ミラーリングの映像は iPhone 側の仕様で最大 60 コマ / 秒、少し遅れて表示されます。


■ うまくいかないとき
- 「ESP32 ボードが見つかりません」と出る
    → USB ケーブル（データ通信対応か）とドライバを確認してください（セットアップの「ESP32 ボードをつなぐ」）
- iPhone の画面ミラーリングに「UxPlay-…」が出ない
    → 同じ Wi-Fi か、セットアップの「Windows の設定」、セキュリティソフトのブロックを確認してください
    （ゲスト Wi-Fi や「AP アイソレーション」が有効な Wi-Fi では使えません）
- ポインタが出ない
    → AssistiveTouch がオンか、Bluetooth で「ESP32 Mouse」が接続済みか確認してください
- ESP32 に書き込み直したら、つながらなくなった
    → 書き込むとペアリング情報も消えます。iPhone の Bluetooth 設定で「ESP32 Mouse」の ⓘ →
      「このデバイスの登録を解除」をしてから、もう一度ペアリングしてください
- ポインタの動く向きがおかしい
    → iPhone 本体の向きを画面に合わせるか、操作中に中クリックで合わせてください
- それでも分からないとき
    → アイコンの右クリック →「記録 (ログ) を開く」で、動作の記録を確認できます


■ フォルダの中身
- PokuMirror.exe ………… アプリ本体
- UxPlay-Portable\ ……… 画面ミラーリング受信ソフト（UxPlay。アプリが裏で起動します）
- ESP32-firmware\ ……… ESP32 への書き込み用（セットアップから使います。flash-esp32.bat でも書き込めます）
- source\ …………………… このツールのソースコード（ESP32 用プログラム、アプリ）
- LICENSE.txt ……………… ライセンス（GNU GPL v3）
設定と記録は %LOCALAPPDATA%\PokuMirror に保存されます。


■ ライセンス
このツールは GNU General Public License v3（GPLv3）で配布します（LICENSE.txt）。
ソースコードは source フォルダに同梱しています。

同梱・使用している他のソフトウェア:
- UxPlay（GPLv3） https://github.com/FDH2/UxPlay
    使用したコミットは UxPlay-Portable\SOURCE-COMMIT.txt、ライセンスは UxPlay-Portable\LICENSE-UxPlay.txt
    同梱の GStreamer / FFmpeg などのライブラリは MSYS2 のパッケージ（https://packages.msys2.org/）由来で、
    それぞれのライセンスに従います。
- esptool（GPLv2） https://github.com/espressif/esptool （ESP32-firmware\LICENSE-esptool.txt）
- NimBLE-Arduino（Apache License 2.0） https://github.com/h2zero/NimBLE-Arduino
- Arduino core for ESP32（LGPL 2.1） / ESP-IDF（Apache License 2.0） https://github.com/espressif/arduino-esp32
- .NET ランタイム（MIT License） https://github.com/dotnet/runtime


■ 免責
このツールは無保証です。使用によって生じたいかなる損害についても、作者は責任を負いません。
iPhone、AirPlay は Apple Inc. の商標です。
