没人会找我借设备
先说明,个人本来就不太喜欢别人使用我的设备,感觉不舒服。事实上,当别人借用我的设备,他们几乎打不了字。有以下原因:
键盘布局诡异
键盘诡异
输入法诡异
他们根本打不了字,所以就不用了。
注:本文纯属无聊写的,梦到什么写什么
不同的键盘布局
我们平常使用的键盘布局都是 qwerty,然而,键盘布局其实不止 qwerty,我在一些阴间电子产品(投影)上见到过 abcdefg。这篇 文章介绍了不同布局的区别,简单来说现在的 qwerty 布局并不是最优解,只是我们都习惯了。我第一次知道 colemak 是在看 TheCW 大佬的 arch 安装视频的时候,在英文输入领域 colemak 这种键盘布局有很大(注意不是恒大)优势,使用 colemak 输入英文的时候可以尽量减少手指移动,达到省力的效果。

图出处:Colemak
然而,较高的学习成本也让这种布局不被大多数人所接受,大多数人也不知道这种布局。已经习惯了 qwerty 的人自然不会想到会存在其他的布局,更不会去尝试。这也很合理,我也仅仅在手机上的英文输入法用 colemak。对于英文输入,colemak 有优势,然而我要用中文啊,colemak 其实在中文输入上没有明显优势。
而我用这个布局,也仅仅是因为在劝说朋友使用双拼的时候跟他说:你用双拼,我用 colemak(手机英语输入时),我们一起练习没用过的东西。要问我输入速度提高了多少,我也不知道,也许是负数?
不同的输入法
如果说键盘布局变了还能用,输入法变了那就是很痛苦的。我想介绍的就是双拼输入,这是本文最有用的东西了,且看且珍惜。
先说优点:学习简单(相对于五笔),省点击量。当然我事先说明,我使用的不是最优方案,最优方案也许就是小鹤双拼+辅助码,然而我喜欢系统自带输入法,再加上兼容性问题,我使用的是微软双拼。
不考虑选词,用我们常用的输入法(全拼)输入“你这个 ui 有问题啊,你再看看,记得调用子代理用 luna”会怎么打?对于这些词我们其实不用输入完整的拼音,只需要输入首字母就行了。
然而如果遇到了比较少用的词:
为全面提升工作效能,加速推进信息化建设进程,现需申请专项经费划拨,用于实施统一采购一批高性能电子计算机终端设备。本次采购将严格遵循效率优先、兼顾公平的原则,进行全局统筹、科学规划,确保资源配置合理,优先满足核心业务需求。通过本次信息化终端设备的优化配置,将进一步筑牢数字化转型的根基,为未来智能化、智慧化、自动化发展提供坚实的硬件支撑,具有深远的战略意义。此次挑战转化为优化资源配置模式、提升经济韧性的重要契机,为实现更高质量的发展奠定坚实的财务根基。
其中“统筹”的全拼是 tongchou:不考虑选词,你需要敲 8 次键盘(当然,输入法够厉害也许只用 1 下);双拼则只要 4 下 tsib,也就是 t→t、s→ong、i→ch、b→ou。不难发现,双拼输入法中一个字母代表一个声母或者韵母,巧妙地利用了拼音的性质。用双拼输入法可以保证你的每个字的拼音只需要两次就能输入。
我们来算算:键盘 26 个按键(先不管微软双拼使用了“;”),有多少种组合?26^2 = 676,这个数字大于声母韵母的组合,网络 上说 399 种音,所以双拼是显然可用的。我们也可以统计下全拼的情况,并且除了敲击次数还有手指移动问题——平均每个字的手指移动距离。
我先找了中文字频次数据,确定哪些字输入比较多,这种比较符合大众,毕竟不是人人天天输入大量拼音长的字。数据源 虽然这个数据比较老了,但还是有参考价值的,然后就让 codex 继续收集数据,清洗下。先明确下统计口径:
手 |
小指 |
无名指 |
中指 |
食指 |
拇指 |
|---|
左手 |
A |
S |
D |
F |
悬在空格上方 |
右手 |
; |
L |
K |
J |
悬在空格上方 |
各指管辖的按键范围:
手指 |
初始位置 |
管辖字母 |
同列数字/符号 |
|---|
左小指 |
A |
Q A Z |
`、1,以及 Tab/Caps/左Shift |
左无名指 |
S |
W S X |
2 |
左中指 |
D |
E D C |
3 |
左食指 |
F |
R T F G V B |
4、5 |
右食指 |
J |
Y U H J N M |
6、7 |
右中指 |
K |
I K , |
8 |
右无名指 |
L |
O L . |
9 |
右小指 |
; |
P ; / |
0、-、=,以及 [ ] \ '、Enter/Backspace/右Shift |
左右拇指 |
— |
— |
—(只按空格) |
设输入序列为: |
|
|
|
K=(k_1,k_2,\ldots,k_n)
每个按键 k_i 由手指 f_i 按下。对任意手指 f,提取它负责的按键子序列:
K_f=(k_{f,1},k_{f,2},\ldots,k_{f,m_f})
初始位置记作虚拟按键 k_{f,0},其位置向量 𝑝⃗₍𝑓,0₎ = 𝑝⃗(𝑘₍𝑓,0₎) (不知道为什么latex搞不出来用下unicode)(即该手指的基准键)。总移动距离为:
\boxed{
D(K)=\sum_{f}\sum_{j=1}^{m_f}\left|\vec p(k_{f,j})-\vec p(k_{f,j-1})\right|
}
其中:
- \vec p(k) 是按键 k 的位置向量;
- k_{f,0} 是手指 f 的初始位置(虚拟按键),j=1 时从它起算,即每根手指从自己的基准键出发;
- 每根手指只计算自己连续负责的按键,即同一手指相邻两次击键的位移;
- 最后把所有手指的位移相加,得到 D(K)。
这样同时考虑了输入按键顺序(位移依赖序列中相邻的键对)和多根手指的独立运动(各指并行移动,互不叠加串行)。
还有问题,不考虑选词其实也不太合适,但是再追求那么多就很复杂了,不太好建模(开摆),就当作我不需要选词吧,其实如果可以,可以把输入法模拟下,借助开源输入法rime应该可以模拟,不过工作量就大了,只是为了区分两种输入法高下这种程度的模拟也够吧…大概…也许…应该?
codex开始努力
为键盘每个按键标注坐标
我收集数据
codex清洗数据并编写代码,我鼓励codex好好干,今天的努力是他明天更好的生活
我坐享其成
结果:


注:如果考虑小鹤双拼+辅助码,小鹤+辅助码应该是理论最强,特别是移动距离。感兴趣的可以自己搜索下辅助码,另外就是其实微软双拼可以通过导入词库的方式用上辅助码。
有点意外的是在击键数上并无想象中的巨大差距,我还以为会差一倍。不过在移动距离上确实就是巨大优势了,手机上打字本身容易误触,使用双拼通过降低敲击次数降低了总错误次数。更多细节和数据查看我的github仓库:onecreeper/double-pinyin-lab
结果还算是比较理想,不过文章写到这里,是时候开始左右脑互搏了。双拼输入确实提供了几乎最优的拼音输入方式,然而,双拼输入没有离开拼音输入的范畴,拼音输入未必是最优方案。输入法有五笔、笔画、仓颉等。然而在我看来,唯一能够撼动双拼地位的是语音输入和ai补全。最近豆包输入法、千问输入法也出现了,社区早就开始探索语言模型来预测用户输入了,我们即将迎来大补全时代。输入法学习我们的语言习惯,自动补全,现在只是vibe coding、vibe math,以后会不会直接vibe交流?往好的看,ai补全输入法可以极大地提高我们打字速度,但是也要担心ai替我们说话。语音输入最大的劣势就是要开口,我要再活50年等到脑机接口。好吧,可能以后打字速度就是思考速度了。
不同的键盘
如果说输入法你还可以通过首字母勉强打字,那么一个按键不全的键盘可以真正地杀死比赛。
没错,这就是40%配列键盘。(更小的就真没法用了)

Q:WC这怎么打字
A:想想自己的问题
这个键盘只有44个按键(应该没数错吧),很容易注意到我们可以使用Fn来解决问题
这里需要提到键层概念,此图看到的是第0层,你可以点击某些按键切换层数。对于QMK固件键盘,这些设置可以轻易修改。例如:我们打字肯定要数字键,虽然刚才我忽略了选词,但是我还是要用到的。此时注意到:左空格写的是"Space Fn1"其实就是短按是空格,长按是临时切换键层到第一层。输入“1”只需要“左空格”+“Q”。这是第一层的设置:

同理,其他按键都是这样输入,我还给他塞了小数字键盘。

这样可以非常从容地输入各种数字。
但是,何意味?

我买它就是因为好玩,也尝试挑战下用用他,挑战进行中。而且小键盘很好看,不是吗。不要太功利,键盘没法打字也有作为键盘的权利!

其实仔细想想可以发现,这种键盘效率未必低下,考虑下场景。如果是以写作为职业的,出门带小键盘写作也许是不错的,并且写作不会经常用到特殊符号,习惯后效率甚至可能提高——小的键盘大大减少了手部移动距离。
不过这也给我们带来了新思路:善用键层,以后键盘如果没有小数字键盘,你可以手动编辑键层(如果支持)为你的键盘添加一个小键盘。
ref1:越用越小,40%配列机械键盘 - 知乎
ref2:「思路分享」40%键盘怎么用?我来讲讲我的思路。(客制化键盘、小配列键盘、空格分裂)哔哩哔哩bilibili
不过我的主力键盘还是98配列就是了(带f区,小数字键盘)
不同的系统?
正如上文,我尝试过安装archlinux,那时候我很菜,安装失败了,所以用ubuntu。在一次显卡驱动更新后,ubuntu炸了,我回到了windows。至少对我来说还是有很多不得不用windows的软件的,例如solidworks。不过不同的系统(linux)确实是让别人用不了你的电脑的好方法,本文不展开了。
致谢
内容转自我的博客:
一只 creeper 的 Blog - are you ok ?
一只 creeper 的 Blog - are you ok ?
参考链接:
郑重感谢:
Tibo (@thsottiaux) / X (给我gpt重置额度)
GPT5.6-luna (帮我调研,清洗数据,编写代码,制作图表)
GPT-6 Astra (让我今天又得到了gpt重置额度)
我的电脑
此电脑
Mac mini
You