即將到來的鍵盤

李松錡
10 min readMar 29, 2019

--

更新: 借用活動已經開始囉,請看這篇文章,之後和鍵盤相關的文章都會在新的網站 https://www.ergokb.tw/

更新: 鍵盤的 3d model 和 source 已經釋出囉

https://medium.com/@alan81920/update-for-ex-dactyl-keyboard-4c90ee4449fa

嗨大家,距離上次有關鍵盤的文章也好久都沒有消息了,其實是在這段期間我退伍,也開始工作一陣子,有了更多的想法與嘗試以後,終於有一個可以跟大家分享,也差不多可以賣的鍵盤了。

他還不是最終版本,但已經是 beta 版了

首先要跟大家說聲抱歉,這次推出來的傢伙,並不是快一年前一直在努力的無線版本。先別激動,我並沒有放棄無線的版本,這一切的一切,我都會在這篇文章中交代。

為什麼我會在這其中有了這樣的轉變呢?最重要的一點是,這把鍵盤因為有弧度,如果要把他帶出去,他就會佔據你包包非常大的空間。最初我之所以打算要做無線鍵盤的原因,和我那時的生活習慣有很大的關係。那個時候我時常會帶著鍵盤出去,也正如我之前所說的,從包包裡面拿出來之後,要插

  1. 左手鍵盤和連接線
  2. 右手鍵盤和連接線
  3. 右手鍵盤要插 micro usb 線
  4. 最後 micro usb 線再跟電腦的 usb 孔接

你可能想說還好吧,也就四個動作。但如果你是去咖啡廳或者一些共用的工作空間,你還要考慮到會要移動你的電腦,所以你要嘛就是要把以上的四個插頭拔掉,然後再小心翼翼的把這些東西一個一個拿好再移動,不然就是很霸氣但很危險的把所有東西都包包款款的帶著走,所以那個時候有無線的鍵盤真的是非常非常方便。

而我在去年約七月的時候被人提醒,意識到了曲面的鍵盤會很佔空間,會大幅降低帶出去的意願,自然也就不會有上面的問題,上面的問題自然迎刃而解,但最初想用自己喜歡的鍵盤這件事卻還是沒有解決。那個時候我就迎來了第一個轉彎:無線的鍵盤要做,就要做得輕薄好帶,所以我在研究了新的藍芽晶片之後,也成功的做了一把 prototype 出來。

這就是我用搭載了 32 位元處理器的藍芽晶片做出來的版本

除此之外,為了要讓未來商品化後可以不必額外買燒錄藍芽晶片的燒錄器,我還去研究,並 fork 出一個特製的 arduino bootloader 出來。這把鍵盤上,單手上還是有一張 arduino pro micro 類的晶片和一張藍芽晶片,但 arduino 那張晶片,僅會在連接有線時才會開機,作為和電腦之間的鍵盤驅動溝通,並且在必要時,可以搖身一變,變成那張藍芽晶片的燒錄器;在純用藍芽時, arduion 是不會開機的,所以更大幅的降低了耗電。

除此之外,我還儘量的把這把鍵盤做薄

這把鍵盤裡面,單手搭載的電池僅有 350 mAh 的容量,這樣的電池有多小呢?打個比方,iPhone6 的電池是 1810 mAh,換句話單手電池的容量,僅有不到 iPhone 6 1/5 的電量,而可以使用多久呢?根據我自己的實際使用概估,應該可以達到連續使用將近 40 小時。

那為什麼我突然間又說這次要發布的不是這把鍵盤呢?原因是他的韌體還在 prototype 的階段,上面使用 40 個小時,是在我每天上班開機,下班關機的使用下概估出來的,他沒有做到自動休眠,而且我讓左右手之間一直都維持在相同的發射能量強度,但很多時候因為左右手之間的鍵盤其實靠蠻近的,中間也沒有什麼阻礙,如果能夠動態的根據環境的雜訊強度來調整訊號強度,那使用時間自然而然就會變得更長;另外左右手之間的配對我也還在思考,如何才能做到像是 switch 等等遊戲主機配對搖桿那樣簡便,這些都是要讓他從 prototype 走向商品路上必須要克服的困難。

好,上面說完藍芽鍵盤的更新了,現在再來說說和我相關的故事,以及到底這次我要發布什麼東西了。

在去年七月發現曲面鍵盤不適合 (或是目前不適合) 開發成藍芽版本後,同樣的,我也沒有放棄這些努力。當時我還是有嘗試很血汗的直接用跳線拉裡面的鍵盤電路。你問說跳線拉裡面電路是什麼意思?

就是這個意思
後來有好一點,可以用銅膠帶一次處理一整條

然後在那個期間,我也不斷的在比較,到底曲面的鍵盤是不是真的有足夠好到讓我可以繼續開發下去。在這之中,我隱隱約約有感受到曲面鍵盤確實用起來還不錯舒服,可是從我去年剛開始接觸到這個曲面鍵盤時,我是從 dactyl keyboard 這個專案改上來的

這是 v1 的版本

顯而易見的,他的 layout 和我已經用習慣的 ergodox 其實是不同的,他左右手在靠中間的部分各少掉了三顆鍵,對我來說,我非常仰賴那三顆鍵其中的兩顆,左右手各少兩顆,我就少掉了四顆。

紅圈處就是單手少掉的三顆鍵

如我上面所貼的那個連結,在當時我剛開始接觸那個專案用的語言 clojure,充分地感受到什麼叫做用 lisp 的人是狂徒 (clojure 跟 lisp 有不少相似處),在還不太熟新語言以及新接觸到的專案下,我只能勉勉強強的改出了第二個版本的 alpha 版。

