如何让别人用不了你的设备

onecreeper 2026-09-05 16:00 1

没人会找我借设备


先说明,个人本来就不太喜欢别人使用我的设备,感觉不舒服。事实上,当别人借用我的设备,他们几乎打不了字。有以下原因:




  1. 键盘布局诡异




  2. 键盘诡异




  3. 输入法诡异




他们根本打不了字,所以就不用了。


注:本文纯属无聊写的,梦到什么写什么


不同的键盘布局


我们平常使用的键盘布局都是 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 继续收集数据,清洗下。先明确下统计口径:




  • 数据源:采用两部分——第一部分是公开词频表,第二部分是小说,我随便找了两本:《福尔摩斯探案全集》和《三体》1-3。




  • 计算:




    1. 获取词频数据,转为拼音。例如“你”字 → ni,生成全拼和双拼(除选字后)的敲击键盘数量 → 2:2,同时生成微软双拼和小鹤双拼的敲击数量。




    2. 上述操作重复若干次,得到形如“词、词频、全拼敲击次数、(包括多种)双拼敲击次数”的表格,将频次作为权重计算加权平均数,即:





    \bar{x} = \frac{\sum_{i=1}^n f_i \cdot x_i}{\sum_{i=1}^n f_i}

    其中:



    • f_i 为第 i 个词的词频(权重);

    • x_i 为第 i 个词的敲击次数(全拼或双拼,分别代入)。



    • 顺带可以考虑每个字都进行一次选词的极限情况。




    1. 移动距离统计:我们打字一般用双手,当然也同时考虑手机单手(只能用大拇指)的情况。


      一根手指打字的情况比较简单:根据手机输入法键盘直接计算键位折线距离即可,但要考虑键盘第一行的错位。


      复杂的是电脑打字的情况,往往用到至少两根手指,平常打字用得更多。我们理想化处理:规定每根手指有自己的初始位置,计算手指移动距离之和;为了符合人类的习惯,人为规定每根手指的管辖范围——比如不应该用左手食指去敲击“P”。然后我们用两本小说为例子,暂不考虑特殊符号。(注:移动距离不与打字速度线性相关。)


      标准盲打指法里,手指平时停在键盘中间那排(Home Row / 基准行),各指分工如下:




































小指 无名指 中指 食指 拇指
左手 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开始努力




    1. 为键盘每个按键标注坐标




    2. 我收集数据




    3. codex清洗数据并编写代码,我鼓励codex好好干,今天的努力是他明天更好的生活




    4. 我坐享其成






  • 结果:







注:如果考虑小鹤双拼+辅助码,小鹤+辅助码应该是理论最强,特别是移动距离。感兴趣的可以自己搜索下辅助码,另外就是其实微软双拼可以通过导入词库的方式用上辅助码。


有点意外的是在击键数上并无想象中的巨大差距,我还以为会差一倍。不过在移动距离上确实就是巨大优势了,手机上打字本身容易误触,使用双拼通过降低敲击次数降低了总错误次数。更多细节和数据查看我的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 ?


参考链接:




  • 键盘布局的区别:Qwerty / Dvorak / Colemak(博客园)




  • Colemak 官网(图出处)




  • TheCW 的 B 站空间(Arch 安装视频作者)




  • 汉语一共有多少种读音?(知乎)




  • 现代汉语常用字频率表(MTSU)




  • 越用越小,40% 配列机械键盘(知乎)




  • 「思路分享」40% 键盘怎么用?(B 站)




郑重感谢:




  • Tibo (@thsottiaux) / X (给我gpt重置额度)




  • GPT5.6-luna (帮我调研,清洗数据,编写代码,制作图表)




  • GPT-6 Astra (让我今天又得到了gpt重置额度)




  • 我的电脑




  • 此电脑




  • Mac mini




  • You



最新回复 (8)
  • 归谜 09-05 16:07
    1

    手机和电脑输入法全部使用微软双拼。

  • betterman233 09-05 16:17
    2

    你输入再快也比不上我的语音输入。哈哈

  • onecreeper 楼主 09-05 16:21
    3

    概念神这块,还得是用语音输入,vibecoding神器。

  • Wlison 09-05 16:28
    4

    不是?你搁这儿写论文呢,还建模啊

  • Wolverine 09-05 16:29
    5

    键盘布局都是 qwerty



    键盘布局有很多种,只是qwerty更通用一些而已。当你习惯了异形布局,确实可以避免他人使用你的设备,但你也会不习惯通用设备。

  • 猪头是头猪 09-05 16:32
    6

    一般还是 Dvorak 用的多吧?

  • 小小云 09-05 16:34
    7

    双拼转音形,同事用我的电脑我总得提示他们换个输入法 ^-^

  • sandsea 09-05 16:48
    8

    和电脑输入法全部使用微软双



    第一次用双拼就是用的小鹤双拼,现在只会小鹤双拼。而且现在用全拼还不习惯了,打字猛错。

* 帖子来源Linux.do
返回