kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

2019-08-11 14:06:21 83点赞 387收藏 71评论

前言

这些天有值友在之前的制作键盘的原创中询问kbfirmware的详细使用教程,趁着最近在自制小太刀TEX Kodachi小红点机械键盘,就制作个详细kbfirmware使用教程好了。

低端客制化——画图汪键盘制作记录前言前排提示这是个低端客制化,大家不要将其和那些上百元上千元的客制化套件相比。键盘制作考虑到金钱及时间的消耗,没有去打PCB,没有钢材定位板,没有轴间纸,没有铝阳极外壳,没有酷炫的键帽,只是一把为了方便工作而制作出来的键盘,很丑,极其粗糙不精致。其实我不是很想把这个键盘的制作过程晒出来的,但是上次分qianseyue| 33 评论19 收藏77查看详情

PS:docs.qmk.fm有QMK固件的详细设置介绍,有兴趣的可以自己去看。


教程

小太刀Kodachi这款红点机械键盘最近很有名,TEX原版389元美刀,合计约2500元人民币。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

而挂了ThinkPad标志的限量版售价则翻了一倍,高达4999元人民币,标志就是值钱。kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

百科ThinkPad 七行小红点手工机械式键盘 SK-8865小红点机械键盘SK-8865搭载Cherry绿轴,保留了TrackPonint小红帽指点杆。外壳为铝合金不经冲压,CNC切割而成,模具为手工打造,表面经阳极氧化工艺处理。键帽则是80年代的复古Cherry球帽,ABS材质,还额外附赠一套无刻键帽,采用USB-C口有线连接,全球限量100台。 3 点评0 原创2 好价22去购买查看详情

小太刀的命名来自于ThinkPad X300,因为X300设计之初的研发代号为Kodachi。键位方面则是近似于ThinkPad的SK-8855和SK-8845键盘,所以联想的代号是SK-8865,相当于是一种延续。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

根据TEX Kodachi的键列,在keyboard-layout-editor画好了布局图,细节上自己作了改变。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

将keyboard-layout-editor生成的RAW数据,复制到kbfirmware中,点击Import。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

这时候kbfirmware会自动生成一个一个键盘矩阵,接着就能进行固件的自定义设置。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例


WINRING 连线

因为机械键盘都有防冲二极管,所以要区分感知引脚和驱动引脚。红色线的Rows代表驱动引脚,灰色线的Columns代表感知引脚。自动生成的矩阵中,有15个感知引脚和8个驱动引脚。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

Specify the diode direction指的是二极管方向。引用3dg12的图,大部分机械键盘的二极管负极接驱动引脚,正极接感知引脚,此时选项就是Column to Row。相反就是Row to Column。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

单独点击按键,可以看到这个按键的感知引脚和驱动引脚。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

kbfirmware不支持实时生成矩阵。如果修改了驱动引脚和感知引脚的数目,矩阵就会乱掉。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

这时候需要一个一个按键修改,才能把矩阵修改回来。需要耐性,还要注意不要重复。kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

另外kbfirmware中线与线的连接都是点对点的连线,会造成线与线的相交,矩阵比较复杂的时候就会看起来好混乱。建议在Excel建立表格,确定每一个按键的驱动引脚和感知引脚的数字,再填到kbfirmware中。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

图片中的Excel表格是我测试的某优联主控键盘矩阵,权当参考。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

修改后的矩阵设定如图,将底部三大键的驱动引脚从7改成0,感知引脚改成5-7。最右下角的方向键驱动引脚从7改成6,感知引脚改成5-7。空格键的感知引脚改成9。如此一来可以节省一个接口。

PINS 引脚

引脚一般可以不管,kbfirmware可以自动生成。自己设定则有助于接线的整理。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

kbfirmware支持ATmega32U2、ATmega32U4、AT90USB1286三款芯片。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

ATmega32U4芯片的Arduino Pro Micro引脚定义图,P开头那些就是kbfirmware设置中所对应的接口。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

AT90USB1286芯片的Teensy 2.0++引脚定义图。同样P开头那些就是kbfirmware设置中所对应的接口。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

