![]() | |||||||||||||||||||||
| Stark Wong 的個人開發網站 | |||||||||||||||||||||
|
|||||||||||||||||||||
| 此頁面:更新於 2023 年 8 月 7 日 23 時 21 分 33 秒,頁面處理需時 0.0013 秒 | |||||||||||||||||||||
| 網站內容版權所有(C)Stark Wong。頁面(不包括檔案)可自由連結。網站系統版本 1.90-AngularJSBase (2015/9/27) | |||||||||||||||||||||
網站地圖 | |||||||||||||||||||||
什麼是 HubCot?HubCot 是 Windows 98 年代生產的 USB Hub + 可動玩偶,只要把它連接到 PC 並安裝隨附的驅動程式及工具,它就能在進行一些動作 (例如檢查郵件、螢幕保護) 時讓玩偶的部份搖頭和打鍵盤。只可惜它的驅動程式並不支援 Windows 2000/XP 或以上的系統,所以已經有好一段長時間只能當作普通的裝飾品。
但是!在幾個月前,有神人 Ching-Lan HUANG (https://github.com/digdog/ToroAlerts) 把以前 Linux 用的驅動程式以 Swift 語言轉移到 Mac OS,這正是我一向打算做的,但無奈由於找不到原始碼而且不知道如何寫帶數位簽署的 USB 裝置驅動程式而作罷。現在有了 ToroAlerts 的程式碼作參考,並且了解到任何 USB 裝置都可以透過 Zadig 這個工具裝上微軟的 WinUSB 通用驅動程式,於是就在昨天參考微軟的官方範例程式碼以及 ToroAlerts 的指令程式碼 PoC 了一下且順利讓 Toro 打字了!
既然 PoC 成功,於是就順便製作出 2 個執行檔,一個是伺服程式,可經接收 Windows Message 對 HubCot 進行操作,另一個是示範程式,根據鍵盤按鍵呼叫伺服程式進行左手、右手或左右手打字動作。有意自行開發客戶端的朋友可以參考示範程式的方法用任何支援呼叫 WinAPI 的語言使用伺服程式即可,無需學習使用 Visual C++。
伺服程式目前有一個已知問題就是未正確對應拔除裝置的處理,有時間可能會改進一下。
程式原始碼及編譯好的執行檔可以在 https://github.com/starkwong/HubCot 找到。使用前記得前先用 Zadig 安裝好驅動程式才連接 HubCot 。