外设天下 - 电脑外设发烧友聚集地

12下一页
我的人缘0

[心得] 从poker到gh60,做一把属于自己的60%

15 140208
楼主
跳转到指定楼层
本帖最后由 fragranthill 于 2014-3-17 17:02 编辑



  对于程序员来说,一把好的键盘,无异于一把好弓对于猎人.相信,好多程序员接触机械键盘后,都再也离不开了.还好在未满三十之前体验了cherry的键盘,避免了写了半辈子代码后才发现原来还有如此好用的工具的悲剧.

  对于不烧灯,不烧键帽,实用至上的我.在用了几年的机械,把一套原厂的POM键帽磨成了镜面之后,本以为,一把G80-3000就能用一辈子了,这时候却遇上了Poker.

  因为工作上的需要,经常会在其他的地方办公, 普通体积的键盘当然是不方便携带.所以经常不得不忍受薄膜的渣手感,或是剪力脚的略渣手感. 感谢ikbc给我们设计了Poker. 仅有61个键,在完全和104键位一致的配列下,实现了全尺寸键盘的所有按键功能. 这种精妙的设计,让人一得到它就再也无法自拔了.Poker2的自主编程,Fn,Pn层,更上人眼前一亮. 这时候poker已经完全可以当做主力键盘来使用了. 60%的尺寸,让写代码的双手基乎不需要移动, 效率甚至超过了体积超大的3000.

  不过我的使用环境有些特殊,经常在Linux和Mac两种系统上工作.最常用的编辑器是VIM,Xcode下,也使用了Xvim来实现Vi的编辑模式.Firefox用的是Vimperator. 所以巴不得所有的操作都能用Vi的方式实现. 想把H,J,K,L变成方向键, 想把F,B变成PageDown,PageUp. 当然更想把Caps换成Ctrl...... 于是我就十分期待肉鸽的新固件了. 但是新固件出来后,还是让人很失望. Fn放到左侧后,不得不牺牲LAlt或是LGui,对于Linux下使用Awesome当做窗口管理器的我来说,这两个键是必不可少的. 对于Mac来说,这两个键更是十分重要. 即然官方的固件不支持,就只好自己来想办法解决了.遗憾的是Poker并不开源. 自己写固件的可能性几乎为0,在有想用飞线改键的情况下,只能用软件来解决了.

  最终希望的按键定义是下面这张图这样.左右两个Fn键, 左手按下Fn时,实现的是类似的Vi的操作方式,右手按下Fn时,进入F区,方便在调试之类的操作时使用. 两种方式都能通过按下Fn+Space的方式锁定在当前层.类似于Poker的Toggle层.
然后针对Esc键有些特殊要求.Shift+Esc时,能够输出波浪号.这样即保证了shell下和编程时使用~的需求, 又能保证vim切换模式不受影响(Alt+j还是不如Esc方便)

从poker到gh60,做一把属于自己的60%

  先说一下,我在linux上用的方法. 在X下,使用Xmodmap可以很方便的自定义按键, 大多数Vim和Emacs用户可能都用它交换过Caps和Ctrl键.我也是一直在用xmodmap来解决大革命鼠标和linux的兼容问题的. 所以我就用xmodmap来给poker重新定义了一下布局. 把LCTRL键,定义为一个目前键盘已经不使用的Mode_Switch键,当做自定义的Fn键, 然后结合Poker原来的Pn层编程.实现了完全自定义Poker键位的目的.

配置文件见附件(具体的使用方法去man xmodmap吧).
xmodmap.zip (727 Bytes, 下载次数: 1547)


  我首先将Capslock改成了Control,然后交换了左Alt和左Gui(这样在mac和awesome下都比较方法,按gui,也是win键要容易的多了). 最关键的地方是把左Ctrl设置成了Mode_switch键. 然后就可以使用keysym来自定义其他键位的键值了. keysym 键位后面可以设置四个键值, 分别是单独按下该键, 与Shift组合按下, 与Mode_switch组合按下, 与Shift+Mode_switch组合按下时输入的键值. 这样相当于为poker又增加了一个Fn键. 而且这个Fn键显示更强大一些, 实现上图的部分配列当然是不成问题的.

  解决了Linux下的键位设置,接下来就是解决下Mac的了. OS X已经抛弃了X了好久了.所以就没有办法像在Linux上使用Xmodmap了.不过Mac上有强大的KeyRemap4MacBook,同样也能自定义键位.只不过使用起来要复杂一点,还要配合和KeyRemap同为Takayama Fumihiko开发的另一款软件 PCKeyboardHack来使用.

  首先,进入系统偏好设置->键盘->修饰键, 将CapsLock和Control都设置为无操作.然后打开PCKeyboardHack,把Change Caps Lock选中,后面的keycode设置为59,即将Caps改成LeftControl键. 之后,选中Change Control_L键,将keycode设置为110,即键盘上并不存在的app键.
