# 不止用手才能打字，用脸也行

- 作者：邓 南
- 发布时间：2022-04-14 22:30
- 分类：产品
- 原文：https://www.ifanr.com/1482571

![](https://s3.ifanr.com/wp-content/uploads/2022/04/0414CheekyKeys-title.jpg)

如果要在照顾刚出生婴儿的时候工作，你会怎么做？买一个静音键盘？但静音键盘大多也并没有那么静音，打字时的声音对成人来说或许并不会产生困扰，但对于小婴儿来说却未必如此。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/0414CheekyKeys-1-1024x568.jpg)

▲图片来自：Everything Is Hacked



如果吵醒了孩子，工作多半也不能继续了。于是，为了能一边带孩子一边工作，一位程序员就决定抛弃键盘，改成用面部打字，并在 YouTube 频道「Everything Is Hacked 」上展示了过程。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/11-4.gif)

▲图片来自：Everything Is Hacked



这个利用面部动作来打字的键盘，名为 「CheekyKeys」。其实这种控制键盘的方法也不算罕见，史蒂芬 · 霍金生前就是通过电脑来跟踪眼球运动控制光标，利用屏幕上的键盘配合智能输入法来打字。

CheekyKeys 的开发人员，也曾经尝试过类似的方式，但效率不够高，于是决定使用现代图像识别技术、结合能做出不少表情的脸和莫尔斯电码，加快打字的过程。

要使用 CheekyKeys ，需要这些东西：电脑和摄像头自不必说，再利用 OpenCV 和 DLib 等工具跟踪用户脸部特定点的移动。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/0414CheekyKeys-3-1024x561.jpg)

▲图片来自：Everything Is Hacked



除了这些，用户还需要学习一下摩斯密码，这样就能用点和线这种更简便的方式来表示字母和符号。

在 CheekyKeys 上需要使用的参照表「cheatsheet」，包括字母、特殊字符和热键，快速张开和闭上嘴巴就是表示「.（点）」，稍长一点则是「-（线）」，向上努一次嘴巴为完成一个字母，两次为添加一个空格（结束一个单词）。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/0414CheekyKeys-4-1024x771.jpg)

▲图片来自：Everything Is Hacked



在「cheatsheet」上，shift 键是闭上右眼；command 键是把左眼闭上；向上/下的箭头需要抬起左/右边的眉毛；如果要重复前面的字母或命令，就要把两边的眉毛都抬起两次；想用 escape: 键，就要先眨左眼，再眨右眼……

![](https://s3.ifanr.com/wp-content/uploads/2022/04/22-2.gif)

▲图片来自：Everything Is Hacked



通过开发人员创建的这套系统，就能通过面部的各种动作来使用键盘。记住系统里的对照表是使用CheekyKeys 是必不可少的准备步骤，但也不用担心记不住，因为开发人员已经将这套系统分享在 GitHub 网站上。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/0414CheekyKeys-6-1024x429.jpg)

▲图片来自：GitHub



这样一来，CheekyKeys 就能使用 OpenCV 和 mediapipipe 的 Face Mesh 实时检测视频输入的面部标记。然后，通过计算相对差异来确定特定的面部姿势，并将其转化为通过键盘发送的指令。

![](https://s3.ifanr.com/wp-content/uploads/2022/04/33-1.gif)

▲图片来自：Everything Is Hacked



用 CheekyKeys ，不仅能打字，甚至还能用它来写使用 Python 语言的代码，将孩子抱在怀里，照样能打字工作。只不过，利用面部键盘自然不如用手指打字输入的快，但这种方法，绝对能满足静音的需求。

![](https://s3.ifanr.com/wp-content/uploads/2022/03/end-1024x132.png)
