GH60 刷刷刷 by Mac - 鍵盤

Table of Contents

拿了這板子有段時間了

一開始有試著用 Windows 刷 layout 進去, 但一直失敗(應該跟 Windows 不合吧

但直到前一陣子有人分享用 Mac 刷, 這真是太好了, 終於可以開工了

Day 1

http://2.bp.blogspot.com/-KXV9LQ1YeJ8/VSxx46QVmpI/AAAAAAAAMnY/OEIXgwKdb2Y/s1600/P1030578.JPG

先上衛星軸, 但沒有空白鍵長度的連動桿子...

問金鍵盤說沒賣 7x 衛星軸

只好打開淘寶, 結果運費比買的東西還貴, 虧我買了 7x 衛星軸 4 個加 6.25x 衛星軸 3 個...

不過最後我是用 6.25x

Day 2
先排一下完成時的 layout

http://1.bp.blogspot.com/-boE1YAIVkE0/VTNYrFe3MoI/AAAAAAAAMss/RobJpI5N8W8/s1600/2015-04-14%2B00.00.27.jpg

Day 3
先上第一顆

http://4.bp.blogspot.com/-AA5wW3Gggpw/VTNYyjfKhpI/AAAAAAAAMs0/b1QEZEdp05w/s1600/2015-04-16%2B01.14.32.jpg

http://2.bp.blogspot.com/-eZM3Z6lksKo/VTNY-0wkIHI/AAAAAAAAMtA/9m15a5rdwiA/s1600/2015-04-18%2B13.59.01.jpg

Day 4
太久沒用烙鐵了, 慢慢焊, 而且還要一直調正軸的位置

http://4.bp.blogspot.com/-sOzujhEe7mI/VTNY-zLiLDI/AAAAAAAAMtE/Ir1jfYCgI9E/s1600/2015-04-19%2B14.28.41.jpg

Day 5
空白鍵的衛星軸總算來了

http://2.bp.blogspot.com/-dnTCt27HggI/VUSrf8UOVRI/AAAAAAAAMyw/ojKyPf8Jc8g/s1600/2015-04-26%2B16.34.46.jpg

Day 6
All Finish, 綠灰紅混軸

http://1.bp.blogspot.com/-5KKgGqaq9fQ/VUSrqfDzPJI/AAAAAAAAMy8/qCoOlcAV630/s1600/2015-05-02%2B12.45.32.jpg

上鍵帽

http://2.bp.blogspot.com/-Iw7EUjHA-Yc/VUSrqITJimI/AAAAAAAAMzA/JfOwRobYgUI/s1600/2015-05-02%2B18.45.33.jpg

http://2.bp.blogspot.com/-Wf8dqQJ236Q/VUSrp_F5_CI/AAAAAAAAMy4/v3gKx-QLbZc/s1600/2015-05-02%2B18.45.54.jpg

開始刷分位

沒裝 homebrew 先裝 homebrew

http://brew.sh/

利用 homebrew 安裝

brew install Caskroom/cask/crosspack-avr

brew install dfu-programmer

沒裝 git 先裝 git

brew install git

clone 客製的 tmk repository 這是 for GH60 RevCHN 版的

git clone https://github.com/kairyu/tmk_keyboard_custom.git

進到拉下來的 tmk_keyboard_custom 目錄, 再進到 gh60 的目錄

cd keyboard/gh60

vim config.h

找到 #define CONFIG_H

在底下加上 #define GH60_REV_CHN

然後

vim Makefile

註解或刪掉下面的

KEYMAP_IN_EEPROM_ENABLE = yes # Read keymap from eeprom

接上 gh60

輸入下列指令

system_profiler SPUSBDataType

會顯示

...
GH60:

Product ID: 0x6060
Vendor ID: 0xfeed
Version: 0.01
Speed: Up to 12 Mb/sec
Manufacturer: geekhack
Location ID: 0x14100000 / 14
Current Available (mA): 500
Current Required (mA): 100
...

然後按一下背面的按鈕後, 在下一次

system_profiler SPUSBDataType

會抓到

...
ATm32U4DFU:

Product ID: 0x2ff4
Vendor ID: 0x03eb (Atmel Corporation)
Version: 0.00
Serial Number: 1.0.0
Speed: Up to 12 Mb/sec
Manufacturer: ATMEL
Location ID: 0x14100000 / 15
Current Available (mA): 500
Current Required (mA): Unknown (Device has not been configured)
...

要是這個狀態才能刷分位進去

先刷 poker layout 試試

在 gh60 的目錄下下指令

make dfu

開始刷到下列訊息出現代表成功

...
Creating load file for Flash: gh60_lufa.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature gh60_lufa.elf gh60_lufa.hex
dfu-programmer atmega32u4 erase --force
Erasing flash... Success
Checking memory from 0x0 to 0x6FFF... Empty.
dfu-programmer atmega32u4 erase
Checking memory from 0x0 to 0x6FFF... Empty.
Chip already blank, to force erase use --force.
dfu-programmer atmega32u4 flash gh60_lufa.hex
Checking memory from 0x0 to 0x6A7F... Empty.
0% 100% Programming 0x6A80 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
Validating... Success
0x6A80 bytes written into 0x7000 bytes memory (95.09%).
dfu-programmer atmega32u4 reset

如果出現

avr-gcc: command not found

代表 AVR 的環境變數沒加進去

到家目錄開 .zshrc 或 .bashrc

cd ~

vim .zshrc



vim .bashrc

加入

#AVR
PATH="/usr/local/CrossPack-AVR/bin:$PATH"

再重啟 terminal 後重刷

測試鍵盤 layout 輸入

http://tedshd.github.io/keyboard_test_page/

客製 Layout

需要兩個 tool

http://www.keyboard-layout-editor.com/

http://www.enjoyclick.org/tkg/

layout editor 產生 keymap raw data 再丟到 keymap generator 產生 .c

以下為我設計的 layout

預設

http://www.keyboard-layout-editor.com/#/layouts/f5090521ca5239e85d1f2663c18fd9b5

fn 組合鍵

http://www.keyboard-layout-editor.com/#/layouts/cdb94b80ee1a27a733b98b06aeda4c94

Function layer 是 fn 組合鍵用的

keymap generator 的設定

Keyboard - GH60 (RevCHN)
Layer Mode - Normal
Number of Layers - 2
Layer0 - Default
Layer1 - Function layer
Fn - Layer action > Momentary layer 1

Fn Momentary layer 1 的意思就是當 fn 按下時是 layer 1 的 keymap
但不按 fn 時就關掉 layer1

這試了好久...

下載 .c 檔後, 把名字改成 keymap_tkg.c

丟到 gh60 目錄後執行

make KEYMAP=tkg dfu

就 ok 了

如果用我的 fn 組合鍵記得把多餘 fn 去掉
不然 .c 檔編譯會出錯
因為沒定義多的 fn 功能

前前後後快一個月的時間...

其實這過程最難的部分就是焊接了
因為不像一般焊電子零件
只要電路通了就好
因為是焊軸
只要用鍵盤就一定會一直敲它
而且拔鍵帽又會對軸施力
所以焊點要很堅固
這中間一直做使用的測試
不 ok 的軸要重焊
超累的

--

All Comments

Hamiltion avatarHamiltion2015-05-12
改裝軍團有7Xㄊㄧㄝˇㄙˉ
Edwina avatarEdwina2015-05-14
我現在要焊接SMD的東西@@感到麻煩
Dora avatarDora2015-05-14
等大大的開箱文哦! 是說我80%已經好多把了,一直想
嘗試60%又怕不習慣...喜歡客製化,但是客製化有不好脫手..
.唉
Skylar DavisLinda avatarSkylar DavisLinda2015-05-18
無鐵板要用五腳的 才不會歪七扭八
Catherine avatarCatherine2015-05-21
我都不知道平衡桿可以這樣裝XD 喜歡一字Enter
Necoo avatarNecoo2015-05-26
那是 iso 或日規用的 enter 所以才那樣裝