程序员装逼之hhkb&leopold键位改造

前言:

      是的,这次就不聊技术了,聊点外设的东东。为什么会起这么一个话题?熟悉我的朋友应该知道,我这人是个典型装逼分子,怎么说? 上班自带各种键盘,鼠标,我自己的桌上桌,必须两个键盘,甚至桌子上放个小鱼缸。 当然那是前几年的事情了,现在岁数大了,也就不那么嘚瑟了。

    该文章后续仍在不断的更新修改中, 请移步到原文地址 http://xiaorui.cc/?p=5654

键盘

此图像的alt属性为空;文件名为53.pic_meitu_1.jpg

配置

      说正题,同事总问我,怎么更好的使用hhkb,或者说更好的融入hhkb这类奇葩键位。很多人不爽hhkb有两个原因,一个是没有单独的方向键,所以每次需要用右手的小拇指勾住 FN + 方向键。另一个是control跑到寻常键盘的capsLock上了。这类键位对于vim党来说是可以接受的。

       为什么? vim党 (包含 ide里装vim插件 )  他们的快捷键很多都跟 control组合使用,正常键盘control在左下角,操作起来也难受。那么应该放在哪里? 肯定是capsLock了。因为最左面那几个功能键,tag & shift都是常用的。

       我个人把我所有的键盘的capsLock大小写都配置成control控制键了,上下左右方向跟vim一样,是H J K L 。这个键位配置需要借助工具karabiner来配置。安装后,我们可以直接编辑karabiner配置,vim   ~/.config/karabiner/karabiner.json

// xiaorui.cc & golang 
             "rules": [
                    {
                        "description": "Change control+hjkl to arrow keys",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "h",
                                    "modifiers": {
                                        "mandatory": [
                                            "control"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "j",
                                    "modifiers": {
                                        "mandatory": [
                                            "control"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "down_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "k",
                                    "modifiers": {
                                        "mandatory": [
                                            "control"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "up_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "l",
                                    "modifiers": {
                                        "mandatory": [
                                            "control"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_arrow"
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    },

但是这样还不太完美,我们知道 mac os切换桌面是control 左/右。但hhkb按照我们先前的键位配置,control + L 是右,但是还不能切桌面。我的方法是给hhkb再加上一组方向键组合,使用right command + p l ; ‘ 。 所以,再加上control就可以切换桌面了。 hhkb和leopold都可以使用这个配置。当然这要因人而异 !

// xiaorui.cc
                   {
                        "description": "Change right_command+pl;, 山 to arrow keys",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "l",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "semicolon",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "down_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "p",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "up_arrow"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "from": {
                                    "key_code": "quote",
                                    "modifiers": {
                                        "mandatory": [
                                            "right_command"
                                        ],
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_arrow"
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    }

为了更好的使用hhkb,我建议大家在ide和chrome里都集成vim模式。下面是chrome vimium & cvim 的使用效果。

配置键盘的 dip

HHKB的DIP在mac下直接 2 3 调到 ON 就可以了,Leopod的dip打开2就可以跟 mac 自带的键位一一对应了。

总结:

   我在桌子上放了两把键盘,一个是hhkb type-s,一个是leopold fc660m红轴。hhkb静电容的手感不是所有人都喜欢,包括我自己,但为毛会用hhkb这么久? 我个人认为主要有两点,手不累,声音安静。leopold fc660m更适合绝大数人的手感,红轴的紧压,微段落感,但因为机械键盘是有钢板的,所以长时间打字手指头会疼。 所以,我现在是换着用键盘。


大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码,感谢!
另外再次标注博客原地址  xiaorui.cc