OpenLogi:開源羅技周邊設定工具,改按鍵調 DPI 不用登入帳號

OpenLogi 是用 Rust 寫的開源羅技周邊設定工具,透過 HID++ 協定直接改鍵、調 DPI 與 SmartShift 滾輪,設定存在本機 TOML 檔,不需要帳號登入。它與官方 Logitech Options+ 的功能邊界、支援裝置與平台現況,一次整理。

用 AI 摘要這篇文章:

羅技的 MX Master 或 MX Keys 要改側鍵、調 DPI、切換滾輪模式,官方路徑是裝 Logitech Options+,一套把帳號體系、雲端同步與背景服務都包進來的完整用戶端。OpenLogi 走另一條路:用 Rust 寫的開源設定工具,直接以 HID++ 協定(羅技周邊與電腦之間的通訊規範)和滑鼠鍵盤對話,設定存進本機一個純文字 TOML 檔。專案 2026 年 5 月底才發第一版,三個多月就累積超過 1.8 萬顆星,是 2026 年周邊工具圈少見的速度。

實際在 macOS 裝了官方 Homebrew 版本(v0.8.3,安裝完 43MB),簽章通過 Apple 公證檢查(Developer ID 登記為 AprilNEA LLC),啟動後在沒有接羅技裝置的環境下取樣約 30 秒,五次檢查都沒有出現任何對外 TCP 連線。這篇整理安裝過程、原始碼層的網路面盤點,以及換掉 Options+ 之前該先想清楚的功能缺口。

OpenLogi 官網首頁,英雄標題 Your Logitech keyboard finally local,下載區顯示 brew install 指令與 MIT、Apache-2.0 雙授權標示Pin
OpenLogi 官網首頁(openlogi.org),標語強調本地優先與無帳號無遙測

裝之前,先把 Logitech Options+ 退出來

OpenLogi 的安裝說明第一條就是這個警告:先離開 Logitech Options+。兩套軟體都透過 HID++ 協定讀寫羅技裝置,一支接收器同一時間只能被一個程式持有,同時開著就會互相搶,症狀從設定無效到裝置斷線都有可能。這也是唯一一個裝了會立刻踩到的坑,先處理掉,後面都順。

macOS 13 以上走 Homebrew 是最短的路:

brew install --cask openlogi

不想用 Homebrew 就從 GitHub Releases 下載簽名的 .dmg。Linux 有 .deb、.rpm、.pkg.tar.zst 與 NixOS 模組,安裝時會附 udev 規則,讓一般使用者不必 sudo 就能存取 /dev/hidraw 與 /dev/uinput。Windows 提供 per-user .msi 與可攜 .zip(x86_64 與 arm64 都有),GUI 背後還有一支常駐的 openlogi-agent.exe 負責所有裝置讀寫,兩個檔案要放在一起,GUI 才連得到 agent。

架構上它把「畫面」和「碰硬體」拆成兩個行程:GUI 只負責介面,一個背景 agent 獨占所有 HID++ 裝置存取,兩邊用 IPC 溝通。Linux 裝完 .deb 或 .rpm 要自己啟用 systemctl --user enable --now openlogi-agent.service,NixOS 模組則會跟著圖形工作階段自動帶起。這個拆法的好處是關掉視窗後按鍵綁定照樣生效,裝置存取權也只由 agent 一個持有;Windows 的 agent 會縮在系統匣,不喜歡常駐圖示的話,設定檔裡有對應開關。

實測的安裝細節值得記下來:codesign 顯示啟用了 Hardened Runtime,spctl 檢查結果是 accepted,來源標注 Notarized Developer ID。App 內含兩支執行檔,openlogi 是命令列工具(列出裝置、診斷 DPI 與 SmartShift、同步外觀圖),openlogi-desktop 是圖形介面。43MB 的體積對一個 Rust 原生應用算正常,比 Options+ 的安裝器小得多。

「無遙測」打開原始碼看,是三個預設值

官網標語寫 No account, no telemetry。這種話每家都會講,所以直接把原始碼 clone 下來對。對完的結構比口號具體,整個網路面可以拆成三個決定。

