Skip to content

Repository files navigation

Stagepad

Turn the iPad in your hands into a virtual trackpad for apps running on a Stage Manager external display—no physical mouse required.

Stagepad 由兩個元件組成:

  • Stagepad TrollStore IPA:把 iPad 本機畫面變成虛擬 HID 觸控板,用來移動、點擊、拖曳、捲動及操作外接螢幕上的視窗。
  • Stagepad rootless Sileo 套件:提供虛擬 HID helper daemon,並附帶可選的軟體鍵盤 tweak。鍵盤相關功能預設全部關閉。

操作

  • 單指滑動:移動游標
  • 單指輕點:左鍵
  • 單指長按後移動:按住左鍵拖曳
  • 雙指滑動:垂直/水平捲動
  • 雙指輕點:右鍵
  • 下方左鍵、右鍵按鈕:明確點擊
  • 測試鍵盤:在虛擬滑鼠仍連線時開啟文字欄,檢查軟體鍵盤 tweak

模式切換:

  • 一般:移動、點擊、長按拖曳與雙指捲動。
  • 立即拖曳:把游標放在三點稍下方的可拖動標題列;touch-down 約 120 ms 後震動並保持滑鼠左鍵按下,移動時拖曳,touch-up 才放開。最上方靠近三點的是視窗控制區,不是拖曳把手。
  • 三點選單:先把游標移到三點,按住觸控板會點開選單;保持同一指滑到選項,放開時完成第二次點擊。這可避開 iPadOS 在下一次真實 touch-down 時先關閉選單的行為。

要調整 Stage Manager 視窗時,先讓游標移到外接螢幕,再拖曳標題列或視窗邊緣。最大化仍由 Stage Manager 的視窗控制項處理,本專案只提供完整的指標輸入。

安裝

  1. Releases 下載 Stagepad deb 與 IPA。
  2. 用 Sileo 安裝 deb,然後重新啟動使用者空間,讓 helper daemon 載入。
  3. 用 TrollStore 安裝 Stagepad-0.1.0.ipa
  4. 開啟 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、ldidzipunzip

make clean package FINALPACKAGE=1 THEOS=/path/to/theos
./scripts/build_ipa.sh release

輸出:

  • packages/tw.andyching.keepmykeyboard_0.1.0_iphoneos-arm64.deb
  • release/Stagepad-0.1.0.ipa

目前驗證範圍

已在 iPadOS 17.0、Dopamine rootless 實機驗證 IOHIDUserDevice 建立、相對位移、點擊、daemon 故障後自動重連、Stage Manager 三點選單,以及外接螢幕上的視窗拖曳。鍵盤 hook 依 21A329 UIKitCore 靜態分析實作;不同 iPadOS build 尚未宣告相容。

License

MIT

About

Use your iPad as a virtual trackpad for Stage Manager external displays.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages