|
|
[心得]
从poker到gh60,做一把属于自己的60%
15
140199
楼主

本帖最后由 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方便)
先说一下,我在linux上用的方法. 在X下,使用Xmodmap可以很方便的自定义按键, 大多数Vim和Emacs用户可能都用它交换过Caps和Ctrl键.我也是一直在用xmodmap来解决大革命鼠标和linux的兼容问题的. 所以我就用xmodmap来给poker重新定义了一下布局. 把LCTRL键,定义为一个目前键盘已经不使用的Mode_Switch键,当做自定义的Fn键, 然后结合Poker原来的Pn层编程.实现了完全自定义Poker键位的目的.
配置文件见附件(具体的使用方法去man xmodmap吧).
xmodmap.zip
(727 Bytes, 下载次数: 1546)
我首先将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键.
设置好PCKeyboardHack之后,KeyRemap4MacBook,切换到Misc&Uninstall标签,打开private.xml,把该文件的内容,用附件
private.zip
(461 Bytes, 下载次数: 1572)
的设置替换掉.然后切换到ChangeKey标签,ReloadXML之后,选中Bluedeep Fn Mod 和Bluedeep Application Key to Fn即可实现上图的部分配列了.
当然,这两种方法都只实现了部分关键的配列,也就是vi方式方向键. 而且这两种方法都是借助软件实现的.在使用的机器和系统上也有局限性(windows上有好多软件都能实现这个功能,就不多说了).能够在61键的设备上,实现上图的所有配列的硬件,当然首选GH60了.
感谢悬壶团购了一次性价比极高的GH60 PCB. 团购等待的时间有点长,但是的确物超所值. 下面我简单说一下在GH60实现上图配列的过程吧.
GH60支持多种配列,按上图当然是选择和poker的61键一样的配列来焊轴了.
PCB收到后,包装的很严,赠送的GH60鼠标垫正好被用来当做了防震垫:D. 那一包神秘的轴就是某厂商的国产红轴(是哪家产的,悬壶是打死也不说呀.不过听说不久后就会量产的).
一包轴65颗,焊一组gh60完全够用了. 先来摆个POSE.
用手机拍滴,凑合看吧. 这红轴模具很不错.不过轴盖的设计和Cherry有些区别,不能从上方取轴盖的,只能用镊子在下面插进去拆盖了. 拆解的图,好多大大都上过了,不多说了.光上个轴芯图吧.
PCB和鼠标垫严丝合缝, 看,红色的投影漂亮不.
板子做工中规中矩吧,说不上太好,不过在这个价格里,算是物超所值的.
先把国产轴都插上试一下
还剩了4颗轴,和工具一起来张全家福
先给焊点都镀层锡吧.不然不是很容易焊.
全焊好啦. 用xev测试一下吧. 发现左win的位置没响应. 检查下焊点,原来这个位置,支持三个配列,两个脚的焊点太近了,一没注意就短路了.吸锡后修复一下.
装上键帽,加上poker外壳后,试了一下, 手感还不错. 比cherry红轴压力稍大一点,略肉,不过习惯后很舒服.
红轴没有段落感,所以我觉得它不是太适合写代码.因为回馈很弱,触发太浅,容易误操作. 所有用了几天之后,决定还是换上茶轴吧. 正好淘的poker白钢板也到了,所有焊下了所有的红轴,又安装了一次茶轴.
这款PCB的做工在拆轴的时候能看出来的确还不错. 吸锡比较干净,焊盘也很牢固.拆轴比较容易.
poker的钢板和GH60并不是太兼容. 主要是多了一个固定的卡子,PCB上没有留空,只好用钳子暴力折断了. 其次是空格的卫星轴的钢丝位置不一至. poker是在下方的.不过GH60的钢丝是在上方的.只好用钢锉再多开两个圆槽了.
开好槽后,再装钢板就没问题了.固定好所有的轴后,开始重复焊接,清洗下pcb吧.然后再装壳,装键帽,又一把茶轴弄好了.
硬件装好后,就是要写固件了. 不得不说一下,用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不? :)
再来个和mac的合影, iKBC的金属壳来搭mpb还是真不错滴
|
评分
-
查看全部评分
|