出廠值最關鍵的一條:更新檢查預設關閉。設定檔的 check_for_updates 預設是 false(openlogi-core 的 settings.rs 第 456 行),軟體啟動時不會自己去 ping 更新伺服器;想在設定頁手動按「Check for Updates」隨時可以,要它開機自動查也得自己打開。自動下載安裝(auto_install_updates)又是另一個獨立開關,預設同樣關閉。更新伺服器是專案自己的 updates.openlogi.org,走 minisign 簽名驗證,本地自己編譯的版本沒有內嵌公鑰時會直接拒絕安裝,寧可失敗也不裝沒驗證過的東西。

會自動連網的部分只有裝置外觀圖。auto_download_assets 預設是 true,軟體會連網抓你裝置的圖片,來源是 assets.openlogi.org,而且一次對三個鏡像發請求(官方網域、Cloudflare Pages 版本別名、jsDelivr 上的 npm 套件),誰先回應完整的目錄就用誰。想連這個都關掉,設定裡可以改成完全不抓,介面改用內建圖與輪廓圖。

剩下的是沒有的部分:全專案 grep Sentry、PostHog、Firebase、UMeng、analytics 這些關鍵字,找不到任何遙測 SDK,唯一的 HTTP 用戶端 ureq 只出現在負責外觀圖的 openlogi-assets 模組,沒有崩潰回報、沒有使用統計。

有個容易誤判的地方:在原始碼 grep analytics 會看到 ANALYTICS_KEY_EVENTS,這不是軟體遙測,是羅技 HID++ 協定裡的裝置能力旗標,意思是這顆按鍵支援回報按鍵事件,跟把資料送回家無關。自己查證的人看到這個字別緊張。

行為層也有對照:啟動後在沒有羅技裝置的環境取樣約 30 秒,五次檢查都是零對外連線,連外觀圖都沒有抓。這個取樣只證明該環境該時窗的行為,但與原始碼的預設值互相吻合。

設定檔是你自己的檔案

OpenLogi 的所有設定住在一個 TOML 檔:macOS 與 Linux 是 ~/.config/openlogi/config.toml,Windows 同樣放在使用者目錄的 .config 下。這件事的意義不只是「存在本機」:檔案是純文字,可以丟進 Git 版控、可以複製到新電腦、可以先用 GUI 生一份再手改。

它對這個檔案的態度比多數軟體認真。schema 是嚴格的,欄位拼錯、超出範圍或已經廢棄時,整份設定檔會拒絕載入,GUI 進入唯讀模式並指出是哪一行錯了,而不是默默退回預設值、下次存檔時把你的欄位吃掉。GUI 寫檔是原子寫入,保留你手動加的註解與排版,並且維持 config.toml.backup.1 到 backup.5 五個備份。更細的一條:GUI 開著的時候你用編輯器改了檔案,GUI 下一次存檔會拒絕而不是蓋掉你的修改,要你重開讓兩邊收斂。

實測還觀察到一個細節:安裝後第一次啟動,在完成裝置配對與權限設定之前,這個檔案根本還不存在,軟體不會先塞一份範本佔位。也就是說檔案裡只會出現你的裝置實際產生的鍵值,不會有一堆空區塊。

檔案長相可以直接看官方文件的範例,一顆鍵對一個動作,看得出來是給人讀的:

[devices."receiver:aabbccdd:slot:1".bindings]
MiddleClick = "MissionControl"
Thumbwheel = "VolumeUp"
Forward = { CustomShortcut = "Cmd+Shift+P" }
DpiToggle = { short = "ShowDesktop", long = "MissionControl" }

每應用程式設定檔也在同一份檔案裡,用 sparse overlay 的方式掛在 per_app_bindings 下,辨識應用程式的鍵值跟著平台走:macOS 用 bundle id、Linux 用 application id、Windows 用執行檔的完整小寫路徑或 exe:檔名。設定介面的 Profile 選單只列出 agent 實際看過你在用的應用程式,因為同一個軟體在四個平台上的命名方式都不同,自己手填很容易填到對不起來的識別碼。

對於想寫腳本的人,命令列可以直接列裝置、讀電池、做 DPI 與 SmartShift 的讀寫冒煙測試。GUI 與命令列讀寫同一份檔案,不會有兩套真相。

蓋得到的與蓋不到的

