GH60 上手第一回 - 鍵盤

By Irma
at 2014-01-24T13:54
at 2014-01-24T13:54
Table of Contents
※ 引述《cssh (邪惡總說:打包啦!)》之銘言:
: 參考資料
: tmk韌體 用在atmel上,open source讚!
: https://github.com/tmk/tmk_keyboard
: 比較直覺的編譯,如果只想在現成有的布局下修改鍵位很好用
: 缺點是沒有GUI可以用
藉由部份同好的努力,在tmk code base上的韌體已經可以用GUI的方式來實現了
用GUI來做的好處就是不用具備coding能力,也能做出自己的鍵盤韌體
1. 設計自己的鍵盤功能
http://i.imgur.com/MRWlj6V.png
這是給我自己用的
可以看到大概有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鍵盤目前的外觀,其實在鍵盤趴之後一直沒動 ~_~
http://i.imgur.com/OhirEB4.png
鍵位測試方面,可能要實際摸到的人才能知道了
--
: 參考資料
: tmk韌體 用在atmel上,open source讚!
: https://github.com/tmk/tmk_keyboard
: 比較直覺的編譯,如果只想在現成有的布局下修改鍵位很好用
: 缺點是沒有GUI可以用
藉由部份同好的努力,在tmk code base上的韌體已經可以用GUI的方式來實現了
用GUI來做的好處就是不用具備coding能力,也能做出自己的鍵盤韌體
1. 設計自己的鍵盤功能
http://i.imgur.com/MRWlj6V.png
這是給我自己用的
可以看到大概有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鍵盤目前的外觀,其實在鍵盤趴之後一直沒動 ~_~
http://i.imgur.com/OhirEB4.png
鍵位測試方面,可能要實際摸到的人才能知道了
--
Tags:
鍵盤
All Comments

By Bennie
at 2014-01-27T10:55
at 2014-01-27T10:55

By Kristin
at 2014-01-28T23:50
at 2014-01-28T23:50

By Joe
at 2014-02-01T04:29
at 2014-02-01T04:29

By Olivia
at 2014-02-04T15:05
at 2014-02-04T15:05

By Rebecca
at 2014-02-04T17:18
at 2014-02-04T17:18

By Joe
at 2014-02-07T11:42
at 2014-02-07T11:42

By Elvira
at 2014-02-11T11:36
at 2014-02-11T11:36

By Rebecca
at 2014-02-13T08:27
at 2014-02-13T08:27

By Necoo
at 2014-02-17T20:12
at 2014-02-17T20:12
Related Posts
請新竹有可以維修機械鍵盤的地方嗎?

By Hedda
at 2014-01-23T20:41
at 2014-01-23T20:41
Aviva Krypton 跟 SS Sensei MLG 心得

By Lily
at 2014-01-23T16:19
at 2014-01-23T16:19
第二把鍵盤推薦

By Joseph
at 2014-01-23T00:32
at 2014-01-23T00:32
Filco工房 古代朱塗

By Hedy
at 2014-01-22T20:47
at 2014-01-22T20:47
請教鍵盤吸塵器這種工具

By Joe
at 2014-01-22T19:09
at 2014-01-22T19:09