GH60刷韌體教學(不使用網頁工具) - 鍵鼠

By Eartha
at 2015-03-15T03:28
at 2015-03-15T03:28
Table of Contents
雖然說板上已經有先進發了教學文章
但對我來說,網頁工具總是不太適應
花了點時間研究、測試了下如何使用源碼刷韌體
做個紀錄,順便分享給有興趣拼複雜設定的板友。
關於這篇教學
對於不會用指令的板友只好說聲抱歉了
我真的不知道在windows下面要怎麼搞orz
參考資料來源為(簡體不喜勿點)
http://www.v2ex.com/t/161887
測試環境是 Debian testing
所需的package如下
automake dfu-programmer gcc-avr avr-libc
首先,由git 取得源碼
git clone https://github.com/kairyu/tmk_keyboard_custom.git
這邊使用kairyu的fork是為了支援rev. CHN的PCB
台灣跟中國的GH60,應該大多是這個版本
tmk 似乎不支持這個版本,但在這邊還是一併附上連結
https://github.com/tmk/tmk_keyboard
接著,進到跟GH60相關的子資料夾進行些基本的修改
cd tmk_keyboard_custom/keyboard/gh60/
除了共通的config.h、keymap_common.h之外
還提供了數個範例keymap layout 包含HHKB, poker, poker2等等
為了支援rev. CHN,首先在config.h加入一行
#define GH60_REV_CHN 1
關於這些範例,kairyu似乎沒有update所有的範例檔
所以需要將 tmk在 keymap_common.c中定義的KEYMAP_HHKB
複製一份貼到kairyu的版本
這是我修改好的版本 http://ppt.cc/LnZ9
poker 的範例是確定可以成功編譯的
對於還是不能編譯的範例,試著在.c檔尾部加入這一段
#ifdef KEYMAP_IN_EEPROM_ENABLE
uint16_t keys_count(void) {
return sizeof(keymaps) / sizeof(keymaps[0]) * MATRIX_ROWS * MATRIX_COLS;
}
uint16_t fn_actions_count(void) {
return sizeof(fn_actions) / sizeof(fn_actions[0]);
}
#endif
修改配置
這部份要對照著keymap_poker.c及keymap_common.c一起看
在keymap_poker.c中能清楚理解一份配置的結構
首先定義ANSI配置下每一層各個按鍵的詳細行為
再於PROGMEM fn_actions[]裡陳述層之間怎麼切換
由此可知,如果要做特殊的配置方式
需視情況先在 keymap_common.c定義好配置
再於keymap_mapname.c中寫定每層中各個鍵的行為
例如基於HHKB改了個63 key的玩意出來
http://ppt.cc/rrPw
可配置鍵被列表在 tmk_keyboard_custom/common/keycode.h
層與層的行為被定義在 tmk_keyboard_custom/common/action_code.h
這些行為我還沒有摸到很熟,還請各路高手補充。
編譯與刷韌體
非常簡單,假設要編譯keymap_mymap.c,只需要輸入
make KEYMAP=mymap
接下來按下GH60背面的黑色小按鈕三秒後放開,進入刷機模式
此時若以lsusb 查看USB裝置,會看到GH60被辨識為atmel裝置
確認進入刷機模式後,輸入
make KEYMAP=mymap dfu
等待數秒後即大功告成
追加:用這個方法刷韌體,必須先把eeprom清空,否則行為會很怪
清空的方法為插入usb 前,按住 backspace與 space
講點題外話
星期五晚上,跑了一趟軍團做浸染,深色真的染好久
如果以後板友考慮要做深色的浸染
最好有奮戰兩個小時以上的心理準備....
我整個拖到店長的下班時間,11點多才搞定orz
成品....健康蔬菜風? http://ppt.cc/fcQv
特別感謝 agong8664、bullock、cssh
tex 60%鋁殼 (#1Ky7qTsB) 的品質我相當滿意
幾篇教學、推坑的文章對起步的幫助也是不小
--
但對我來說,網頁工具總是不太適應
花了點時間研究、測試了下如何使用源碼刷韌體
做個紀錄,順便分享給有興趣拼複雜設定的板友。
關於這篇教學
對於不會用指令的板友只好說聲抱歉了
我真的不知道在windows下面要怎麼搞orz
參考資料來源為(簡體不喜勿點)
http://www.v2ex.com/t/161887
測試環境是 Debian testing
所需的package如下
automake dfu-programmer gcc-avr avr-libc
首先,由git 取得源碼
git clone https://github.com/kairyu/tmk_keyboard_custom.git
這邊使用kairyu的fork是為了支援rev. CHN的PCB
台灣跟中國的GH60,應該大多是這個版本
tmk 似乎不支持這個版本,但在這邊還是一併附上連結
https://github.com/tmk/tmk_keyboard
接著,進到跟GH60相關的子資料夾進行些基本的修改
cd tmk_keyboard_custom/keyboard/gh60/
除了共通的config.h、keymap_common.h之外
還提供了數個範例keymap layout 包含HHKB, poker, poker2等等
為了支援rev. CHN,首先在config.h加入一行
#define GH60_REV_CHN 1
關於這些範例,kairyu似乎沒有update所有的範例檔
所以需要將 tmk在 keymap_common.c中定義的KEYMAP_HHKB
複製一份貼到kairyu的版本
這是我修改好的版本 http://ppt.cc/LnZ9
poker 的範例是確定可以成功編譯的
對於還是不能編譯的範例,試著在.c檔尾部加入這一段
#ifdef KEYMAP_IN_EEPROM_ENABLE
uint16_t keys_count(void) {
return sizeof(keymaps) / sizeof(keymaps[0]) * MATRIX_ROWS * MATRIX_COLS;
}
uint16_t fn_actions_count(void) {
return sizeof(fn_actions) / sizeof(fn_actions[0]);
}
#endif
修改配置
這部份要對照著keymap_poker.c及keymap_common.c一起看
在keymap_poker.c中能清楚理解一份配置的結構
首先定義ANSI配置下每一層各個按鍵的詳細行為
再於PROGMEM fn_actions[]裡陳述層之間怎麼切換
由此可知,如果要做特殊的配置方式
需視情況先在 keymap_common.c定義好配置
再於keymap_mapname.c中寫定每層中各個鍵的行為
例如基於HHKB改了個63 key的玩意出來
http://ppt.cc/rrPw
可配置鍵被列表在 tmk_keyboard_custom/common/keycode.h
層與層的行為被定義在 tmk_keyboard_custom/common/action_code.h
這些行為我還沒有摸到很熟,還請各路高手補充。
編譯與刷韌體
非常簡單,假設要編譯keymap_mymap.c,只需要輸入
make KEYMAP=mymap
接下來按下GH60背面的黑色小按鈕三秒後放開,進入刷機模式
此時若以lsusb 查看USB裝置,會看到GH60被辨識為atmel裝置
確認進入刷機模式後,輸入
make KEYMAP=mymap dfu
等待數秒後即大功告成
追加:用這個方法刷韌體,必須先把eeprom清空,否則行為會很怪
清空的方法為插入usb 前,按住 backspace與 space
講點題外話
星期五晚上,跑了一趟軍團做浸染,深色真的染好久
如果以後板友考慮要做深色的浸染
最好有奮戰兩個小時以上的心理準備....
我整個拖到店長的下班時間,11點多才搞定orz
成品....健康蔬菜風? http://ppt.cc/fcQv
特別感謝 agong8664、bullock、cssh
tex 60%鋁殼 (#1Ky7qTsB) 的品質我相當滿意
幾篇教學、推坑的文章對起步的幫助也是不小
--
Tags:
鍵鼠
All Comments

By Edward Lewis
at 2015-03-16T18:30
at 2015-03-16T18:30

By Una
at 2015-03-17T13:34
at 2015-03-17T13:34

By Vanessa
at 2015-03-20T04:34
at 2015-03-20T04:34

By Rosalind
at 2015-03-24T00:29
at 2015-03-24T00:29

By Necoo
at 2015-03-28T08:30
at 2015-03-28T08:30

By Harry
at 2015-04-01T13:49
at 2015-04-01T13:49

By Frederic
at 2015-04-03T06:17
at 2015-04-03T06:17

By Carol
at 2015-04-06T03:05
at 2015-04-06T03:05

By Harry
at 2015-04-06T16:52
at 2015-04-06T16:52

By Elma
at 2015-04-07T00:13
at 2015-04-07T00:13

By Liam
at 2015-04-09T05:54
at 2015-04-09T05:54

By Ina
at 2015-04-12T08:38
at 2015-04-12T08:38

By Hazel
at 2015-04-13T15:28
at 2015-04-13T15:28

By Doris
at 2015-04-18T05:16
at 2015-04-18T05:16

By Lucy
at 2015-04-21T13:18
at 2015-04-21T13:18

By Heather
at 2015-04-25T18:37
at 2015-04-25T18:37

By Iris
at 2015-04-29T07:44
at 2015-04-29T07:44
Related Posts
想請推薦淺色鍵帽

By Kristin
at 2015-03-14T23:32
at 2015-03-14T23:32
TYPE HEAVEN微開箱 + 台南小型版聚

By Donna
at 2015-03-14T21:39
at 2015-03-14T21:39
rapoo 黃軸 *(66-1)

By Sarah
at 2015-03-14T20:03
at 2015-03-14T20:03
這下糗很大....

By Mason
at 2015-03-14T17:24
at 2015-03-14T17:24
da 滾輪

By Dorothy
at 2015-03-14T14:20
at 2015-03-14T14:20