參考資料
硬體及韌體設計
規劃者komar007 將這些open source都放在他的空間裡
包含PCB gerber file, firmware code, bootloader, GUI等等
tmk韌體 用在atmel上,open source讚!
https://github.com/tmk/tmk_keyboard
比較直覺的編譯,如果只想在現成有的布局下修改鍵位很好用
缺點是沒有GUI可以用
GH60在論壇團購的原文連結
http://geekhack.org/index.php?topic=41464.0
但是GeekHack上的團購等的實在太久了,就用目前開放源檔的rev.B去印刷電路板
購買的PCB只包括了加上atmel的主控、Crystal、NKRO用的Diode、電阻、電容、USB接口
有這些零件基本已具有鍵盤信號觸發的功用

1. 組裝軸板
Ansi布局只是為了一開始拿到時先測線路,
bootloader提供了原生61鍵功能,並非我自己想要的布局
這片GH60採用的是灰/白軸 段落軸搭配

2. 焊軸
做這個不需要特別的技術,拍個快完成的圖就好

3. 加有燈鍵的電阻

4. 裝衛星軸


特地拍這張是想說明,衛星軸應該有的行為(原本有一組會卡):
有辦法注意這塊的話,就能改善一些衛星軸打感肉的問題
*. 至少在重力作用下,假軸體應該要能輕鬆下落
*. 若不行,表示這個零件一定被鐵絲頂到
*. 鐵絲卡到的原因有很多情況,但主因應該是結合處不夠水平
5. 底殼部份
恰好Apple推出的金色iPhone,殼子也來做一個
騷包的土豪金


6. 套上鍵帽
基本功能的GH60就初步完成了

