[键盘] GH60刷韧体教学(不使用网页工具)

楼主: revorea (追寻安身之地)   2015-03-15 03:28:37
虽然说板上已经有先进发了教学文章
但对我来说,网页工具总是不太适应
花了点时间研究、测试了下如何使用源码刷韧体
做个纪录,顺便分享给有兴趣拼复杂设定的板友。
关于这篇教学
对于不会用指令的板友只好说声抱歉了
我真的不知道在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) 的品质我相当满意
几篇教学、推坑的文章对起步的帮助也是不小
作者: kira3628800 (kira10!)   2015-03-15 09:51:00
我也做一把好了…已确认GH60可以上卫星轴但是想知道能不能上平衡杆
作者: agong8664 (阿贡)   2015-03-15 11:44:00
用铁板应该可以Costar的都是固定在铁板上
作者: kkkkkkq (kkkkkkq)   2015-03-15 12:25:00
想顺便问五脚轴该去哪里买,一般的好像都三脚
作者: winiel559 (大汉天威)   2015-03-15 12:46:00
问问佳传跟金键盘 我是用淘的
作者: wuliou (wuliou)   2015-03-15 13:05:00
我原本有一堆多余料件想组个GH60 结果发现要五脚轴才行上铁板又好重orz
作者: agong8664 (阿贡)   2015-03-15 13:52:00
有冒险精神可以玩gateron轴 它都是PCB Mounted不然就是去金建盘买吧 我第一把的轴是去金建盘买的不过好像只剩青轴 红轴剩有二极管的 要自己一颗颗拆开
作者: najoy (○巫女小姐○)   2015-03-15 19:54:00
推一个 可以写到这种程度的完全只能仰视无法直视OAO
作者: kira3628800 (kira10!)   2015-03-17 00:21:00
有没有办法使用GH60空出来的7个pin脚呢
楼主: revorea (追寻安身之地)   2015-03-17 00:27:00
硬件部份我完全不行阿orz照里讲应该可以,不过我不知道要从那里切入。
作者: cssh (邪恶总说:打包啦!)   2015-03-17 00:41:00
可以 我就把GH60改加小红点模组了
作者: kira3628800 (kira10!)   2015-03-17 00:49:00
好像版上没有看到这个东西的教学...
作者: joiedevivre (難道您鍵盤系? :D)   2015-03-17 12:28:00
求小红点教学。。。
作者: cssh (邪恶总说:打包啦!)   2015-03-17 13:17:00
问题是没东西可讲 我的PCB有预留线路 把TX RX接上即可TMK code base就包含有PS/2 mouse的function

Links booklink

Contact Us: admin [ a t ] ucptt.com