這就是 alpha 版本,把拇指上方兩顆我基本不太會用掉的按鍵拿掉,換取把那三顆按鍵加回來的機會

接著時間繼續推進,我在去年 11 月退伍之後,約一個星期之後就到公司開始上班。也正是因為這件事情,讓我的生活習慣有了改變。並不是說因為工作的事情忙到沒日沒夜,而是因為我在公司裡面有了一張桌子,所以公司配的電腦和鍵盤,我都會放在桌上沒有帶回去。

這是我剛到公司時候的樣子,桌上那把鍵盤算是 alpha 版本

然後在此期間,我就深刻的體會了曲面鍵盤的好。我的手真的基本上就是只要不是用滑鼠的時候,手軸或手腕就壓在手墊上面,然後靠著 function key,整個手臂近乎不怎麼需要移動,然後又因為有弧度的關係,手指頭要按到第一排數字區也變輕鬆非常多。所以在我開始工作一陣子,比較能跟上團隊的腳步之後,我就開始默默地籌劃,和我在這段時間工作中使用的心得融合,要把 v2 alpha 版本再進化。

和我認識的人曉得,我在那之前是在自己的家鄉金門服役,所以當時我的 3d 印表機就一直放在金門,也因此,在我開始籌劃進化版本到回去印來驗證之時,整整有快兩個月的時間。這兩個月間,我又看到了一些有趣的版本,然後我也對 clojure 更加熟悉之後,開始放年假回金門後,我就開始實行我的計畫,印出了 v2 alpha 到 v2 beta 中間的過度版本

這就是 v2 alpha 到 v2 beta 中間的過度產物

如圖片中所見,我想要做得更多,所以我就直接把手托的部分也加進來。但很可惜的是最後我發覺這個手托設計是有問題的,所以就被我放棄了。但你也可以清楚地看見,咦,這個 layout…!!!

沒錯,我成功的把消失的三顆按鍵加回來,也把 alpha 版刪掉的兩顆按鍵保留著,讓他完完全全的變回 ergodox 的 layout!

也正是因為這樣,我想了許久以後,終於確定這把鍵盤的名字

Ex-Dactyl Keyboard

是的,這就是這把鍵盤的名字,他是 dactyl keyboard 的 extended version (絕對不是什麼 ex 咖哩棒)

這其實已經快要是 v2 beta 的版本了

至此,這把鍵盤的 layout,旋轉角度和位移已經和我心裏預估的最終版本相同了,但他還不是 beta 版本,為什麼呢?差異點絕對不是在鍵帽上 XD

最大的差異點在這裡

這是 v2 alpha

這是 v2 beta

發現到了嗎?他的腳變了。當初剛做出來的時候,我自己也沒想到會是這樣的效果

當時看他 generate 出來,心裡第一個想法是:天啊,這東西怎麼給我一種野獸的感覺,所以當時還一度有想說要改叫 Beast Keyboard 之類的。除此之外,我還有針對怎麼放置 arduino 進去裡面做了一番調整,為的是在之後販賣的時候,讓大家可以有更好的品質,而不是像我現在,是用一塊泡棉膠把 arduino 黏在殼上面的。

也在今天,我把新的一組設計列印出來了

由上而下是 v2 alpha, v2 beta 和 v2 beta 再小改版

這次的設計採用了一種新的設計

這個設計便是透過上蓋直接把晶片壓住,如此一來 arduino 不但不需要用黏的,不需要螺絲鎖,就能夠穩穩的夾在殼中,而且有需要時,上下蓋螺絲鬆開,arduino 也就會鬆開,可以被拿出來。

再來要交代的則是韌體的部分,韌體未來則會直接採用跟 Ergodox-Ez 相同的 QMK firmware,不但有完整的 keyboard event,還可以相容於近乎所有 usb 鍵盤插上去就能使用的作業系統。不只如此,大家可以直接去偷偷使用他們的 configurator,但因為我在左右手的連線之間還是維持我在 BlueErgo 時候的設計,所以目前只能夠透過他們的 configurator,把鍵位配置的 .c 檔案下載下來,然後再 compile 燒上去。

然後藍芽的部分呢?我可沒忘,也不要緊張,我目前的規劃是之後會推出一個升級套件,基本上是替換主控,更換成一個可以裝電池的底蓋。

然後最後的最後,也是最重要的事情:這把鍵盤有要賣了。絕對不唬爛,小透露一下,我跟 OpenLab Taipei 談過,今年的 COSCUP 會有半小時的議程,我會跟大家分享我做這把鍵盤經歷了什麼事情,遇到哪些困難,更重要的是我會盡可能的把我所學到的東西用容易理解的方式讓大家能吸收到一些知識,在到 COSCUP 報告之前,我則會繼續優化,外殼的部分基本上已經不變了 (除非有要大量生產,可能會因應開模的部分做調整),然後再來我想要把 arduino 的部分改成最潮的 type C 接口,並且製作出裡面的電路,然後處理一些比較跟商品化相關的事情,以及再把原始碼整理乾淨,循著 GPL 發出去。接著非常重要的一點,如果這把鍵盤群募沒有達標,也不要擔心,我還是會用我的 3D printer 印給想要的人,然後電路則再看情況,但是不論如何,我都會儘量推廣這把鍵盤,讓想要體驗,想要減輕手部負擔的人都能有機會能夠使用!

最後再補一張,手放上去的樣子

我只能說,真的好用

--

--