从poker到gh60,做一把属于自己的60%

  设置好PCKeyboardHack之后,KeyRemap4MacBook,切换到Misc&Uninstall标签,打开private.xml,把该文件的内容,用附件 private.zip (461 Bytes, 下载次数: 1572) 的设置替换掉.然后切换到ChangeKey标签,ReloadXML之后,选中Bluedeep Fn Mod 和Bluedeep Application Key to Fn即可实现上图的部分配列了.
从poker到gh60,做一把属于自己的60%


  当然,这两种方法都只实现了部分关键的配列,也就是vi方式方向键. 而且这两种方法都是借助软件实现的.在使用的机器和系统上也有局限性(windows上有好多软件都能实现这个功能,就不多说了).能够在61键的设备上,实现上图的所有配列的硬件,当然首选GH60了.

  感谢悬壶团购了一次性价比极高的GH60 PCB. 团购等待的时间有点长,但是的确物超所值. 下面我简单说一下在GH60实现上图配列的过程吧.

  GH60支持多种配列,按上图当然是选择和poker的61键一样的配列来焊轴了.

  PCB收到后,包装的很严,赠送的GH60鼠标垫正好被用来当做了防震垫:D. 那一包神秘的轴就是某厂商的国产红轴(是哪家产的,悬壶是打死也不说呀.不过听说不久后就会量产的).
从poker到gh60,做一把属于自己的60%

  一包轴65颗,焊一组gh60完全够用了. 先来摆个POSE.
从poker到gh60,做一把属于自己的60%

  用手机拍滴,凑合看吧. 这红轴模具很不错.不过轴盖的设计和Cherry有些区别,不能从上方取轴盖的,只能用镊子在下面插进去拆盖了. 拆解的图,好多大大都上过了,不多说了.光上个轴芯图吧.
从poker到gh60,做一把属于自己的60%

  PCB和鼠标垫严丝合缝, 看,红色的投影漂亮不.
从poker到gh60,做一把属于自己的60%    从poker到gh60,做一把属于自己的60%


  板子做工中规中矩吧,说不上太好,不过在这个价格里,算是物超所值的.
从poker到gh60,做一把属于自己的60%

  先把国产轴都插上试一下
从poker到gh60,做一把属于自己的60%

  还剩了4颗轴,和工具一起来张全家福
从poker到gh60,做一把属于自己的60%

  先给焊点都镀层锡吧.不然不是很容易焊.
从poker到gh60,做一把属于自己的60%

  全焊好啦. 用xev测试一下吧. 发现左win的位置没响应. 检查下焊点,原来这个位置,支持三个配列,两个脚的焊点太近了,一没注意就短路了.吸锡后修复一下.
从poker到gh60,做一把属于自己的60%

  装上键帽,加上poker外壳后,试了一下, 手感还不错. 比cherry红轴压力稍大一点,略肉,不过习惯后很舒服.

  红轴没有段落感,所以我觉得它不是太适合写代码.因为回馈很弱,触发太浅,容易误操作. 所有用了几天之后,决定还是换上茶轴吧. 正好淘的poker白钢板也到了,所有焊下了所有的红轴,又安装了一次茶轴.

  这款PCB的做工在拆轴的时候能看出来的确还不错. 吸锡比较干净,焊盘也很牢固.拆轴比较容易.

  poker的钢板和GH60并不是太兼容. 主要是多了一个固定的卡子,PCB上没有留空,只好用钳子暴力折断了. 其次是空格的卫星轴的钢丝位置不一至. poker是在下方的.不过GH60的钢丝是在上方的.只好用钢锉再多开两个圆槽了.
从poker到gh60,做一把属于自己的60%    从poker到gh60,做一把属于自己的60%

  开好槽后,再装钢板就没问题了.固定好所有的轴后,开始重复焊接,清洗下pcb吧.然后再装壳,装键帽,又一把茶轴弄好了.