另外还可以设置指示灯的引脚。Num、Caps和Scroll就是常见的数字键盘锁、大小写锁和滚动锁。Compose是组合键指示灯,在Linux上比较常见。Kana是日文键盘假名输入模式。另外还有键盘背光的引脚,Backlight是轴的LED灯珠,WS2812 Strip是灯条。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

KEYMAP 键列

kbfirmware支持全键盘自定义。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

图层是指按键功能所在的层,键盘可以自定义多个层并进行切换。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

点击需要修改的按键,就会显示其键值。例如我点击空格键,就会显示其键值KC_SPC。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

点击键值可以进行修改。设置页面主要有PRIMARY主键位,SECONDARY辅助键位,KEYPAD数字键盘,LIGHTING背光,FN功能键,OTHER其他。


PRIMARY主键位

主要是常见的字母按键,符号按键和Ctrl、Win(GUI)、Alt按键等。


kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

比较特殊的是NUBS、NUBS、TRNS、RESET和NO。NO最好理解,为不定义键值,无功能。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

NUBS是EU键列的 和 | 。US键列为无功能按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

NUHS是EU键列的 # 和 ~。US键列为无功能按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

TRNS则是键值相当于前一个层中所定义的键值。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

RESET为重置按键,相当于板子上的重置按键。按下后能进入刷机模式,可以重新刷入固件。


SECONDARY辅助键位

主要是一些符号,特殊按键,方向键和媒体按键。Fn1-Fn12是win系统的,Fn1-Fn24是mac系统的。


kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

LEFT、DOWN、UP、RIGHT分别是左、下、上、右方向键。POWER电源,SLEEP睡眠,WAKE唤醒,MUTE静音,VOLD音量减少,VOLU音量增加,PLAY播放,STOP停止,PREV上一 首,NEXT下一首。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

媒体按键还有很多,docs.qmk.fm有完整的媒体按键键值定义。


KEYPAD数字键盘

小数字键盘区域按键的键值定义,就是在前面加了P作区别。


kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例


LIGHTING背光

键盘背光的设置按键定义。分为单色和RGB背光两种。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

BL_TOGG 开启或关闭背光。BL_DEC 背光亮度减弱。BL_INC 背光亮度增加。BL_STEP 亮度从暗到亮再到暗循环。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

RGB_TOGG RGB灯开关。RGB_MOD RGB灯光模式切换。RGB_HUI RGB灯光色相数值增加,RGB_HUD RGB灯光色相数值减少。RGB_SAI RGB灯光饱和度数值增加,RGB_SAD RGB灯光饱和度数值减少。RGB_VAI RGB灯光亮度数值增加,RGB_VAD RGB灯光亮度数值减少。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

灯光模式细分有RGB_M_P静态光,RGB_M_B呼吸灯,RGB_M_R彩虹灯,RGB_M_SW彩虹渐变,RGB_M_PRGB_M_SN贪吃蛇,RGB_M_PK霹雳侠,RGB_M_X圣诞灯,RGB_M_G单色渐变,RGB_M_T三色渐变。


FN功能键

功能按键区,包含一些组合按键和键列层转换的控制键。


kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

组合按键主要是Ctrl、Alt、GUI的组合按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

例如LCTL() 相当于左Ctrl加特殊按键,RCTL()、LALT()、LGUI()类似。


kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

这种组合按键还可以叠加,进行一些快捷键的自定义。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

另外固件有自定义多组合键,例如HYPR()相当于Ctrl + Shift + Alt + Gui +自定义按键。 MEH()相当于Ctrl + Shift + Alt + 自定义。LCAG()相当于Ctrl + Alt + Gui +自定义按键。ALTG()相当于Ctrl + Alt +自定义按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

后续加_T的则表示长按触发组合键,短按触发自定义按键。例如MEH()设置为MEH_T(T),长按触发Ctrl + Shift + Alt + T,短按触发T。MT()长按为组合按键,短按为自定义按键。OSM()则是锁定组合按键直到下一次按下按键。例如OSM()设定为OSM(Shift),按下OSM()后,按1按键则输入!,再按1按键则输入1。OSL()则是切换到指定键列层,直到下一次按下按键。例如层0是某按键的键值是1,层1此按键的键值是2,按下OSM(1)后,按此按键则输入2,再按此按键则输入1。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

