Retro Thinkpad Mod

传奇般的Thinkpad已经问世25周年了,坚若磐石(误)的设计和做工,使得它一直是追求稳定性(以及捡垃圾的可能性)的笔记本爱好者的最爱。今年联想推出的25周年纪念款thinkpad,诚意十足地换上了传统的7行键盘,但是1800美元的售价让人望洋兴叹。话说,原来联想也知道当初换成孤岛式键盘是一个失败呢。

手上的x230是第一代换新款键盘的笔电,由于是实验室的财产,周转到我这儿键盘已经不堪用了。虽然盖上键盘膜还是可以避免键帽弹出来,但实在是太丑和影响手感。于是,我经常性地背着电脑和外接键盘。。。

偶然间看到帖子,说x220的传统键盘可以装在x230上!回国后,马上在万能的淘宝上捡了若干垃圾配件,开始改装。

基本上流程可以在ThinkWiki的这个页面找到,这里只是做一个记录和坑的提醒。

材料

  • 螺丝刀(需要较小的型号来拆键盘排线)
  • x220的键盘(我买的编号是FRU: 45N2141)
  • x220的掌托(也可以自己打磨x230的掌托来适配啦)
  • 透明胶带(用于屏蔽排线上的几个电极)

keyboard

拆卸

首先,把电池拆了!

老款Thinkpad相当良心地在背面螺丝孔标注了拆卸的部件,例如:键盘,触控板,内存,硬盘。用户只要根据图案拆解就可以。这里我们需要拆的是标着键盘的两个螺丝,和标着触控板的5个螺丝。

backplate

接着,翻过来把键盘往屏幕方向一推,就可以掀开,拔掉排线,取出来。掌托朝上45度掀起来,排线需要打开固定的卡口才能抽出来,整个掌托用点力就拔出来了。(此时桌上似有塑料粉末。。。)

看到掌托内部,我傻眼了。。。触摸板和指纹识别芯片都在上面,而我买的x220的只是一个塑料件。开始辛苦地拆芯片。。。

zhangtuo0 zhangtuo1

而最终成果是锡纸乱七八糟地贴着,指纹芯片空间上不兼容,就随便耷拉着。嘛,都不是刚需,装起来也看不见=-=

改造

根据thinkwiki上的说明,还需要屏蔽x220键盘排线上的几个电极,否则会烧坏键盘(毕竟不是一款笔记本的原件)。

首先掀开键盘最上方的黑塑料条,暴露出压着排线的金属。然后翻过来,拆这俩螺丝(需要较小的螺丝刀)。

breakx220 breakx220new

接着,我们就可以把排线抽出来,实际上有两层。我们需要屏蔽底下(贴近键盘的那面)从左往右(照片中视角)第2-4个电极。。这里简单用透明胶带粘上就可以。

电极这里拍虚了,盗张thinkwiki的图。。。因为实在很小。

contactmine contact

最后,怎么拆的就怎么装回去。。大功告成!

finish

优化

传统的7排键盘多出来几个按键,在x230上是无法辨识的,而且部分键位是错乱的。虽不影响正常使用,还是可以优化的地方。

最完美的办法是刷BIOS,这么危险的事情还是先放一边,能在操作系统层面搞定的就不要去麻烦底层。具体可以参考这个键位错乱表

对我来说,那些组合键反正已经用习惯了x230的方式,就懒得更改了,就把delete和pageup/pagedown给换一下。以下是linux的操作方法:

# Create and edit: /lib/udev/hwdb.d/99-x220-keyboard.hwdb 

evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*  
 KEYBOARD_KEY_d3=home
 KEYBOARD_KEY_d2=end
 KEYBOARD_KEY_c7=delete

这里的KEYBOARD_KEY_xx的编号可以用evtest得到。配置完成后,重新编译hwdb就可以用啦!

# with root
systemd-hwdb update  
udevadm trigger  

另外附一个私货:把Caps lock键换成Ctrl美滋滋

# edit ~/.Xmodmap 

!modifies CapsLock to Control, and Shift+CapsLock to CapsLock
!
clear lock  
clear control  
add control = Caps_Lock Control_L Control_R  
keycode 66 = Control_L Caps_Lock NoSymbol NoSymbol