依官方文件與原始碼,OpenLogi 覆蓋的日常設定包含:按鍵重映射(同一顆鍵可拆成短按與長按兩個動作,也有按住到放開的 push-to-talk 綁法)、手勢方向綁定、以游標為中心的八槽 Actions Ring 動作環、DPI 預設與循環切換、SmartShift 滾輪模式與觸發靈敏度、每裝置的滾輪方向反轉。這裡的 SmartShift 指的是 MX Master 那種會切換手感的滾輪:棘輪段有刻度感,自由 spin 一撥就滑到底,OpenLogi 可以直接切換模式、調自動切換的觸發力道,或把它固定在其中一邊。鍵盤這邊有 F 鍵全域重映射,動作型別包含打字、按鍵組合、多步驟工作流、AppleScript 與 shell 指令,加上靜態 RGB 燈光。

相機是另一塊:羅技 UVC 相機(Brio、StreamCam、C920 系列)的參數直接寫進硬體,zoom、對焦、曝光、白平衡都算,在 Meet、Zoom、OBS 裡都生效,因為參數落在相機本身,別的軟體讀到的也是同一組。內建預覽有個貼心設計:只有你正在看預覽時才開相機,離開就完全釋放,硬體燈號跟著熄滅,不用擔心背景程序偷偷掛著鏡頭。裝置清單會顯示電池百分比與充電狀態,連線途徑支援 Logi Bolt、Unifying、Lightspeed 接收器、藍牙直連與有線。

這些是文件與程式碼層的陳述;本篇實測停在安裝層,沒有在真硬體上驗證按鍵手感與 DPI 行為,換工具前建議留一天試用期給自己。

蓋不到的部分也要攤開:沒有 Logitech Flow,也就是跨電腦游標、剪貼簿共享與檔案傳輸;沒有雲端設定同步,多台電腦要自己搬 TOML 檔;Options+ 生態裡的複雜巨集與部分新款裝置的專屬功能,這裡也未必有。每應用程式設定檔在 macOS 與 Windows 可用,Linux 上只支援 X11 與 XWayland,原生 Wayland 工作階段吃不到。Windows 版比 macOS 版晚兩週起步,官方文件自己標注「較新,遇到問題請回報」。

把兩邊的差異整理成一張決策表,時間基準是 2026 年 9 月初的 repo 與官方文件:

比較項OpenLogiLogitech Options+
設定存放本機 TOML 純文字檔官方服務帳號與本機並行
帳號需求雲端同步需要登入
網路行為外觀圖下載可關,更新檢查預設關完整用戶端,含背景服務
Linux 支援一級平台,有套件與 udev 規則無官方 Linux 版
跨電腦 Flow
雲端設定同步無,自行搬檔
授權Apache-2.0 或 MIT 雙授權專有軟體
成熟度0.8 版,README 自警未穩定官方正式版

這張表不是誰好誰壞的計分板,用途是把自己的工作流程對上去:表裡任何一個「有」對你如果是必需,答案就出來了。

DPI 與靈敏度的單位換算需求,可以搭配滑鼠靈敏度換算工具一起用;平常想常駐看藍牙周邊電量,BlueGauge 藍牙電量工具補的正是系統不做常駐顯示的那一塊。

三個月長出來的專案體質

時間線可以直接從 Releases API 逐筆讀出來:倉庫 2026 年 5 月 24 日建立,5 月 30 日發 v0.0.1,當時只有 macOS;Windows 的 .msi 從 6 月 12 日的 v0.6.7 開始出現,Linux 的 .deb 與 .rpm 從 6 月 13 日的 v0.6.11 起跟上,Arch 用的 .pkg.tar.zst 要到 7 月 19 日的 v0.6.21 才補上;到 8 月 30 日的 v0.8.3,54 個 release 累計資產下載約 12.4 萬次,查證當下 18,445 顆星、550 個 fork。Homebrew 官方 cask 的安裝數是另一個旁證:90 天 12,244 次、365 天 12,365 次,換句話說幾乎所有安裝都發生在最近三個月。

OpenLogi 的 GitHub 專案頁 AprilNEA OpenLogi,顯示 Rust 語言、雙授權與近期提交紀錄Pin
GitHub 專案頁(AprilNEA/OpenLogi),主分支最新提交停在查證前一天

人力結構是小型核心加外部貢獻:AprilNEA 本人 924 次 commit,davidbudnick 貢獻 52 次(Windows 支援、相機、多語系都掛他名字),cserby 貢獻 25 次(Linux 移植)。README 的致謝也交代了血緣:HID++ 的實作參考了開源老前輩 Solaar 與另一個無帳號替代品 Mouser,協定則靠羅技多年前公開的 HID++ 文件。社群能量還外溢出一份 C# Avalonia 的 Windows 重寫版 openlogi-net,走 MIT 授權獨立維護。