图层转换按键中最常用MO(),相当于常见键盘的Fn按键。默认0键列层情况下,按下Mo按键加某按键,就会切换到下一个键列层,也就是1层的按键的键值。例如0层下某按键定义是A按键,1层下是B按键。按下MO加A按键,就会变成B按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

LT(),长按是MO加自定义按键,短按则是自定义按键,例如LT()设定为A按键。长按是MO加A按键,短按则是A按键。TO(),切换到指定键列层。设定为TO(1)则是转换到1键列层,设定为2则是转换到2键列层。DF(),返回默认0键列层。TG(),指定图层切换。


OTHER其他

有些按键的键值kbfirmware的预设中没有定义,可以手动输入。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

例如一下复制粘贴的快捷键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

还有鼠标的控制按键。KC_MS_WH为鼠标滚轮的设定,KC_MS_MS为鼠标光标的设定。KC_MS_UP、KC_MS_DOWN、KC_MS_LEFT、KC_MS_RIGHT分别是光标上移,下移,左移和右移。这些设定可以适用于小红点的光标移动。KC_MS_BTN1为鼠标左键、KC_MS_BTN2为鼠标右键,KC_MS_BTN3为鼠标中键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例


MACEOS 自定义宏

kbfirmware支持记录宏脚本。Add Action是添加脚本,Record Macro是记录宏,Clear Marco则是删除宏。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

理论上可以添加无限个脚本,实际没有测试最多多少个。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

No Action为无动作。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

Press为按下按键,Release为释放按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

Set Interval为延时,Wait是等待。单位都是MS。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

Type为点击指定按键。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

点击Record Macro录取宏后,点击的按键会记录在脚本中,点击Stop Recording则停止记录。Clear Marco则会清除脚本。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例


Quantumb 编程

量子算法编程语言,可以在这个页面添加自己的代码,详细可以在docs.qmk.fm查看相关函数定义。一般人用不上,最好不要乱改。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

Settings 设置

设置页面可以自定义键盘的名字,Windows系统能识别出这个名字。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

固件大小,点击旁边的问号可以看到相关主板的名字以及固件大小。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

WS2812 LEDs则是指灯条数量。Backlight Levels为背光的亮度级别。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

设置完成后记得保存配置JSON文件到自己电脑中。下次想再编辑的时候,可以在首页的Upload上传JSON文件继续编辑。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例


Compile 编译

编译页面可以下载Hex文件和打包成zip压缩包的Hex文件。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

如果固件设置有错误,是无法编译并下载hex文件的。

kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例

错误信息在Settings页面会有提示。错误符号的Not every key has a unique position in the wiring matrix. 指有按键的驱动引脚和感知引脚重复。感叹号的提示只是警告,可以不管,不影响编译hex。


后记

这篇文章主要是以制作小太刀TEX Kodachi为例,详细介绍kbfirmware的使用教程。以后还会写一篇小太刀TEX Kodachi红点机械键盘制作过程的原创文章,成本在100元左右,喜欢的可以关注一下。

PS:之前我也制作过一把60%键列的红点机械键盘。喜欢的也可以去浏览一下。

全手工制作双模无线小红点机械键盘记录前言自从购买了Thinkpad25周年纪念版机械键盘后,一直对其不是无线键盘耿耿于怀。常常寻思着怎么将其改造成无线键盘。匠心独妙——Thinkpad25周年纪念版键盘晒物匠心独妙——Thinkpad25周年纪念版键盘晒物在二零一七年十二月...qianseyue| 371 评论126 收藏796查看详情




