我要输入 💩,Windows 却让我先学会英语
一个被
Win + .恶心了很多年的人,最后自己写了个工具的故事。
事情是这样的
那天我想在QQ群里发个 💩,来表达我的难以形容的心情与态度。啊,一坨正在微笑的💩!这坨💩,正在微笑。
按Win + .,弹出那个熟悉的表情面板,在搜索框里敲下shit——没有。敲屎——更没有。翻页面,一个一个找,找到的时候我朋友已经回我三句话了。
这不是第一次。这么多年我早就摸清了 Windows 自带 emoji 面板:搜索只认英文,排序只看频率,键盘方向键一格一格挪,没有任何可以成为人类的操作能够谈得上顺手。
问了问群友,清一色的回复,可以用搜狗输入法、微信输入法。麻了,真要这么好用我不知道?它们 PC 版的 emoji 候选,上屏的是图片,不是字符。发出去后,小小的文字配上大大的💩,没有任何优雅可言。所以别看我我一直骂,我一直老老实实用Win + .忍着。
顺便,这不是我的个人恩怨。V2EX 上常年有人发帖求一个「能打原生 emoji 的输入法」,底下的回答基本是「没有,忍着」。微软拼音新版本总算在全拼下给了点 emoji 候选,双拼用户继续忍。
我不信邪,去翻了一圈现成的
开源世界总会有答案吧?还真有一个挺好看的,叫 flemozi,Rust 写的,界面清爽。我没急着装,先扒了眼源码——看完就释然了:它的搜索就是对英文关键词做子串匹配,输入shi能给你匹配出fishi 和shipping,唯独匹配不出 💩,因为 💩 的英文名叫 “pile of poo”。
哦,连"排序"这个东西都不存在,匹配上什么算什么。
Raycast 出 Windows 版了,emoji 搜索体验确实是天花板——前提是你搜poo而不是shi。中文?拼音?不存在的。
所以现状是:国内基本没有为了中国人的、能够在Windows上的、能够专注于Emoji的、开箱即用的、没有学习成本的方案。最接近的是Windows官方的微软输入法。但为什么不用微软输入法呢?等什么时候微软输入法能够支持联网用户词库的时候我会考虑😡。
Ok,fine。
需求其实不复杂
- 呼之即来,呼之即去,选完直接上屏,别让我确认
- emoji 要全,要分类
- 搜索:中文、英文、拼音全拼、拼音缩写,
屎/shit/shi/bb都得给我 💩 - 最好还能
::shit一敲空格自动变 💩 - 开机自启、托盘、设置,常规那些
一天设计,一天开发。第二天晚上,我已经在用它了。
现在,是这样的
按Alt+E,面板在光标处弹出,直接打字:
屎 → 💩 shit → 💩 shi → 💩 bb → 💩四路命中,任选。回车上屏,面板消失,全程两秒。不喜欢bb这个缩写?右键 💩,给自己加一个翔,即时生效。
顺手支持::快捷上屏:在任何输入框打::shit,空格,自动回删替换成 💩,还带一个输入法风格的候选条,跟着光标走,绝不抢焦点。
几个我自己比较得意的细节:
- 上屏走 Win32
SendInput注入纯 Unicode 字符,不经剪贴板(你复制的东西不会被弄丢),终端、VS Code、浏览器地址栏,通吃 - 中文输入法开着的时候,
::扩展自动让位——该出现才出现,这才是一个输入法应该的形态。 - 键盘钩子有看护:被系统摘了自动重挂;所有异常路径一律放行——宁可功能失效,不能卡死键盘,这是底线
- 89 个测试。工具虽小,键盘无小事
数据是 Unicode 官方全量(3700+),CLDR 中英关键词 + 拼音预计算,运行期零网络,内存常驻一百兆以内。深色浅色主题都有,使用频率会学习,越用越顺手。
最后
开源了,MIT,exe 双击即用:
→ GitHub: emoji-palette
没指望它火。这种小众需求,一年能有几百个人搜到、几十个人留下来,就够本了。毕竟做它的第一天理由只有一个:我自己要用。
现在,Win + .可以从我的肌肉记忆里退休了。
它熬走了一代又一代输入法,最后输给了一个忍不了的人。