建與應用)
1. 當雙手被占用時我們?nèi)绾闻c設(shè)備交互想象一下你正在廚房里揉面雙手沾滿了面粉這時手機突然響起一個重要的視頻通話?;蛘吣阏诰S修一臺復雜的設(shè)備雙手握著螺絲刀和萬用表但需要快速調(diào)整一下旁邊電腦上的測試參數(shù)。又或者你是一位音樂制作人在演奏MIDI鍵盤時需要實時切換音色或效果器參數(shù)卻騰不出手去操作鼠標和鍵盤。這些場景的共同點是我們的核心任務(wù)需要雙手的持續(xù)參與但同時又需要與另一臺數(shù)字設(shè)備進行快速、精確的交互。傳統(tǒng)的交互方式——鼠標、鍵盤、觸摸屏——在此刻都顯得笨拙甚至不可用。這就是“輸入不在手邊”Input Isn’t at Hand的典型困境。為了解決這個問題工程師和極客們一直在探索各種“免提”或“最小化手部動作”的交互方案。從語音控制到手勢識別從眼動追蹤到腦機接口技術(shù)路徑多種多樣。然而對于許多需要低延遲、高可靠性、且不受環(huán)境噪音或隱私顧慮影響的專業(yè)或極客場景來說一種基于物理觸覺的、可編程的快速控制方案始終有著不可替代的價值。這就引出了我們今天要深入探討的核心Openterface KeyMod。從它的命名就能窺見其設(shè)計哲學“Open”開放、“Interface”接口、“Key”按鍵、“Mod”模塊。它本質(zhì)上是一個開源的、模塊化的物理按鍵接口方案旨在成為連接你的意圖與數(shù)字世界的“快捷鍵”橋梁。結(jié)合網(wǎng)絡(luò)熱詞中高頻出現(xiàn)的HIDHuman Interface Device人機接口設(shè)備、USB和Bluetooth我們可以清晰地看到它的技術(shù)定位一個通過USB或藍牙將自己偽裝成鍵盤、鼠標或自定義控制器的硬件設(shè)備讓你通過按壓實體按鍵來觸發(fā)電腦或手機上的復雜操作。簡單來說Openterface KeyMod 想做的事就是把你最常用、最緊急的軟件操作從層層疊疊的軟件菜單里“抽”出來固化到一個你可以用一根手指、甚至身體其他部位比如腳、肘部輕易觸碰的物理按鍵上。這不僅僅是快捷鍵Hotkey的硬件化更是一種交互范式的轉(zhuǎn)變——將虛擬的、需要視覺定位的交互轉(zhuǎn)變?yōu)槲锢淼摹⒓∪庥洃浀慕换ァ?. Openterface KeyMod 的核心架構(gòu)與工作原理要理解KeyMod如何工作我們需要拆解它的幾個核心組成部分。它不是一個單一的、固化的產(chǎn)品而是一個由硬件設(shè)計、固件程序和主機端軟件共同構(gòu)成的生態(tài)系統(tǒng)。2.1 硬件層從微控制器到按鍵模塊硬件是KeyMod的物理基礎(chǔ)。根據(jù)網(wǎng)絡(luò)熱詞中出現(xiàn)的CH552、STM32、RK3568等芯片型號我們可以推斷其硬件選型的多樣性。主控芯片MCU這是設(shè)備的大腦。它需要完成幾項關(guān)鍵任務(wù)掃描按鍵狀態(tài)檢測哪個物理按鍵被按下、松開或長按。實現(xiàn)按鍵邏輯處理單擊、雙擊、長按、組合鍵等復雜按鍵行為。實現(xiàn)HID協(xié)議將按鍵動作翻譯成標準的USB HID或藍牙HID報告發(fā)送給主機。常見的選型包括CH552一款性價比極高的USB型8位單片機內(nèi)置USB控制器非常適合制作簡單的USB鍵盤/鼠標設(shè)備即插即用無需額外驅(qū)動熱詞中“ch552 usb hid例程下載”印證了這一點。STM32系列基于ARM Cortex-M內(nèi)核的32位單片機性能強大外設(shè)豐富。通過STM32CubeMX配置USB CDCCommunication Device Class或USB HID功能非常方便熱詞“stm32 cubemx usb cdc”。它也能很好地支持藍牙模塊實現(xiàn)無線化。ESP32系列集成Wi-Fi和藍牙的雙核芯片是制作無線KeyMod設(shè)備的絕佳選擇可以同時支持藍牙HID和基于Wi-Fi的網(wǎng)絡(luò)控制。選型邏輯如果你追求極致的簡單、低成本、有線連接CH552是很好的起點。如果需要更復雜的邏輯處理、無線功能或未來擴展STM32或ESP32是更專業(yè)的選擇。按鍵模塊這是“Mod”模塊化的體現(xiàn)。KeyMod的理念是按鍵本身應該是可插拔、可定制的。機械軸鍵帽直接使用標準機械鍵盤的軸體如Cherry MX軸、凱華BOX軸和鍵帽。好處是手感選擇多鍵帽易于個性化且配套的鍵軸PCB板很容易購買或自制。薄膜按鍵/輕觸開關(guān)成本更低體積更小適合需要緊湊布局或特殊形狀的場合。編碼器/旋鈕用于實現(xiàn)模擬量的連續(xù)控制如調(diào)節(jié)音量、縮放畫面、改變參數(shù)值等。連接方式模塊與主控板之間可以通過杜邦線、PH2.0等接插件連接實現(xiàn)真正的模塊化組裝。通信接口USB最穩(wěn)定、最即插即用的方式。主控芯片通過USB數(shù)據(jù)線連接到電腦并枚舉為HID設(shè)備鍵盤、鼠標、游戲控制器等。這里涉及到USB轉(zhuǎn)串口芯片如熱詞中的CP2102N、FT232R、PL2303的驅(qū)動問題。對于CH552、STM32等自帶USB功能的芯片通常不需要額外驅(qū)動。但對于一些開發(fā)板可能需要這類橋接芯片來調(diào)試或?qū)崿F(xiàn)USB通信。藍牙提供無線自由度。需要一個藍牙模塊如HC-05、HC-06或集成了藍牙的ESP32與主控芯片通過UART串口通信。主控芯片將HID指令發(fā)送給藍牙模塊由模塊轉(zhuǎn)發(fā)給手機、電腦或平板。熱詞中的 “Serial Bluetooth Terminal” 這類APP就是通過手機藍牙與設(shè)備的串口進行通信調(diào)試的工具。2.2 固件層HID報告描述符與按鍵邏輯固件是運行在主控芯片上的程序它決定了設(shè)備的行為。HID報告描述符HID Report Descriptor這是HID設(shè)備的“身份證”和“說明書”。它用一套復雜的描述語言告訴主機電腦/手機“我是一個設(shè)備我有幾個按鍵每個按鍵按下時我會發(fā)送什么樣的數(shù)據(jù)包?!睂τ阪I盤描述符會定義哪些字節(jié)代表普通按鍵如A、B、Ctrl哪些字節(jié)代表特殊功能鍵如音量加、播放。對于鼠標描述符會定義位移X/Y、滾輪和鼠標按鍵的字節(jié)。對于自定義控制器你可以定義自己的用法頁Usage Page和用法Usage但這通常需要主機端有專門的驅(qū)動或軟件來解析。核心挑戰(zhàn)編寫正確的HID報告描述符是讓設(shè)備被系統(tǒng)正確識別的關(guān)鍵。一個錯誤就可能導致設(shè)備無法識別或行為異常。按鍵掃描與映射邏輯固件需要以極快的速度通常每秒數(shù)百次掃描所有按鍵引腳的電平狀態(tài)。消抖處理物理按鍵在接觸瞬間會產(chǎn)生機械抖動固件必須通過軟件延時或算法過濾掉這些抖動確保一次按壓只觸發(fā)一次事件。動作識別區(qū)分單擊、雙擊、長按。這需要通過計時器來跟蹤按鍵按下的持續(xù)時間。層Layer切換類似高級鍵盤可以通過一個“Fn”鍵切換不同的按鍵映射層讓有限的物理按鍵實現(xiàn)翻倍的功能。宏命令將一個按鍵映射為一串有序的HID事件。例如按下一個鍵可以依次模擬按下“CtrlC”延時再按下“CtrlV”實現(xiàn)一鍵復制粘貼。2.3 主機端軟件完成閉環(huán)的自動化僅有硬件發(fā)送按鍵信號還不夠強大。KeyMod的真正威力需要主機端軟件的配合才能完全釋放。自動化腳本工具這是最常用的方式。當KeyMod模擬鍵盤按下“CtrlShiftF12”時這個快捷鍵可以被主機上的自動化軟件捕獲并觸發(fā)一系列復雜操作。AutoHotkey (Windows)功能極其強大的腳本工具。你可以編寫腳本將特定的快捷鍵綁定到啟動程序、操作窗口、發(fā)送文本、執(zhí)行系統(tǒng)命令等。Keyboard Maestro (macOS)macOS上最知名的自動化工具圖形化界面友好功能強大。Stream Deck Software雖然是為Elgato Stream Deck設(shè)計的但其軟件可以識別來自任何鍵盤的快捷鍵并執(zhí)行豐富的插件動作如控制OBS、切換燈光、播放音效。專業(yè)軟件API許多專業(yè)軟件如Adobe系列、DaVinci Resolve、Ableton Live都支持自定義快捷鍵。KeyMod可以直接映射到這些快捷鍵上。游戲內(nèi)綁定在模擬飛行、賽車模擬器等游戲中可以將大量的儀表操作、視角切換綁定到KeyMod的各個按鍵上形成專屬的控制面板。工作流程總結(jié)你按下物理按鍵 → 主控MCU檢測到動作并執(zhí)行消抖和邏輯判斷 → MCU根據(jù)內(nèi)部映射表生成對應的USB HID報告或藍牙HID指令 → 通過USB或藍牙發(fā)送給主機 → 主機操作系統(tǒng)將其識別為標準鍵盤/鼠標輸入 → 自動化軟件或?qū)I(yè)軟件捕獲這個特定的快捷鍵組合 → 執(zhí)行預設(shè)的復雜任務(wù)。3. 實戰(zhàn)構(gòu)建從零打造一個USB HID快捷鍵鍵盤理論說得再多不如動手做一個。下面我將以最普及的Arduino兼容平臺 ATmega32U4 芯片Leonardo, Micro, Pro Micro開發(fā)板為例帶你走通一個基礎(chǔ)版KeyMod的構(gòu)建流程。選擇ATmega32U4是因為它原生支持USB可以非常方便地模擬成HID設(shè)備。3.1 硬件準備與電路連接你需要以下材料主控板Arduino Leonardo 或 Arduino Pro Micro特別注意Pro Micro有3.3V和5V版本根據(jù)你的按鍵模塊電壓選擇。Pro Micro更小巧便宜是DIY的熱門選擇。按鍵模塊若干輕觸開關(guān)或機械鍵盤軸體鍵帽。電阻10kΩ 電阻若干用于按鍵的上拉。面包板和杜邦線用于原型搭建。USB數(shù)據(jù)線用于供電和編程。電路連接非常簡單以兩個按鍵為例將Pro Micro的GND引腳連接到面包板的負極總線。將兩個按鍵的一端兩個引腳是連通的分別連接到 Pro Micro 的兩個數(shù)字I/O口例如D2和D3。從這兩個I/O口分別連接一個10kΩ電阻到VCC正極5V。這就是上拉電阻確保引腳在按鍵未按下時保持高電平邏輯1。將兩個按鍵的另一端都連接到GND。 這樣當按鍵按下時I/O口與GND接通電平被拉低邏輯0松開時電阻將其拉高。MCU通過檢測這個高低電平變化來判斷按鍵狀態(tài)。3.2 固件編程使用Arduino HID庫Arduino IDE已經(jīng)為ATmega32U4板卡內(nèi)置了強大的Keyboard和Mouse庫使得模擬HID設(shè)備變得異常簡單。#include Keyboard.h // 包含鍵盤庫 // 定義按鍵引腳 const int keyPin1 2; // 對應物理按鍵1 const int keyPin2 3; // 對應物理按鍵2 // 記錄按鍵前一個狀態(tài)用于檢測邊沿 int previousKeyState1 HIGH; int previousKeyState2 HIGH; void setup() { // 初始化按鍵引腳為輸入模式并啟用內(nèi)部上拉電阻如果使用外部上拉則不需要 // 注意這里我們使用了外部上拉電阻所以模式設(shè)為 INPUT pinMode(keyPin1, INPUT); pinMode(keyPin2, INPUT); // 初始化鍵盤功能 Keyboard.begin(); } void loop() { // 讀取當前按鍵狀態(tài) int currentKeyState1 digitalRead(keyPin1); int currentKeyState2 digitalRead(keyPin2); // 檢測按鍵1的按下事件從高電平變低電平 if (currentKeyState1 LOW previousKeyState1 HIGH) { // 按下時模擬按下 Ctrl Shift S 這是一個示例你可以改成任何組合 Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_SHIFT); Keyboard.press(s); // 發(fā)送 s 鍵 delay(50); // 一個小延時確保主機收到 Keyboard.releaseAll(); // 釋放所有按下的鍵 } // 檢測按鍵1的釋放事件不是必須的因為我們已經(jīng)用了 releaseAll() // 檢測按鍵2的按下事件 if (currentKeyState2 LOW previousKeyState2 HIGH) { // 按下時模擬按下 F13 鍵很多軟件允許綁定F13-F24這些擴展功能鍵 Keyboard.write(KEY_F13); } // 更新前一個狀態(tài) previousKeyState1 currentKeyState1; previousKeyState2 currentKeyState2; // 一個小延時防止掃描過快 delay(10); }代碼解讀與注意事項Keyboard.press()和Keyboard.releaseAll()用于模擬組合鍵。Keyboard.write()用于模擬單個按鍵。KEY_F13等擴展鍵普通鍵盤只有F1-F12但HID協(xié)議支持F13-F24。這些鍵在大多數(shù)系統(tǒng)中默認沒有功能因此是綁定自定義操作的絕佳選擇不會與常用快捷鍵沖突。消抖上面的代碼使用了簡單的“狀態(tài)對比延時”進行消抖。對于更可靠的應用建議使用更健壯的消抖庫如Bounce2。上傳代碼將Pro Micro通過USB連接到電腦在Arduino IDE中選擇板卡類型例如 “Arduino Leonardo” 或 “SparkFun Pro Micro” 和正確的端口然后上傳。上傳完成后不要拔掉USB線這個板子現(xiàn)在就是一個鍵盤了打開一個記事本按下你連接的按鍵看看是否會輸入字符或觸發(fā)組合鍵。3.3 進階實現(xiàn)層切換與宏功能基礎(chǔ)的單點控制很快會不夠用。我們可以引入“層”的概念。#include Keyboard.h const int keyPinLayer 4; // 用于切換層的按鍵 const int keyPinA 2; const int keyPinB 3; int currentLayer 0; // 0 基礎(chǔ)層 1 功能層 int previousLayerState HIGH; void setup() { pinMode(keyPinLayer, INPUT_PULLUP); // 使用內(nèi)部上拉電阻 pinMode(keyPinA, INPUT_PULLUP); pinMode(keyPinB, INPUT_PULLUP); Keyboard.begin(); } void loop() { // 檢測層切換按鍵 int layerState digitalRead(keyPinLayer); if (layerState LOW previousLayerState HIGH) { delay(50); // 消抖 if (digitalRead(keyPinLayer) LOW) { // 確認按下 currentLayer !currentLayer; // 切換層 (0 - 1) // 這里可以加一個視覺反饋比如點燈 while(digitalRead(keyPinLayer) LOW) { // 等待按鍵釋放 delay(10); } } } previousLayerState layerState; // 根據(jù)當前層處理其他按鍵 if (digitalRead(keyPinA) LOW) { delay(50); if (digitalRead(keyPinA) LOW) { if (currentLayer 0) { // 基礎(chǔ)層按鍵A 模擬 CtrlC Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(c); delay(100); Keyboard.releaseAll(); } else { // 功能層按鍵A 模擬 CtrlV Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(v); delay(100); Keyboard.releaseAll(); } while(digitalRead(keyPinA) LOW) { delay(10); } // 等待釋放 } } // 類似地處理按鍵B... delay(10); }通過這種方式你可以用有限的物理按鍵通過層切換實現(xiàn)數(shù)十種功能的快速訪問。4. 無線化與高級集成邁向藍牙KeyMod有線USB鍵盤雖然穩(wěn)定但線纜始終是一種束縛。將KeyMod升級為藍牙設(shè)備能將其應用場景擴展到控制手機、平板或在房間內(nèi)移動使用。4.1 硬件選型ESP32作為一體化方案最簡潔的方案是使用ESP32開發(fā)板如ESP32 DevKitC。它集成了藍牙和Wi-Fi性能強大且有很多現(xiàn)成的Arduino庫支持。連接示意圖ESP32 GPIO引腳 - 按鍵 - GND 內(nèi)部啟用上拉電阻無需額外的藍牙模塊電路比有線版更簡單。4.2 固件編程使用ESP32的藍牙HID庫在Arduino IDE中安裝ESP32板卡支持后可以使用ESP32-BLE-Keyboard或BleCombo等第三方庫它們讓ESP32模擬藍牙鍵盤、鼠標甚至游戲手柄變得非常簡單。#include BleCombo.h // 一個強大的藍牙HID復合設(shè)備庫 BleCombo bleCombo(My KeyMod); // 設(shè)置藍牙設(shè)備名稱 const int keyPin 2; void setup() { Serial.begin(115200); pinMode(keyPin, INPUT_PULLUP); bleCombo.begin(); // 啟動藍牙HID } void loop() { // 等待藍牙連接 if(bleCombo.isConnected()) { if(digitalRead(keyPin) LOW) { delay(50); // 消抖 if(digitalRead(keyPin) LOW) { // 發(fā)送一個復雜的宏Win D (顯示桌面)然后輸入“notepad”并回車 bleCombo.press(KEY_LEFT_GUI); bleCombo.press(d); delay(100); bleCombo.releaseAll(); delay(500); // 等待桌面顯示 bleCombo.print(notepad); delay(200); bleCombo.write(KEY_RETURN); while(digitalRead(keyPin) LOW) { delay(10); } // 等待按鍵釋放 } } } else { // 未連接時可以閃爍LED提示 delay(1000); } delay(10); }關(guān)鍵步驟與避坑指南配對代碼上傳后打開手機或電腦的藍牙設(shè)置搜索名為 “My KeyMod” 的設(shè)備并進行配對。對于鍵盤/鼠標設(shè)備通常需要輸入一個在屏幕上顯示的配對碼如0000或1234。電池供電無線設(shè)備需要電源。可以使用鋰電池如18650配合充放電管理模塊如TP4056為ESP32供電。注意將ESP32的電壓調(diào)節(jié)器設(shè)置為適合電池的電壓范圍通常3.7V。功耗優(yōu)化ESP32在藍牙連接狀態(tài)下功耗不低。對于需要長時間待機的設(shè)備需要深入編程利用ESP32的深度睡眠模式僅在按鍵按下時喚醒發(fā)送指令后立即重新睡眠這能極大延長電池壽命。穩(wěn)定性藍牙連接可能受環(huán)境干擾。確保天線周圍沒有金屬物體屏蔽。對于關(guān)鍵應用USB有線連接仍然是可靠性最高的選擇。4.3 與自動化軟件深度集成以O(shè)BS為例構(gòu)建好硬件只是第一步讓它發(fā)揮生產(chǎn)力的關(guān)鍵在于主機端的自動化配置。以直播推流軟件OBS為例展示如何將KeyMod集成到工作流中。在OBS中設(shè)置熱鍵打開OBS設(shè)置找到“熱鍵”選項。為你常用的操作分配全局熱鍵例如CtrlShiftF1切換“游戲畫面”場景。CtrlShiftF2切換“攝像頭特寫”場景。CtrlShiftF3開始/停止推流。CtrlShiftF4開始/停止錄制。編程KeyMod將你的KeyMod按鍵編程為上述對應的快捷鍵。例如將第一個按鍵映射為CtrlShiftF1。實現(xiàn)一鍵操作現(xiàn)在當你按下KeyMod上的物理按鍵時OBS就會執(zhí)行切換場景的操作。你無需用鼠標在OBS界面上尋找那個小小的場景切換按鈕也無需記憶復雜的快捷鍵組合肌肉記憶直接完成。進階聯(lián)動結(jié)合AutoHotkey或Stream Deck軟件你可以實現(xiàn)更復雜的邏輯。例如按下一個鍵不僅切換OBS場景同時通過AHK腳本改變音頻路由、打開某個游戲、甚至向聊天室發(fā)送一條預設(shè)消息。5. 項目優(yōu)化與深度思考從玩具到生產(chǎn)力工具一個能工作的原型和一個穩(wěn)定可靠的生產(chǎn)力工具之間還有很長的路要走。以下是提升KeyMod項目質(zhì)量的幾個關(guān)鍵方向。5.1 提升可靠性與用戶體驗機械與電子穩(wěn)定性PCB設(shè)計從面包板轉(zhuǎn)移到自己設(shè)計的PCB是質(zhì)變的一步。使用KiCad或EasyEDA設(shè)計一塊集成所有按鍵、主控、電源管理的PCB能極大提升設(shè)備的穩(wěn)定性和美觀度??梢詫存I布局設(shè)計成符合人體工學的弧度。外殼3D打印一個定制外殼不僅能保護電路更能提供舒適的手感和專業(yè)的觀感。對于腳控開關(guān)外殼的堅固和防水防塵尤為重要。連接器使用更可靠的連接器如MX軸的熱插拔插座、JST接插件替代杜邦線避免因拉扯導致接觸不良。固件健壯性消抖算法升級使用狀態(tài)機或?qū)iT的消抖庫應對各種按鍵材質(zhì)的抖動特性。NVS存儲對于ESP32或STM32可以利用其非易失存儲NVS/EEPROM來保存配置如按鍵映射、層狀態(tài)實現(xiàn)掉電記憶。配置界面開發(fā)一個簡單的Web服務(wù)器配置頁面ESP32可輕松實現(xiàn)或通過串口命令讓用戶無需重新刷寫固件就能更改按鍵功能這對非技術(shù)用戶極其友好。電源管理低功耗設(shè)計如前所述對于無線設(shè)備深度睡眠是必備技能。計算平均電流選擇合適的電池容量如2000mAh的18650電池。充電指示加入充電管理芯片和LED指示燈讓用戶清楚設(shè)備電量狀態(tài)。5.2 擴展功能邊界模擬量輸入加入模擬搖桿或旋轉(zhuǎn)編碼器用于控制視頻剪輯時間線、3D軟件中的攝像機、或音樂軟件中的混音推子。這需要MCU支持ADC模數(shù)轉(zhuǎn)換和編碼器接口并在HID報告中支持“消費者控制”Consumer Control或“游戲手柄”Gamepad描述符。反饋輸出增加反饋機制讓設(shè)備與用戶互動。視覺反饋每個按鍵下安裝RGB LED用不同顏色指示當前層、功能狀態(tài)或電池電量。觸覺反饋使用線性諧振馬達LRA提供輕微的震動反饋確認按鍵觸發(fā)成功這在嘈雜環(huán)境中或視線離開設(shè)備時非常有用。網(wǎng)絡(luò)化控制利用ESP32的Wi-Fi功能讓KeyMod不再局限于HID。它可以作為一個HTTP客戶端向家庭自動化服務(wù)器如Home Assistant發(fā)送RESTful請求從而控制智能燈、空調(diào)或者通過WebSocket與電腦上的自定義服務(wù)通信實現(xiàn)超越鍵盤模擬的更復雜控制邏輯。5.3 開源生態(tài)與社區(qū)“Openterface”中的“Open”指明了其開源精神。真正的力量來自社區(qū)。共享設(shè)計與代碼將你的PCB設(shè)計文件Gerber、3D外殼模型STL和固件代碼INO發(fā)布到GitHub或Gitee。標準化接口嘗試定義一種簡單的物理和電氣接口標準讓不同的按鍵模塊、屏幕模塊、旋鈕模塊可以像樂高一樣拼接在同一個主控板上。這能極大降低其他人的創(chuàng)作門檻。軟件工具鏈開發(fā)一個圖形化的配置工具可能基于Web用戶可以通過拖拽的方式配置按鍵、層、宏和燈光然后一鍵生成固件或通過USB/藍牙刷入設(shè)備。這是將項目從極客玩具推向大眾產(chǎn)品的關(guān)鍵一步。構(gòu)建一個Openterface KeyMod設(shè)備遠不止是焊接幾個元件和寫幾行代碼。它是一個完整的嵌入式系統(tǒng)項目涵蓋了硬件設(shè)計、單片機編程、通信協(xié)議USB HID/藍牙、工業(yè)設(shè)計甚至軟件交互設(shè)計。它解決的是一個真實存在的效率痛點并將解決方案以一種可觸摸、可定制、開放的方式呈現(xiàn)出來。無論你是想提升自己的工作效率還是為某個特定領(lǐng)域如無障礙輔助、專業(yè)內(nèi)容創(chuàng)作、工業(yè)控制創(chuàng)造專用的輸入工具這個項目都提供了一個極具價值的起點和無限可能的擴展空間。最終的成品不僅是一個工具更是你對特定工作流深度思考和實踐的結(jié)晶。