- 本次更新完善了按键连击检测功能,使用了底层 API 的时间戳,对连击的判断更加准确;
- 增加了对不规则按键图形的支持,具体使用方法参见文末教程部分。
鉴于目前没有看到有特别有意思的键盘测试软件,借着闲暇之余自己用 WPF 写一个好了,希望软件可以给大家提供一些乐趣。更希望这个软件可以传达我对于软件的一些理解和态度。
软件功能目前还比较简单,主要是为了可以更加方便测试键盘的各个按键是否可以触发。
- 由于之前使用的键盘测试软件会拦截所有按键的消息,导致按键灯不能通过按键变化。针对这个问题我做了调整,在软件界面中,“Caps Lock”、“Num Lock”、“Scroll Lock” 三个按键的键盘消息不会被拦截,方便用户测试键盘上的指示灯。
- 加入了试验性功能 “连击” 测试。用来识别是否有按键出现连击的问题,这个问题其实在日常使用过程中还是会出现的,但是几款现有的键盘测试工具并不能测试按键是否触发。所以,我在软件中加入了这个功能,主要是检测相同按键两次KeyUp事件的时间间隔。(目前这个功能还处于试验阶段,由于一些原因导致测试的不是非常精确,还在寻找其他方法)
- 加入了皮肤功能。从一开始我决定用 WPF 来做这个小软件,我就决定要加入这个功能,我会在后续详细介绍皮肤文件的制作过程。也是希望大家可以制作自己喜欢的键盘皮肤,如果朋友们愿意,也可以把制作的皮肤文件发给我,我会加到发布的软件包中。下一步将会在软件中加入皮肤文件的作者和联系方式等功能。
如果想要使用皮肤文件,请在软件所在目录自行创建一个文件夹 “keyboards”,注意都是小写字母,然后把网盘中 keyboards 文件夹中的文件下载下来放进去就可以了。
有什么问题或者好的建议,欢迎在文章下留言,不管是语法错误还是各种大大小小的问题都可以留下你的见解。欢迎探讨。
由于 WPF 天生就支持不同 dpi 下的屏幕显示,所以不利用这一点好好支持现在满地都是的高分屏略显我丧尽天良。所以,我决定所有的图像都使用矢量文件来保存。别的不敢说,如果你的屏幕足够大足够高清,至少我可以让你体验得到无码的丝滑。
- Adobe Illustrator CC 2018
- Microsoft expression Design 4
上述软件版本不做限定,只要能用就好。
除了上面的工具软件,你还可能还需要一个模板作参考
如上图所示,三个指示灯的不同状态分别占用一个主图层,因为后续我们需要通过使用 Microsoft expression Design(下称 MED)转换为程序可以识别的矢量文件,而关键在于,MED 只能按照主图层进行分组。因此,我们在这里把所有重要的部分都放置在主图层中。
1 或 0 表示指示灯 “亮起” 或 “关闭”
有待升级功能:
目前按键还不能使用除了圆角矩形以外的形状,如:“7” 字形大回车、反 “L” 形大回车。下个版本更新此功能。
按键的主图层需要命名为 c+按键码 的形式,如 “c118” 代表 “F7” 键。具体对应的按键码可以参考软件上显示的,如下图所示。
上面的图层都是作为特殊使用的,而除上述以外的图像都作为背景图层。
这些组成部分每次都被固定的加载到程序中,不会产生互动。
- 使用 MED 打开刚刚使用 Adobe Illustrator (下称 AI) 编辑好的 *.ai 文件。然后点击 “文件 - 导出…”,在弹出的对话框右侧 “格式” 一栏选择 “XAML WPF 资源字典”,并导出文件。
- 使用文本编辑器打开刚才导出的 *.xaml 文件,使用替换工具将全文中的 “DrawingBrush” 替换为 “DrawingImage”,并删掉所有 “ Stretch=“Uniform””(即将其替换为空字符)
替换前
替换后
至此,一个皮肤的制作流程大体就介绍完了。把修改完了 *.xaml 文件放到 keyboards 文件夹下重启软件就可以选择自己制作的皮肤了。
祝大家玩儿的愉快!
好好欣赏属于你自己的键盘和你自己的键盘测试工具!
如上图所示,创建完不规则按键的图形后,再创建一个以 命名的图层,然后将按键图形的外框图形复制一份放进来。
使用 Microsoft expression Design 转换完以后,如下图所示修改 xaml 文件内容