01它们并不能真的“读懂想法”

你想在屏幕上输入一个字母,于是按下键盘; 你想打开一个图标,于是移动鼠标并点击。

看起来好像键盘和鼠标“知道你想做什么”,其实并不是。 它们只负责检测你的物理动作,再把这些动作变成电脑能够接收的数据。

人的动作

按键、移动、点击、滚轮

设备检测

把动作变成电子信号和数据

电脑处理

操作系统和程序解释这些输入

02按下一个键时发生了什么?

键盘下面并不是每个按键都直接拉一根单独的线连到电脑。 常见键盘内部会用一组线路组成类似“网格”的结构来检测按键。

1

你按下按键

例如按下 A 键

2

键盘检测位置

控制器判断是哪一个键被按下

3

变成按键信息

设备把“哪个键、按下还是松开”编码成数据

03鼠标怎样知道自己移动了?

现在常见的光学鼠标底部有光源和传感器。 它会连续观察桌面表面的细小变化,再计算鼠标相对移动了多少。

光学鼠标

照亮表面
快速采样
计算移动量

鼠标通常不是在告诉电脑:“我现在位于屏幕第 500,300 个像素。”

更常见的是告诉电脑:“我向右移动了一些、向上移动了一些。”

04这些信息怎样送进电脑?

键盘和鼠标检测到动作以后,还要把数据传给电脑。 常见方式包括 USB 有线连接无线连接

USB

数据通过线缆传到电脑

无线

通过蓝牙或无线接收器等方式传输

设备会发送“输入报告”

常见 USB 键盘和鼠标属于 HID(Human Interface Device,人机接口设备)。 它们会按照规定格式,把按键、按钮、移动量等信息报告给电脑。

不同设备和连接方式的底层细节并不完全一样。这里介绍的是常见个人电脑键盘、鼠标的基本工作模型。

05电脑怎样把输入变成文字和操作?

设备把数据送进电脑以后,还不能直接说“程序已经得到一个字母”。 操作系统和驱动程序会先处理设备输入,再把合适的事件交给正在运行的程序。

键盘 / 鼠标

报告按键、移动和按钮

操作系统 / 驱动

识别设备并处理输入

应用程序

根据输入执行自己的功能

键盘输入

同一个按键,在文字编辑器里可能输入字符; 在游戏里可能代表“向前移动”;在快捷键中又可能代表另一种命令。

鼠标输入

移动数据可以改变指针位置,点击则会被当前程序理解成选择、打开、拖动等操作。

06用一次“输入 A”看懂完整过程

假设你正在英文输入状态下,在文字编辑器里按下 A 键。 可以把整个过程简化成下面这条路线:

1

手指按键

你按下 A 键

2

键盘检测

知道某个按键被按下

3

传给电脑

通过 USB 或无线发送数据

4

软件处理

系统结合布局、按键状态等解释输入

5 显示器

显示字符

文字编辑器最终显示 A 或 a

你已经知道了什么

  • 键盘和鼠标不能读取人的想法,只能检测按键、移动、点击等动作。
  • 键盘会检测哪个按键被按下或松开,再把这些信息编码成数据。
  • 光学鼠标会观察表面变化,并计算相对移动量。
  • 键盘和鼠标可以通过 USB、蓝牙或无线接收器等方式把数据送进电脑。
  • 常见键盘和鼠标属于 HID 人机接口设备。
  • 操作系统和程序会继续解释输入,因此同一个按键在不同程序里可以有不同作用。
  • 输入设备负责“报告动作”,软件负责“决定这些动作是什么意思”。

下一个问题: 键盘和鼠标把信息送进电脑以后,屏幕又是怎样把文字、图片和游戏画面显示出来的? 下一篇:屏幕是怎样显示画面的?