產生韌體的工作裡,個人覺得最重要的就是這張矩陣圖啦
比對位置去修改keymap.c裡的5排按鍵的定義,以及Fn層的切換或是按幾次到哪一層都可以輕鬆改寫
再用makefile產生新的.hex檔案
最後用flip 3.4.x的工具透過USB進行韌體更新就完成囉
12 則回應
最近研究了tmk的atmel code base,發現可支援ps/2滑鼠
https://github.com/tmk/tmk_keyboard/tree/master/protocol
剛好TEX design要推出一款小紅點鍵盤,
就去借了一個指桿的樣本,
接上GH60 rev.b板子上預留的IO後
燒錄搭配enabled PS/2 mouse 功能的hex後
小紅點可以正常運作!!
但因為機構問題非常難用...Orz
看來得找塊板子穿孔固定了
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
藉由部份同好的努力,在tmk code base上的韌體已經可以用GUI的方式來實現了 用GUI來做的好處就是不用具備coding能力,也能做出自己的鍵盤韌體 1. 設計自己的鍵盤功能
這是給我自己用的 可以看到大概有4層的鍵位
A. basic layer
B. FN layer
C. Arrow_Pure
D. Mouse mode
2. 鍵位布局實現 KLE http://www.keyboard-layout-editor.com/
這是一位玩家提供的鍵盤規劃網站工具 可以用來設計鍵盤布局,透過增減鍵帽及XY軸位置來完成 有了這套工具,我根據自己的鍵盤需要的功能建立了四頁
A. Basic = http://ppt.cc/T4HJ
B. Fn layer = http://ppt.cc/bcHb
*ps1
C. Arrow_pure layer = http://ppt.cc/C~Nq
D. Mouse mode layer = http://ppt.cc/ZzaU
*.ps1 看到鍵位的板友可能會想問,為何其他層鍵位要留空(blank) 比如FN層改為http://ppt.cc/RKCa ,填滿的話會有差嗎? 這是因為tmk的實現方式在layer間是以堆疊的方式 越上層優先權越大 從這四層的鍵位可以看到,FN0是共通的 因此只要按著FN0 就等於我隨時打開FN layer 若在FN layer給予其他空鍵keycode,會造成無法靈活運用
ex. FN layer填入R_shift 若打開arrow mode後再按著FN0+R_shift 那麼輸出的keycode將因為FN layer的優先權較高輸出為R_shift 若照原來以空值設計FN layer,那麼打開arrow mode後 按FN0+R_shift會輸出"UP"
3. .eep檔案生成及dfu_reflash 這是一位在日本的大陸朋友根據tmk給的open source製作的網頁版生成工具 TKG http://enjoyclick.org/tkg/# 將之前在KLE畫出的鍵位複製raw data貼到屬於該層的空位 此時會有簡單的文法偵誤(標籤不合法等問題)以及有效宣告的FN鍵 再規定每個FN鍵的觸發方式以及在觸發時要進入哪一層 下載.eep檔案後 透過dfu-reflash這套工具進行USB介面的韌體更新 dfu-reflash 下載 http://ppt.cc/UdrR
a. 接上GH60後,先確定atmega這個device被系統偵測到
b. 安裝atmel_usb_dfu driver
c. 按下button_0 (進入燒錄模式)
d. 由dfu-programmer.exe 讀取下載好的.eep檔,進行更新
這是我的GH60鍵盤目前的外觀,其實在鍵盤趴之後一直沒動,65g的彈簧按壓感很棒
鍵位測試方面,可能要實際摸到的人才能知道了
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
我想要弄一個有TP的GH60,然後不要再外加滑鼠按鍵
用Fn切換鍵盤跟TP模式的....這樣不知道有沒有辦法哈哈
提供另一種比較直覺的GH60 FW燒錄方式
1. 首先利用GUI畫出自己需要的鍵位表,這邊利用已經開發好的、非常實用漂亮的網頁
http://www.keyboard-layout-editor.com/
a. 將經常使用的第一層的鍵帽符號編輯到上刻和下刻中
b. FN層編輯到側刻中
2. 複製raw data至TKG http://www.enjoyclick.org/tkg/來產生.eep檔案
3. 利用dfu-reflash 進行韌體更新
a. 連接GH60與電腦,按下S1 button,讓windows辯識出atmega的裝置存在
b. 安裝atmel_usb_dfu.inf ( 位於/driver資料夾,只需安裝一次,此後此步省略)
c. 將步驟2生成的.eep檔拖曳至reflash-gh60_rev_b.bat執行,更新動作將會自動完成
月底試試看能不能生出讓你會用的GUI 哈哈
讚啦
我想要弄一個有TP的GH60,然後不要再外加滑鼠按鍵
用Fn切換鍵盤跟TP模式的....這樣不知道有沒有辦法哈哈
可以做到
月底試試看能不能生出讓你會用的GUI 哈哈
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
聽起來完全不適合我這種沒有gui就沒辦法用的人XD....
聽起來完全不適合我這種沒有gui就沒辦法用的人XD....
F/W的部份我再研究看看要怎麼實現模擬其他UID封包
現在還在研究怎麼解決我的press +1 +2 按住按鍵時切換層的動作 XDD
GUI的話,只有標準按鍵有畫出來,透過python
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
AR叔說一聲
我拿塊板子給你啊!!
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
AR叔說一聲
我拿塊板子給你啊!!
太好心了吧你!!!
先問一下,它可以模擬滑鼠按鍵嗎?
Atmel open source的協議是HID
有宣告的keycode應該都能模擬
https://github.com/tmk/tmk_keyboard/blob/master/doc/keycode.txt
但是怎麼包進來是個工程 哈哈
60%: KBC Poker, KBT Pure, HHKB, TEX, Poker 2, Pure Pro
80%: KBT Race, Filco-PWC2, CMStorm Rapid, Razer TE, Keycool84, Plum96, NoppooMini84
100%: Filco M1-M2, Filco Ninja, Cherry G80-3000-3494, Cherry G80-1207, Zowie celeritas
AR叔說一聲
我拿塊板子給你啊!!
太好心了吧你!!!
先問一下,它可以模擬滑鼠按鍵嗎?
怎麼又有點想弄一個來的感覺...