01它们并不能真的“读懂想法”
你想在屏幕上输入一个字母,于是按下键盘; 你想打开一个图标,于是移动鼠标并点击。
看起来好像键盘和鼠标“知道你想做什么”,其实并不是。 它们只负责检测你的物理动作,再把这些动作变成电脑能够接收的数据。
人的动作
按键、移动、点击、滚轮
设备检测
把动作变成电子信号和数据
电脑处理
操作系统和程序解释这些输入
02按下一个键时发生了什么?
键盘下面并不是每个按键都直接拉一根单独的线连到电脑。 常见键盘内部会用一组线路组成类似“网格”的结构来检测按键。
你按下按键
例如按下 A 键
键盘检测位置
控制器判断是哪一个键被按下
变成按键信息
设备把“哪个键、按下还是松开”编码成数据
03鼠标怎样知道自己移动了?
现在常见的光学鼠标底部有光源和传感器。 它会连续观察桌面表面的细小变化,再计算鼠标相对移动了多少。
光学鼠标
鼠标通常不是在告诉电脑:“我现在位于屏幕第 500,300 个像素。”
更常见的是告诉电脑:“我向右移动了一些、向上移动了一些。”
04这些信息怎样送进电脑?
键盘和鼠标检测到动作以后,还要把数据传给电脑。 常见方式包括 USB 有线连接和无线连接。
USB
数据通过线缆传到电脑
无线
通过蓝牙或无线接收器等方式传输
设备会发送“输入报告”
常见 USB 键盘和鼠标属于 HID(Human Interface Device,人机接口设备)。 它们会按照规定格式,把按键、按钮、移动量等信息报告给电脑。
不同设备和连接方式的底层细节并不完全一样。这里介绍的是常见个人电脑键盘、鼠标的基本工作模型。
05电脑怎样把输入变成文字和操作?
设备把数据送进电脑以后,还不能直接说“程序已经得到一个字母”。 操作系统和驱动程序会先处理设备输入,再把合适的事件交给正在运行的程序。
键盘 / 鼠标
报告按键、移动和按钮
操作系统 / 驱动
识别设备并处理输入
应用程序
根据输入执行自己的功能
键盘输入
同一个按键,在文字编辑器里可能输入字符; 在游戏里可能代表“向前移动”;在快捷键中又可能代表另一种命令。
鼠标输入
移动数据可以改变指针位置,点击则会被当前程序理解成选择、打开、拖动等操作。
06用一次“输入 A”看懂完整过程
假设你正在英文输入状态下,在文字编辑器里按下 A 键。 可以把整个过程简化成下面这条路线:
手指按键
你按下 A 键
键盘检测
知道某个按键被按下
传给电脑
通过 USB 或无线发送数据
软件处理
系统结合布局、按键状态等解释输入
显示字符
文字编辑器最终显示 A 或 a
你已经知道了什么
- 键盘和鼠标不能读取人的想法,只能检测按键、移动、点击等动作。
- 键盘会检测哪个按键被按下或松开,再把这些信息编码成数据。
- 光学鼠标会观察表面变化,并计算相对移动量。
- 键盘和鼠标可以通过 USB、蓝牙或无线接收器等方式把数据送进电脑。
- 常见键盘和鼠标属于 HID 人机接口设备。
- 操作系统和程序会继续解释输入,因此同一个按键在不同程序里可以有不同作用。
- 输入设备负责“报告动作”,软件负责“决定这些动作是什么意思”。
下一个问题: 键盘和鼠标把信息送进电脑以后,屏幕又是怎样把文字、图片和游戏画面显示出来的? 下一篇:屏幕是怎样显示画面的?