资讯详情

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

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

2019-08-11 14:06:21

79点赞

373收藏

71评论

前言

这些天有值友在之前的制作键盘的原创中询问kbfirmware详细使用教程,利用最近自制的小太刀TEX Kodachi小红点机械键盘制作详细kbfirmware好好利用教程。df12cac327c07ad43ae854730f7bbfbe.png低端客制化-画王键盘制作记录前言前排提示这是低端客制化。不要将其与数百元和数千元的客制化套件进行比较。考虑到金钱和时间的消耗,键盘生产没有玩PCB,没有钢定位板,没有轴间纸,没有铝阳极外壳,没有酷键帽,只是为了方便工作而做的键盘,很丑,极其粗糙不精致。其实我不是很想晒出这个键盘的制作过程,但是上次分了qianseyue|33评论19收藏77查看详细信息

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

教程

小太刀Kodachi这款红点机械键盘最近很有名,TEX原版389元美刀,总共2500元左右。

而挂了ThinkPad限量版的标志价格翻了一番,高达4999元,标志值钱。

百科ThinkPad 七行小红点手工机械键盘 SK-865小红点机械键盘SK-8865搭载Cherry绿轴,保留TrackPonint小红帽指点杆。铝合金外壳不冲压,CNC模具是手工制作的,表面经过阳极氧化处理。20世纪80年代的复古键帽Cherry球帽,ABS材质,还附上一套无刻键帽,用USB-C口有线连接,全球限量100台。价值3点评0原创2好价22

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

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

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

这时候kbfirmware键盘矩阵键盘矩阵,然后自定义固件。

WINRING 连线

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

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

单独点击按钮,可以看到感知引脚和驱动引脚。

kbfirmware不支持实时生成矩阵。如果修改驱动引脚和感知引脚的数量,矩阵就会破裂。

此时,矩阵需要逐个修改。需要耐心,注意不要重复。

另外kbfirmware中线与线的连接是点对点连接,会导致线与线的交叉,矩阵复杂时看起来很混乱。Excel建立表格,确定每个按钮的驱动引脚和感知引脚的数字,然后填写kbfirmware中。

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

修改后的矩阵设置如图所示,将底部三键的驱动引脚从7改为0,感知引脚改为5-7。右下角的方向键驱动引脚从7改为6,感知引脚改为5-7。空格键的感知引脚改为9。这样可以节省一个接口。

PINS 引脚

引脚一般可以忽略,kbfirmware它可以自动生成。自己设置有助于布线。

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

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

AT90USB1286芯片的Teensy 2.0 引脚定义图。同样的P开头也是。kbfirmware设置相应的接口。

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

KEYMAP 键列

kbfirmware支持全键盘自定义。

图层是指键功能所在的层,键盘可以定制多层并切换。

点击需要修改的按钮,显示其键值。例如,如果我点击空格键,它的键值将显示KC_SPC。

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

PRIMARY主键位

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

特别的是NUBS、NUBS、TRNS、RESET和NO。NO最好理解定义键值,没有功能。

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

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

TRNS键值相当于前一层定义的键值。

RESET是重置按钮,相当于板上的重置按钮。按下后可进入刷机模式,可重新刷入固件。

SECONDARY辅助键位

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

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

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

KEYPAD数字键盘

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

LIGHTING背光

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

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

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

照明模式细分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功能键

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

组合按主要是Ctrl、Alt、GUI组合按钮。

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

这个组合按钮也可以叠加,自定义一些快捷键。

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

后续加_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。

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

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

OTHER其他

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

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

还有鼠标的控制按键。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为鼠标中键。

MACEOS 自定义宏

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

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

No Action为无动作。

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

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

Type为点击指定按键。

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

Quantumb 编程

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

Settings 设置

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

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

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

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

Compile 编译

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

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

错误信息在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查看详情

未经授权,不得转载

标签: 二极管彩虹灯

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台