Turn the iPad in your hands into a virtual trackpad for apps running on a Stage Manager external display—no physical mouse required.
Stagepad 由兩個元件組成:
StagepadTrollStore IPA:把 iPad 本機畫面變成虛擬 HID 觸控板,用來移動、點擊、拖曳、捲動及操作外接螢幕上的視窗。Stagepadrootless Sileo 套件:提供虛擬 HID helper daemon,並附帶可選的軟體鍵盤 tweak。鍵盤相關功能預設全部關閉。
- 單指滑動:移動游標
- 單指輕點:左鍵
- 單指長按後移動:按住左鍵拖曳
- 雙指滑動:垂直/水平捲動
- 雙指輕點:右鍵
- 下方左鍵、右鍵按鈕:明確點擊
- 測試鍵盤:在虛擬滑鼠仍連線時開啟文字欄,檢查軟體鍵盤 tweak
模式切換:
- 一般:移動、點擊、長按拖曳與雙指捲動。
- 立即拖曳:把游標放在三點稍下方的可拖動標題列;touch-down 約 120 ms 後震動並保持滑鼠左鍵按下,移動時拖曳,touch-up 才放開。最上方靠近三點的是視窗控制區,不是拖曳把手。
- 三點選單:先把游標移到三點,按住觸控板會點開選單;保持同一指滑到選項,放開時完成第二次點擊。這可避開 iPadOS 在下一次真實 touch-down 時先關閉選單的行為。
要調整 Stage Manager 視窗時,先讓游標移到外接螢幕,再拖曳標題列或視窗邊緣。最大化仍由 Stage Manager 的視窗控制項處理,本專案只提供完整的指標輸入。
- 從 Releases 下載 Stagepad deb 與 IPA。
- 用 Sileo 安裝 deb,然後重新啟動使用者空間,讓 helper daemon 載入。
- 用 TrollStore 安裝
Stagepad-0.1.0.ipa。 - 開啟 Stagepad;狀態顯示「虛擬滑鼠已連接」後即可操作。
需要 iPadOS 17.0、Dopamine 相容的 rootless jailbreak、ElleKit 與 TrollStore。helper daemon 只在 Stagepad 連線期間建立虛擬滑鼠;app 終止時會先放開按鍵並移除裝置。Unix socket 位於 /var/mobile/Library/KeepMyKeyboard/keepmykeyboardd.sock,權限為 0600,不開放網路連線。
Stagepad 附帶的 tweak 可以在指標裝置存在或 Stage Manager 外接螢幕文字欄取得焦點時保留軟體鍵盤。這三個選項首次安裝時全部為關閉,觸控板功能不依賴它們;只有需要時才從 app 內開啟。
需要 Theos、iOS SDK、ldid、zip 與 unzip。
make clean package FINALPACKAGE=1 THEOS=/path/to/theos
./scripts/build_ipa.sh release輸出:
packages/tw.andyching.keepmykeyboard_0.1.0_iphoneos-arm64.debrelease/Stagepad-0.1.0.ipa
已在 iPadOS 17.0、Dopamine rootless 實機驗證 IOHIDUserDevice 建立、相對位移、點擊、daemon 故障後自動重連、Stage Manager 三點選單,以及外接螢幕上的視窗拖曳。鍵盤 hook 依 21A329 UIKitCore 靜態分析實作;不同 iPadOS build 尚未宣告相容。
MIT