qmk编码并击速录键盘开发者&用户线上交流会
最右君手码会议简要记录:
首先是关于e迅速录指法的内容。e迅方案是单手出所有汉字声韵的组合(比如单手能打出hei huai liang等等,完整的,全组合),在挂接模式下可以输出完整拼音并加撇号(')分隔,固定左手码先右手码后。e迅的编码是左手码固定排右手码前两边对称(空明码同),因此只要将单边分区的所有组合按键都枚举出来就可以实现并击指法了(值得注意的是有些声韵被合并在了一个按键上,但其实并不用担心重叠,因为最终还是组合输出的编码是固定的,合并到一个键上的编码是不会有冲突的(就像双拼会iong韵的声组合不会和ong韵的声有重叠这种感觉,所以只要把单边手区的所有组合枚举出来就可以实现了)
还有一击字和符号的一些设定,右手在非输入状态下一击自动上屏可以上屏一些符号。这种功能,zhz强调一定要将 *没有按键按下的情况也作为一种编码“空”* 来实现这种一击上屏的特定符号的指法映射。
直击字、直击词(一击上屏不和前后捆绑组合)这种靠输入法来实现。
此外,还有一些不能组成声韵的指法组合等,这种时候e迅在空位上填了一些简词,用了一些特殊的组合,在e迅上的表示为右手码有符号和大写,建议直接上屏输入码,有些输入法可以使用大写和符号来作为码元参与码表编码,可以使用输入法来实现这些特定简词,但阿金老师表示也无太大所谓,能实现e迅指法就很好了。
最后,还有键位配列的问题,zhz强调最好与速录机一致,因为面向群体是想要尝试速录但不想花大钱只想先试试的人,所以考虑到他们最后可能需要转速录机,因此配列最好与速录机(e迅)保持一致。(尽管人体工学更加符合科学但是为了兼容)。开发团队表示也有考虑未来可以出两种配列,人体工学的和纯正交的。
(最后阿金老师表示很想要那种外国的拉杆式按键的速录机,非常软非常好按,但这个不属于客制化键盘的零件的范畴,所以弄不了)
然后是对于触发方式做了讨论,zhz详细分析了两种触发——单键松开了即触发,和 全键都松开才触发,以及提到了,*固定延迟触发,与海洋讨论了一下固定延迟触发这种模式的可行性,海洋表示之前已经有一次验证延迟触发的设计尝试,效果感觉不太好,对并击可能有影响等等(我没听记全)但zhz表示这样可以实现一些并串结合的输入方式等等……
我提问,驱动程序中能否并击直接输出大写和各种符号的组合,因为这些好像不是标准键盘能输出的,需要按shift才能实现,对这种符号作为码元的情况并击能否不需要使用“宏”的形式来输出(即Shift+键的组合)它这些是在Keycode里的,操作系统可以直接识别处理的(开发海洋表示都专门修改qmk固件了,不可能用宏的)
此外,zhz还提到了映射功能键的问题,即希望用并击来映射类似Ctrl Win Alt等功能键,这是比使用切层更加合理的功能,都支持并击了,完全可以再考虑加上并击输出功能键等的
随后,zhz提出了一个开发上比较关键的问题,即,两个分体键盘之间,应该是需要通信的,且,应该使用“主-从”结构,还是对等结构?(中间插入了一段键盘Fn键的讨论,开发理解成了F1至F12最后理清),考虑到可能旧有的分体键盘,两分体之间可能没有直连,其直接将数据共同发送到接收适配器上,对于Fn这种键盘内解析的组合键,直接由接收器内驱动来解析和发送至电脑系统。开发海洋很快也想到了灯状态和左右手并击状态必须要两分体之间通信同步状态。
进而询问了,关于分体之间连线的接受程度,两分体之间连线则功能等实现会较为简单。
还讨论到了关于三模和双模等的问题,主要讨论了下蓝牙可能受干扰影响速度,有线连接麻烦,2.4G可能增加成本等等。(没听解到最终定论)以及顺带讨论了下功耗问题,开发海燕表示相比于普通客制化的上百颗led键盘灯,蓝牙和2.4G的功耗实在是小得可以忽略。顺带讨论了,可以不用加灯,相对于灯,功能更加优先,有类似大写锁定的小指示灯也够的。不必加太多灯,功耗续航可能跟不上,可能得连有线才撑得起。
此外,我们和开发海洋讨论到如何更新固件,最不优雅的是让用户把键盘寄回去来更新固件,对此讨论认为,固件更新不是经常更新,偶尔更新一下甚至很多用户是不更新的,因此更新固件的方式不急于改进,能给出一个二进制文件和详细教程能让用户自己烧写进键盘就足够了,大部分用户不会天天改方案的(但zhz标识他真的很需要经常改方案测试,这引出了下面的非常重要的问题:
为什么不能做成像Via改键一样,实时修改并击指法配置并在线下载到键盘里,直接改一个配置文件用储存住不就好了吗,对此开发海洋解释道,修改qmk并击并没有我们想象的那么简单,用qmk实现某种并击指法目前是通过直接修改程序代码来实现的,需要修改完程序之后走一整套编译生成的流程生成二进制文件,而不能通过加载一个配置文件来实现。如果想要实现这种“加载器”,几乎就是要脱离qmk项目再另起一个大项目和工作流,这种近乎“元编程”的工作量是几乎不可接受的——当然,这也是他们未来长远的目标(如果能实现这种实时修改载入并击指法的方式那简直是再好不过了,但是,qmk固件开发,开发贡献挺活跃的,然而也只有一个 C__(没听解)模块是类似延时并击的功能,说明这个功能可能真的是真的很不好在qmk的框架内来实现)
&还有一点关于模块的考虑,暂时认为需要考虑用户群体和成本,zhz表示无非就是“按”和“扭”。 (总体感觉,对触摸滑条来实现手势切换虚拟桌面比较感兴趣)
(总之大体上大概就是这样,中间也有很多我没听到听懂和遗漏疏忽的地方,欢迎大佬补充指正()
视频会议回放
主题: QMK编码并击速录键盘线上交流会
日期: 2023-07-23 17:55:11
录制文件:https://meeting.tencent.com/v2/cloud-record/share?id=694aad14-12f9-48f4-81c4-788462318022&from=3