展开 收起
71评论

  • 精彩
  • 最新
  • 我想要一个配列,可是目前都没有人做,怎么做最容易啊,自己设计pcb好麻烦 [喜极而泣]

    校验提示文案

    提交
    参考我做画图狗键盘那个教程,最省钱最简单

    校验提示文案

    提交
    看了下那个教程,感觉更麻烦 [皱眉] ,大佬有没有什么开源项目能直接改改键位就能发淘宝出pcb的 [期待]

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 众筹一个吧

    校验提示文案

    提交
    请购买正版TEX Kodachi

    校验提示文案

    提交
    那个键盘哪有卖的?只能海淘吗?除了标和tp的是一样的?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 这文章在51能很火,大妈上嘛。。。

    校验提示文案

    提交
    这种就是简单翻译下的在51算低端了,没必要发。偏技术讨论的才会在51发,偏外设技术的在geekhack发,大妈就是简单晒晒物。

    校验提示文案

    提交
    大妈上的人绝大部分都看91,不看51 [得意]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 一直想画一个优联pcb,奈何画不来

    校验提示文案

    提交
    你打算用什么优联键盘的主控改造?我可以写个画PCB的简单教程

    校验提示文案

    提交
    k375s

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 说说小红点的手感吧,跟笔记本差远了

    校验提示文案

    提交
    就是个摇杆,手感较笔电上的软

    校验提示文案

    提交
    收起所有回复
  • 大佬再问你个问题,我想把小键盘做成可拆卸的,还是用同一个优联主控,应该用什么接口啊?平常在家用接着小键盘,出去的时候不用小键盘

    校验提示文案

    提交
    简单点就排针加排座,稳固点就来个RS232

    校验提示文案

    提交
    收起所有回复
  • 作者你好,根据你的指导,我做了一个简陋的键盘,我现在想加67个背光,WS2812的或者ISSI的只有文件参数修改,但是文档没有写谢谢怎么连物理硬件啊,不知大佬有相关资料是否可以指点一二?

    校验提示文案

    提交
    一般来说,灯的正极接固件上所指定的arduino引脚,负极接电池的gnd引脚

    校验提示文案

    提交
    谢谢大佬,过几天出个RGB➕蓝牙的教程吧,我买回来一个ISSI的芯片,比小拇指指甲盖还小

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 请教一下,你文章里给的表格RBG_VAD之后的例如RBG_MODE_PLAIN这些按键定义不能直接原,要怎么设置呢?

    校验提示文案

    提交
    在other那一页,自己手动写代码,例如你说的那个是RGB _M_P

    校验提示文案

    提交
    收起所有回复
  • 轴体上的两个引脚那个是感知引脚那个是驱动引脚呢,希望大神解答,谢了 [惊喜] [惊喜]

    校验提示文案

    提交
    这个是由你决定的

    校验提示文案

    提交
    收起所有回复
  • 大神最近一直学习你的文章,非常感谢你的付出。请教一下为什么最后一步下载download.hex文件点击了就没反应了?

    校验提示文案

    提交
    设置错误;或者是墙的问题

    校验提示文案

    提交
    好的,谢谢回复

    校验提示文案

    提交
    收起所有回复
  • 大神再请教你一下:下载实在搞不定,download.zip是可以下载的,但是download.hex怎么弄都没反应。zip文件可不可以怎么弄一下搞成hex文件? 谢谢

    校验提示文案

    提交
    换个网络试试

    校验提示文案

    提交
    收起所有回复
  • 作者你好,我想问下RGB灯该如何弄?

    校验提示文案

    提交
    docs.qmk.fm/#/feature_rgb_matrix

    校验提示文案

    提交
    收起所有回复
  • 一个一个的中文字全看懂了,就是不知道组合起来怎么理解,但是很牛X就是了!

    校验提示文案

    提交
  • 大佬,想用atmega328p做主控,kbfirmware支持吗?我看芯片选项里面没有这个芯片可以选。如果这个网站不行的话有什么解决方案吗?谢谢

    校验提示文案

    提交
  • 这tmd的才叫客制化。换个键帽那不算

    校验提示文案

    提交
  • 好文好文。折腾男的福音

    校验提示文案

    提交
  • 这是大触的文章! [惊喜] [惊喜] [惊喜] [惊喜]

    校验提示文案

    提交
  • 真tm硬核

    校验提示文案

    提交
  • 你在干嘛!

    校验提示文案

    提交
  • 嗯…嗯?嗯!看起来不难嘛,每个字我认识

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
387
扫一下,分享更方便,购买更轻松