Skip to content

SofaPad 4.3.0

Choose a tag to compare

@rick-ray-wldd rick-ray-wldd released this 30 Oct 10:39
· 10 commits to main since this release

SofaPad 4.3.0

Use your iPhone as the Mac's keyboard and trackpad — from the sofa, or with Vision Pro and Mac Virtual Display. The
phone opens a page served by a small menu-bar app on the Mac; nothing goes through a cloud.

What's new

  • Portrait: the text box takes half the width, and the other half has the cursor pad "◀ 游標 ▶" with ⏎ (Enter)
    right next to it. Type, move the Mac's text cursor, press Enter, without leaving that row.
  • Edit what's next to the text box and on the key row ("✎ 編輯"): three tabs for the text row, the key row and
    the landscape panel; drag ≡ to reorder, ✕ to remove, tap the list to add. "⇧ 選取" is an ordinary key now. A key
    row you customized in 4.2 is kept.
  • Landscape: trackpad and side panel. The panel has the text box, the cursor pad, ⏎ and a grid of keys and
    shortcuts; the trackpad keeps the full height, also while typing. "‹" gives you 4.2's full-screen trackpad back.
  • Demo page (playground.html in the zip, demo/playground.html in the source) and a recording script
    (DEMO-SCRIPT.md and DEMO-SCRIPT.zh-TW.md, also in the zip): show every feature, each stage ticks itself.
    Open playground.html in a browser on the Mac; it works offline and collects nothing. English by default
    (?lang=zh for Chinese), with an English sentence to swipe in stage 2. playground-video.html (or ?video=1)
    is a shorter version for recording a video.

Defaults in 4.3

Settled after trying 4.3.0 on a real iPhone:

  • The key row has no ⏎ of its own: ⏎ is next to the cursor pad. Add one to the key row in "✎ 編輯" if you want it.
  • Portrait, live mode: the text box stays one line while you type (longer text scrolls inside it), so the trackpad
    keeps at least 290 px above the keyboard. Batch mode ("整段") still gets two lines for editing.
  • Landscape: the side panel is on the left and the trackpad on the right, for the right hand. Left-handed mode
    (⚙︎) puts the panel on the right.

Still in 4.3: the box empties after each piece and the cursor pad (4.2), the refusal page for phones outside the local
network and the "allow Tailscale devices" switch (4.1).

Download and install

SofaPad-4.3.0-macOS.zip — macOS 13 or later, Apple silicon (arm64) only. On an Intel Mac, build it yourself.
Check it with shasum -a 256 -c SofaPad-4.3.0-macOS.zip.sha256.

Not signed with an Apple Developer ID and not notarized (ad-hoc signature only): macOS blocks it the first time.
Open it with System Settings > Privacy & Security > Open Anyway. Full steps, in English and Chinese:
docs/INSTALL.md. Or build it yourself (./tools/build-app.sh, README step 1A): a self-built app is
not blocked.

Then grant Accessibility to SofaPad (System Settings > Privacy & Security > Accessibility) and scan the QR code
from the menu bar with the iPhone. After updating, reload the page on the phone (close and reopen the Home Screen app).

Known limits

  • Plain http on the local network, no encryption: use it at home or on a network you trust.
  • The automated tests run in a simulated phone page (headless Chrome, iPhone sizes and keyboard heights) against the
    Mac app in dry-run mode; 4.3.0 was also tried on a real iPhone and Mac before this package.

SofaPad 4.3.0(繁體中文)

把 iPhone 當成 Mac 的鍵盤和觸控板:在沙發上用,或戴 Vision Pro 用 Mac 虛擬顯示器時用。手機打開 Mac 選單列小程式提供的網頁,不經過任何雲端。

這一版

  • 直拿:輸入框變成一半寬,另一半是游標板「◀ 游標 ▶」,⏎(Enter)就在它右邊。打字、移動 Mac 的文字游標、按 Enter,都在同一列。
  • 輸入框旁邊和按鍵列都可以自己排(「✎ 編輯」):輸入列、按鍵列、橫拿側欄三個分頁;按住 ≡ 拖曳排序、✕ 拿掉、點清單加入。「⇧ 選取」現在是一般按鍵。4.2 改過的按鍵列會保留。
  • 橫拿:觸控板+側欄。側欄有輸入框、游標板、⏎,和一格一格的按鍵、快捷鍵;觸控板高度用滿,打字時也是。按「‹」就回到 4.2 的全螢幕觸控板。
  • 示範練習網頁(zip 裡的 playground.html,原始碼的 demo/playground.html)和錄影腳本(DEMO-SCRIPT.zh-TW.md、DEMO-SCRIPT.md,zip 裡也有):每個功能一關,做到會自動打勾。在 Mac 上用瀏覽器打開 playground.html 就好,不用連網,也不收任何資料。預設英文,網址加 ?lang=zh 換中文;英文版第 2 關的即時模式可以試滑動輸入。playground-video.html(或網址加 ?video=1)是錄影用的精簡版。

4.3 的預設

在真的 iPhone 上試過 4.3.0 之後定案:

  • 按鍵列沒有自己的 ⏎:⏎ 在游標板右邊。想在按鍵列也放一個,到「✎ 編輯」加。
  • 直拿、即時模式:打字時輸入框只有一行(字多了在框裡捲動),鍵盤上面的觸控板才保持 290 px 以上。「整段」模式還是兩行,方便改字。
  • 橫拿:側欄在左邊、觸控板在右邊,給右手用。「左手模式」(⚙︎)會把側欄放到右邊。

4.2 的「送出後清空輸入框」和游標板、4.1 的「不在區網的說明頁」和「允許 Tailscale 裝置」都還在。

下載和安裝

SofaPad-4.3.0-macOS.zip:macOS 13 以上,只支援 Apple 晶片(arm64);Intel Mac 請自己 build。可以用 shasum -a 256 -c SofaPad-4.3.0-macOS.zip.sha256 核對。

沒有 Apple Developer ID 簽章,也沒有公證(只有臨時簽章 ad-hoc):第一次打開會被 macOS 擋下,到「系統設定 → 隱私權與安全性」按「強制打開」。完整步驟(中英):docs/INSTALL.md。也可以自己 build(./tools/build-app.sh,README 第 1 步 A),自己 build 的不會被擋。

接著在「系統設定 → 隱私權與安全性 → 輔助使用」打開 SofaPad,再用 iPhone 掃選單列的 QR code。更新後,手機的頁面要重新整理(主畫面 App 關掉重開)。

已知限制

  • 區網內是一般的 http,沒有加密:請在家裡或信任的網路使用。
  • 自動測試是在模擬的手機頁面(headless Chrome,iPhone 尺寸和鍵盤高度)對 dry-run 的 Mac App 跑的;4.3.0 打包前也在真的 iPhone 和 Mac 上試過。