Repository navigation
Releases
SofaPad 4.5.1
SofaPad 4.5.1
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
- Signed with an Apple Developer ID and notarized by Apple. This is the first SofaPad with a Developer ID
signature that Apple's notary service has checked. A downloaded copy opens with a double-click: macOS asks once
whether to open an app from the internet, and you click Open. No more System Settings > Privacy & Security >
Open Anyway. - The Accessibility permission: once more, then it stays. macOS now knows SofaPad by its developer instead of by
the code of each version. After this update, give the permission one last time (see below); later updates keep it.
Nothing else changed: SofaPad works as in 4.5.0, and it updates itself the same way, with the same EdDSA key.
Download and install
SofaPad-4.5.1-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.5.1-macOS.zip.sha256.
New install: unzip it, drag SofaPad.app into Applications and double-click it. macOS asks whether you want to
open an app downloaded from the internet: click Open. Then turn on the Accessibility permission. Full steps, in
English and Chinese: docs/INSTALL.md.
From 4.5.0: SofaPad offers 4.5.1 by itself (or ⌨︎🖱 → 檢查更新…, Check for Updates): Install Update, then
Install and Relaunch. Then give the Accessibility permission one last time: System Settings > Privacy & Security >
Accessibility, select SofaPad, click −, then click + and add /Applications/SofaPad.app. The phone says when
the permission is missing.
From 4.4 or earlier: quit SofaPad, put this one in its place in Applications, open it, and give it the
Accessibility permission again the same way.
Known limits
- An app you build yourself (
./tools/build-app.sh) is still signed ad-hoc for your Mac: it isn't blocked, but it
needs the Accessibility permission again after each rebuild. Only the release zip has the Developer ID signature. - 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) against the Mac app in dry-run
mode. The app and the phone page are the same as in 4.5.0; only the signature is new.
SofaPad 4.5.1(繁體中文)
把 iPhone 當成 Mac 的鍵盤和觸控板:在沙發上用,或戴 Vision Pro 用 Mac 虛擬顯示器時用。手機打開 Mac 選單列小程式提供的網頁,不經過任何雲端。
這一版
- 第一次用 Apple Developer ID 簽章,並經過 Apple 公證。 下載後雙擊就能打開:macOS 只會問一次要不要打開從網路下載的 App,按「打開」就好。不用再到「系統設定 → 隱私權與安全性」按「強制打開」。
- 「輔助使用」權限:最後再開一次,之後就不會再跑掉。 macOS 現在是用開發者認 SofaPad,不再用每個版本的程式碼。這次更新後要再開一次權限(做法在下面),之後的更新都會保留。
其他都沒有變:用起來和 4.5.0 一樣,自己更新的方式和 EdDSA 金鑰也一樣。
下載和安裝
SofaPad-4.5.1-macOS.zip:macOS 13 以上,只支援 Apple 晶片(arm64);Intel Mac 請自己 build。可以用 shasum -a 256 -c SofaPad-4.5.1-macOS.zip.sha256 核對。
第一次安裝:解壓縮,把 SofaPad.app 拖到「應用程式」,再雙擊打開。macOS 問要不要打開從網路下載的 App 時,按「打開」。接著打開「輔助使用」權限。完整步驟(中英):docs/INSTALL.md。
從 4.5.0 更新:SofaPad 會自己提示 4.5.1(或點 ⌨︎🖱 →「檢查更新…」),按「安裝更新項目」,再按「安裝並重新啟動」。之後最後一次重新開「輔助使用」權限:系統設定 → 隱私權與安全性 → 輔助使用,選 SofaPad 按「-」移除,再按「+」加入 /應用程式/SofaPad.app。權限沒開時,手機會告訴你。
從 4.4 或更早的版本:結束 SofaPad,把這一版放到「應用程式」取代舊的,打開它,再用同樣的方法開「輔助使用」權限。
已知限制
- 自己 build 的 App(
./tools/build-app.sh)還是只有這台 Mac 的臨時簽章(ad-hoc):不會被擋,但每次重新 build 後,「輔助使用」權限都要再開一次。只有發布的 zip 有 Developer ID 簽章。 - 區網內是一般的 http,沒有加密:請在家裡或信任的網路使用。
- 自動測試是在模擬的手機頁面(headless Chrome,iPhone 尺寸)對 dry-run 的 Mac App 跑的。App 和手機網頁都和 4.5.0 一樣,只有簽章是新的。
SofaPad 4.5.0
SofaPad 4.5.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
- SofaPad updates itself. It checks when it opens and once a day; ⌨︎🖱 → 檢查更新… (Check for Updates) checks
now. A window shows what's new. Install Update downloads the new version and checks its signature,
Install and Relaunch puts it in place and opens it again. Nothing is installed until you click. While a phone is
connected, a new version waits in the menu (⬆︎ 安裝新版本 …) instead of opening a window, so the window can't catch
what you type. Updates come from this project's GitHub releases and are signed with SofaPad's EdDSA key; the app
refuses anything that doesn't match. 4.5.0 is the first version that can do this, so from 4.4 you install it by
hand one last time. - The phone page follows the Mac. When the Mac app changes version, an open page, also the Home Screen app,
reloads itself to the new one and says so. A Batch draft stays in the box. The page's files are no longer kept in
the phone's cache. - Protocol versions. The Mac and the phone now say which version of their protocol they speak. The Mac accepts
the current one and the one before it, so a 4.4 page still works. When they don't fit, the phone says which side
needs updating instead of failing silently. The protocol is written down in
docs/PROTOCOL.md, for an iPhone app later. - One dependency: Sparkle 2.10.0 (MIT), the update framework many Mac apps use. Its licence is in the zip
(Sparkle-LICENSE.txt) and in the app.
Nothing else changed: typing, the trackpad, the rows, the languages and themes work as in 4.4.0.
Download and install
SofaPad-4.5.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.5.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, and it updates itself too.
Coming from 4.4 or earlier: quit SofaPad, put this one in its place in Applications, open it, and give it the
Accessibility permission again (remove the old SofaPad from the list, add this one). Then scan the QR code from the
menu bar with the iPhone, or just reload the page. From now on SofaPad updates itself.
Known limits
- Not signed with an Apple Developer ID yet: macOS blocks the first launch of a downloaded copy, and after an update
the Accessibility permission may have to be given again (remove SofaPad from the list in System Settings and add it
again). A Developer ID signature, planned, fixes both. - Plain http on the local network, no encryption: use it at home or on a network you trust.
- The update was tested end to end on this Mac with test builds (4.5.0 updating itself to a test 4.5.1 from a local
feed, both ad-hoc signed). The GitHub feed is used for real by the next release. - The automated tests run in a simulated phone page (headless Chrome, iPhone sizes) against the Mac app in dry-run
mode. 4.5.0 has not been tried on a real iPhone before this package.
SofaPad 4.5.0(繁體中文)
把 iPhone 當成 Mac 的鍵盤和觸控板:在沙發上用,或戴 Vision Pro 用 Mac 虛擬顯示器時用。手機打開 Mac 選單列小程式提供的網頁,不經過任何雲端。
這一版
- SofaPad 會自己更新。打開時和每天檢查一次;⌨︎🖱 →「檢查更新…」可以馬上檢查。視窗會顯示新版的說明,按「安裝更新項目」(Install Update)下載新版並檢查簽章,再按「安裝並重新啟動」(Install and Relaunch)換上新版並重新打開。沒有按就不會安裝。手機連線中時,新版會放在選單裡(「⬆︎ 安裝新版本 …」),不跳出視窗,以免視窗吃掉你打的字。更新來自這個專案的 GitHub Releases,用 SofaPad 的 EdDSA 金鑰簽章,對不上的一律不裝。4.5.0 是第一個能自己更新的版本,所以從 4.4 要最後一次手動安裝。
- 手機網頁跟著 Mac 走。Mac 的 App 換了版本,開著的網頁(主畫面 App 也是)會自己重新載入成新版並說一聲,「整段」模式還沒送出的字會留在輸入框。網頁的檔案不再留在手機的快取裡。
- 協定版本。Mac 和手機現在會說明自己用哪一版協定;Mac 接受目前這版和前一版,所以 4.4 的網頁還能用。對不上時,手機會說是哪一邊要更新,不會默默失敗。協定寫在
docs/PROTOCOL.md,以後的 iPhone App 可以照著做。 - 一個第三方套件:Sparkle 2.10.0(MIT),很多 Mac App 都用它做更新。授權條款在 zip(
Sparkle-LICENSE.txt)和 App 裡。
其他都沒有變:打字、觸控板、各列按鍵、語言和主題都和 4.4.0 一樣。
下載和安裝
SofaPad-4.5.0-macOS.zip:macOS 13 以上,只支援 Apple 晶片(arm64);Intel Mac 請自己 build。可以用 shasum -a 256 -c SofaPad-4.5.0-macOS.zip.sha256 核對。
沒有 Apple Developer ID 簽章,也沒有公證(只有臨時簽章 ad-hoc):第一次打開會被 macOS 擋下,到「系統設定 → 隱私權與安全性」按「強制打開」。完整步驟(中英):docs/INSTALL.md。也可以自己 build(./tools/build-app.sh,README 第 1 步 A),自己 build 的不會被擋,也會自己更新。
從 4.4 或更早的版本換過來:結束 SofaPad,把這一版放到「應用程式」取代舊的,打開它,再給一次「輔助使用」權限(在清單移除舊的 SofaPad,加入這一個)。接著用 iPhone 掃選單列的 QR code,或直接重新整理網頁。之後 SofaPad 就會自己更新。
已知限制
- 還沒有 Apple Developer ID 簽章:下載的版本第一次打開會被 macOS 擋下;更新後「輔助使用」權限可能要再開一次(在系統設定的清單移除 SofaPad 再加回來)。之後換成 Developer ID 簽章就兩個都解決。
- 區網內是一般的 http,沒有加密:請在家裡或信任的網路使用。
- 更新流程在這台 Mac 上用測試版做過完整測試(4.5.0 從本機的更新清單自己更新成測試用的 4.5.1,兩個都是臨時簽章)。GitHub 上的更新清單要到下一版才真的用到。
- 自動測試是在模擬的手機頁面(headless Chrome,iPhone 尺寸)對 dry-run 的 Mac App 跑的。4.5.0 打包前還沒有在真的 iPhone 上試過。
SofaPad 4.4.0
SofaPad 4.4.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
- The phone page in English and Chinese. It opens in your phone's language (Chinese if the phone is set to
Chinese, English otherwise). ⚙︎ → Language (Auto, English, 中文) switches it at once: no reload, the connection
stays, and text in the box stays where it is. Every text is translated: the key row, the text row, the landscape
panel, the row editor, the shortcut panel and editor, settings, pairing, messages and the screen-reader labels. - Light and dark theme. ⚙︎ → Theme: System (the default: follows the phone's light or dark appearance, also
while the page is open), Light or Dark. The page is drawn in the right theme from the first frame, and the browser
bar follows. Text and key labels meet WCAG AA contrast in both themes. - Both choices are remembered on the phone.
Nothing else changed: layouts, gestures, typing, dictation, the box emptying after each piece, the cursor pad and the
rows work as in 4.3.0. In the dark theme the filled blue (Send, the selected tab, drag lock on, an armed ⌘) is a
little deeper than in 4.3.0, for contrast.
Download and install
SofaPad-4.4.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.4.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).
The zip also has the demo page (playground.html, playground-video.html) and the recording scripts; their English
versions now quote the phone's English labels.
Known limits
- On a Home Screen app, the iPhone's status bar (clock, battery) takes a new theme the next time the app opens.
- 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) against the Mac app in dry-run
mode. 4.4.0 has not been tried on a real iPhone before this package.
SofaPad 4.4.0(繁體中文)
把 iPhone 當成 Mac 的鍵盤和觸控板:在沙發上用,或戴 Vision Pro 用 Mac 虛擬顯示器時用。手機打開 Mac 選單列小程式提供的網頁,不經過任何雲端。
這一版
- 手機網頁有中文和英文:跟著手機的語言打開(手機是中文就是中文,其他是英文)。⚙︎ →「語言」(自動、English、中文)馬上切換:不用重新整理、不會斷線,輸入框裡的字也還在。所有的字都有兩種語言:按鍵列、輸入列、橫拿側欄、按鍵編輯、快捷鍵面板和自訂快捷鍵、設定、配對、提示訊息,連讀螢幕用的標籤也是。
- 淺色和深色主題:⚙︎ →「主題」:系統(預設,跟著手機的淺色/深色外觀,網頁開著時也會跟著變)、淺色、深色。網頁從第一個畫面就是對的主題,瀏覽器的工具列顏色也會跟著。兩種主題的文字和按鍵字都符合 WCAG AA 對比。
- 兩個選擇都記在這支手機上。
其他都沒有變:排版、手勢、打字、聽寫、每段送出後清空輸入框、游標板和各列按鍵,都和 4.3.0 一樣。深色主題裡實心的藍色(送出、選中的分頁、拖曳鎖定中、按下的 ⌘)比 4.3.0 深一點,為了對比。
下載和安裝
SofaPad-4.4.0-macOS.zip:macOS 13 以上,只支援 Apple 晶片(arm64);Intel Mac 請自己 build。可以用 shasum -a 256 -c SofaPad-4.4.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 關掉重開)。
zip 裡也有示範場(playground.html、playground-video.html)和錄影腳本;英文版現在引用的是手機上的英文按鈕名稱。
已知限制
- 加到主畫面的 App,iPhone 狀態列(時間、電量)的顏色要下次打開 App 才換成新主題。
- 區網內是一般的 http,沒有加密:請在家裡或信任的網路使用。
- 自動測試是在模擬的手機頁面(headless Chrome,iPhone 尺寸)對 dry-run 的 Mac App 跑的。4.4.0 打包前還沒有在真的 iPhone 上試過。
SofaPad 4.3.0
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.htmlin the zip,demo/playground.htmlin the source) and a recording script
(DEMO-SCRIPT.mdandDEMO-SCRIPT.zh-TW.md, also in the zip): show every feature, each stage ticks itself.
Openplayground.htmlin a browser on the Mac; it works offline and collects nothing. English by default
(?lang=zhfor 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 上試過。
SofaPad 4.2.0
SofaPad 4.2.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
- No more old text in the box. If you ended a piece without Enter — clicked a Mac app's Send button with the
trackpad, tapped elsewhere, switched apps — the words stayed in the phone's box, and the next edit could send part of
them again into another window. Now any click, key, gesture, the cursor pad or closing the keyboard ends the piece:
the rest goes to the Mac, the box empties. - No more getting stuck after Zhuyin was interrupted, and "Send" in batch mode no longer sends half-composed
bopomofo. - Cursor pad: hold "◀ 游標 ▶" next to the text box, then drag to move the Mac's text cursor with the arrow keys;
select with Shift ("⇧ 選取" on the key row, or a second finger); flick to jump a word.
Still in 4.2: the refusal page for phones outside the local network and the "allow Tailscale devices" switch (4.1).
Download and install
SofaPad-4.2.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.2.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.
Known limits
- Plain http on the local network, no encryption: use it at home or on a network you trust.
- The cursor pad and the text-box fix were tested in a simulated phone page (headless Chrome) against the Mac app, with
unit tests on both sides, and with real typing into TextEdit on a Mac; the feel on a real iPhone is still to be
confirmed.
SofaPad 4.2.0(繁體中文)
把 iPhone 當成 Mac 的鍵盤和觸控板:在沙發上用,或戴 Vision Pro 用 Mac 虛擬顯示器時用。手機打開 Mac 選單列小程式提供的網頁,不經過任何雲端。
這一版
- 輸入框不會再留著舊字:沒按 Enter 就結束(用觸控板點 Mac App 的「傳送」、點到別處、切 App),之前字會留在手機的輸入框,下一次編輯可能把一部分舊字再送到別的視窗。現在點擊、按鍵、手勢、游標板或收起鍵盤都算「這段打完了」:剩下的字先送到 Mac,輸入框清空。
- 注音選字到一半被打斷不會再卡住;整段模式在選字中按「送出」也不會送出注音符號。
- 游標板:按住輸入框右邊的「◀ 游標 ▶」再拖,用方向鍵移動 Mac 上的文字游標;按按鍵列的「⇧ 選取」或第二根手指點一下改成 Shift 選取;快速甩一下一次跳一個字詞。
4.1 的「不在區網的說明頁」和「允許 Tailscale 裝置」開關都還在。
下載和安裝
SofaPad-4.2.0-macOS.zip:macOS 13 以上,只支援 Apple 晶片(arm64);Intel Mac 請自己 build。可以用 shasum -a 256 -c SofaPad-4.2.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。
已知限制
- 區網內用一般 http,沒有加密:請在家裡或可信任的網路使用。
- 游標板和輸入框修正是用模擬的手機網頁(headless Chrome)對 Mac App、兩邊的單元測試,以及在 Mac 的「文字編輯」實際打字驗證;真的 iPhone 上的手感還要確認。