這類工具的本質值得點破:它要攔截你的按鍵與滾輪事件才能改鍵,macOS 上要授予輸入監看權限,Windows 上靠背景 agent 常駐。這是功能,也是信任邊界,所以安全政策寫得如何是篩選條件之一。OpenLogi 有公開的 SECURITY 文件:只支援最新版與主分支、漏洞走 [email protected] 私下回報、不開公開 issue,文件裡列的受理範圍包含輸入事件掛勾、更新器與設定檔處理。原始碼公開加上可審的網路面,讓這條邊界至少是看得見的。

健康的另一面是負載:282 個 open issues 加上 164 個 open PR,README 頂部掛著「仍在積極開發、尚未穩定」的警告,版本號還在 0.8。三個月 54 個 release 的迭代速度是優點,也代表設定檔 schema 還在演進,現在手上這份 config.toml 未來升級時要跟著遷移。

官網和 repo 講的不一樣時,看 repo

查規格的時候會發現 openlogi.org 的行銷頁落後倉庫:官網寫 44 個內建動作,原始碼的動作列舉已經有 52 個可用;官網把每應用程式設定檔標成 Coming soon,README 已經列為出貨功能並註明各平台限制;官網的設定範例還停留在 schema_version = 4,文件裡的現行版本是 7。行銷頁是某個時間點的快照,repo 才是現況,這對所有快速迭代中的專案都適用,對 OpenLogi 這種三個月衝上 1.8 萬星的專案尤其如此。

官網本身有一個做得不錯的互動區塊:一張可點擊的滑鼠示意圖,點側鍵、滾輪、手勢鍵就跳出動作選單,旁邊同步顯示對應的 TOML 片段,等於把「設定存在純文字檔」這件事直接演給你看。想在安裝前感受操作邏輯,這個頁面比截圖有用。

介面有繁體中文,授權能商用

介面語言有 23 種,繁體中文(zh-TW)的翻譯檔 512 個鍵與英文完全對齊,沒有半翻的狀態;語言可以指定,也可以放著跟系統語言走。翻譯檔頭上注明由 Crowdin 管理,也就是說社群翻譯有持續進來的管道,不是一次性的快照。

授權是雙授權:Apache-2.0 或 MIT 任選,商用與修改都沒問題。有個細節要知道:程式碼雙授權,名稱、logo 與圖示屬於品牌資產,© 2026 AprilNEA 保留所有權利,fork 之後不能拿 OpenLogi 的名字和標誌代表你自己的發行版。專案也明寫與羅技沒有隸屬關係,Logitech、MX Master、Options+ 都是羅技的商標。底層的 HID++ 實作是 crates.io 上 hidpp crate(0BSD 授權)的 vendored fork,這層授權鏈是乾淨的。

誰該現在換,誰該等

適合現在換的人輪廓很清楚:單機辦公、想要一份能版控能搬家的純文字設定檔、在意背景軟體的網路行為,或者根本就是 Linux 使用者(羅技官方從沒出過 Linux 版 Options+,這條路上 OpenLogi 沒有官方對手)。這類需求它已經夠用,裝卸都乾淨,出問題時設定檔是明文的,救得回來。

應該留在 Options+ 的人同樣清楚:工作流程依賴 Flow 在多台電腦間切換游標、共享剪貼簿或傳檔案,或者裝置型號太新、功能清單裡有它尚未支援的項目。Flow 這塊官方 FAQ 有交代去處:排在路線圖的最遠端,協定裡做得到的那一半(Easy-Switch 跨機切換)已經出貨,剩下的跨電腦游標與剪貼簿橋接若真落地,也會是 opt-in 且限區域網路的設計。短期內工作流程綁在 Flow 上的人,別拿它賭。

想等 1.0 再上車的人,可以盯兩個訊號:README 頂部那段「尚未穩定」的警告何時拿下,以及設定檔 schema_version 何時塵埃落定。設定檔遷移其實已經半自動化,舊版的綁定與手勢欄位會在載入時自動搬到新格式,只有少數像「兩支同型號裝置」這種機器分不清的狀況要手動處理,但 0.x 階段每次大版號跳動還是值得先備份再升級。在那之前,0.8 版值得裝來試。同樣把「處理留在本機」當設計起點的工具,還有Input 0 語音輸入工具可以一併認識;羅技周邊的選購與品牌脈絡,羅技與 Herman Miller 的合作文有整理。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1067

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...