从poker到gh60,做一把属于自己的60%    从poker到gh60,做一把属于自己的60%

  硬件装好后,就是要写固件了. 不得不说一下,用Thread Starter的ukbdc gui写固件是比较直观,但是bios下的兼容实在太差了.最成熟的库应该还是tmk_keyboard.按上面的配列,在tmk_keyboard中编译好自己的keymap_poker.c, 用dfu-programmer烧录好固件就搞定了.
配列中,我将CapsLock设置为了RControl,左侧的Alt和Gui也都设置为了RAlt和RGui,这样固件和上面Xmodmap,KeyRemap4MacBook的设置就不冲突了. 我自己的电脑,配置好软件后,不论使用什么键盘,都能实现上图的Vim配列了. 而且和自己的Gh60不冲突. GH60则在所有的电脑上都能实现上图完整的配列. 当做主键盘来用,简直太酷了:D

  固件自己测试了几周,感觉没什么问题了. 现在发出来共享给vimer吧.
  固件下载: vim_gh60.zip (20.77 KB, 下载次数: 1670)

至此,一把完全属于自己的60%就全部搞定了.

配上iKBC的金属壳后,和poker来张合影吧,哈哈,还能看出来,哪个是gh60,哪个是poker不?  :)
从poker到gh60,做一把属于自己的60%    从poker到gh60,做一把属于自己的60%


再来个和mac的合影, iKBC的金属壳来搭mpb还是真不错滴
从poker到gh60,做一把属于自己的60%    从poker到gh60,做一把属于自己的60%


评分

参与人数 1技术分 +2 +388 收起 理由
prodigy_l + 2 + 388 很给力!

查看全部评分

0
已赞
微信分享 收藏
回复

使用道具 举报

我的人缘0
推荐
发表于 2014-3-17 17:31 只看该作者
很棒,支持DIY~
回复 支持 3 反对 1

使用道具 举报

我的人缘0
推荐
发表于 2014-3-17 17:49 只看该作者
太洋氣了....
回复 支持 2 反对 0

使用道具 举报

我的人缘0
4
发表于 2014-3-17 18:17 只看该作者
这个水潜的,,,,,大师级的啊,,,
回复 支持 反对

使用道具 举报

我的人缘0
5
发表于 2014-3-17 19:41 只看该作者
  高大上
回复 支持 反对

使用道具 举报

我的人缘0
6
发表于 2014-3-17 20:06 只看该作者
我今天也没忍住,给我的gh60配了个肉鸽的金属壳,唉,第三个金属壳了,mkc,榔头,加这次的ikbc壳

点评

哈哈,60%就是坑呀. ikbc的壳便携性很不错,拿起来,不是很重. 要是放家里看,FMJ是首选大坑呀  详情 回复 发表于 2014-3-18 09:15
回复 支持 反对

使用道具 举报

我的人缘0
7
发表于 2014-3-18 09:15 只看该作者
bromfield 发表于 2014-3-17 20:06
我今天也没忍住,给我的gh60配了个肉鸽的金属壳,唉,第三个金属壳了,mkc,榔头,加这次的ikbc壳

哈哈,60%就是坑呀. ikbc的壳便携性很不错,拿起来,不是很重.
要是放家里看,FMJ是首选大坑呀

点评

很难收到啊  详情 回复 发表于 2014-3-18 13:08
回复 支持 反对

使用道具 举报

我的人缘0
8
发表于 2014-3-18 13:08 只看该作者
fragranthill 发表于 2014-3-18 09:15
哈哈,60%就是坑呀. ikbc的壳便携性很不错,拿起来,不是很重.
要是放家里看,FMJ是首选大坑呀{:i ...

很难收到啊

点评

我看见了  详情 回复 发表于 2014-3-18 21:14
最近ec有在团FMJ的. 拒说是最后一次复刻了.  详情 回复 发表于 2014-3-18 14:05
回复 支持 反对

使用道具 举报

我的人缘0
9
发表于 2014-3-18 14:05 只看该作者

最近ec有在团FMJ的. 拒说是最后一次复刻了.
回复 支持 反对

使用道具 举报

我的人缘0
10
发表于 2014-3-18 21:14 只看该作者
测试

我看见了
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则