目的


自定义组合键

上一篇讲了如何自定义键位,这一篇主要讲如何自定义组合键。

例如 复制,粘贴,剪切,保存,以及根据自己的需求进行定义。


所需工具


1. Fork或者Clone一个 tmk_keynoard 到本地:

github.com/cub-uanic/tmk_keyboard

这是一个tmk_keyboard的Fork,里面已经有Ergodox的配置,可以直接修改使用。

2. 编译需要一些工具,可通过如下方法安装:


brew install Caskroom/cask/crosspack-avr
或者
brew tap osx-cross/avr && brew install avr-libc

记得把 /usr/local/CrossPack-AVR-20131216/bin 加入到Path中

(以上是Mac下使用homebrew安装的,其他方式编译不过可根据提示自行配置,Windows大同小异)
参考链接:
http://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/#step2
https://www.obdev.at/products/crosspack/download.html


定义键位


编辑文件:tmk_keyboard/keyboard/ergodox/keymap.c

1.按照之前使用的键位进行定义

2.自定义组合键:

  • 组合键定义在 fn_actions
  • 使用函数 ACTION_MODS_KEY(mods,key)
  • 使用FN*进行调用
例:
static const uint16_t PROGMEM fn_actions[] = {
    ACTION_FUNCTION(TEENSY_KEY),                    // FN0 - Teensy key
    ACTION_LAYER_MOMENTARY(1),                      // FN1 - switch to Layer1
    ACTION_LAYER_TOGGLE(2),                         // FN2 - switch to Layer2
    ACTION_LAYER_MOMENTARY(3),                      // FN3 - toggle Layer3 aka Numpad
    ACTION_LAYER_SET(0, ON_PRESS),                  // FN4 - set Layer0

    ACTION_MODS_KEY(MOD_LGUI,KC_C),                 // FN5 - command + C  复制
    ACTION_MODS_KEY(MOD_LGUI,KC_V),                 // FN6 - command + V  粘贴
    ACTION_MODS_KEY(MOD_LGUI | MOD_LSFT , KC_Z),    // FN7 - command + shift + Z
}

然后在上面的Layer中将键位定义为对应的FN*即可
还有一些更高级的用法(例如定义宏)可参考下面链接:

https://github.com/cub-uanic/tmk_keyboard/blob/master/tmk_core/doc/keymap.md#21-key-action


编译文件


cd tmk_keyboard/keyboard/ergodox

# just to be safe
make -f Makefile.lufa clean

# use one of these
make -f Makefile.lufa

编译成功会生成一个类似 tmk_keyboard/keyboard/ergodox/ergodox_lufa.hex 的文件。

如果编译不成功,自行google问题提示解决。
参考链接:

https://github.com/cub-uanic/tmk_keyboard/blob/master/keyboard/ergodox/Ergodox-FAQ.md


刷入键盘


上一篇 文章同样的方法将hex文件刷入键盘。


使用感受


  • 一定一定一定买无刻印键帽,方便边用边优化适合自己的布局。
  • 打字确实舒适不少。
  • 习惯需要了大概两三周的时间。
  • 配合一些其他的软件及浏览器插件进行使用,可最大程度减少使用鼠标/触摸板,双手不离开键盘,效率有所提高,关键是将手放键盘上也比较舒适。
  • 键盘的下边缘略硌手,自己加一个脚垫将键盘远端垫高形成一个角度,舒适很多。
  • 多思考多尝试,不断迭代,打造一款适合自己的Ergodox。