1.3.5 内置键盘
键盘按照代码转换方式可以分为编码式和非编码式两种。编码式键盘是通过数字电路直接产生对应于按键的ASCII码,这种方式在目前的笔记本电脑中很少使用。非编码式键盘是将键盘按键排列成矩阵的形式,由硬件或软件随时对矩阵进行扫描,一旦某一键或组合键被按下,该键的行列信息即被转换为位置码,并送入电脑主板的控制芯片,再由键盘驱动程序查表,从而得到按键的ASCII码,最后送入内存中的键盘缓冲区供主机分析执行。笔记本电脑键盘按键信息控制模块通常和主板电源管理模块整合成一个功能芯片,可以称为嵌入式控制器(Embedded Controller,EC),后续章节中将会有较详细的介绍。
非编码式键盘由于其结构简单、按键重定义方便而成为最常采用的键盘类型之一,也因此产生了多媒体键盘。为了实现键盘或电脑主机上的某些快捷按钮定义的功能,还需要PC硬件商事先在EC BIOS或相应的快捷键驱动程序里定义好相应按键的功能。此外,由于此类键盘不需要单独的控制芯片,键盘本身可以省略控制线路,所以可以做得很轻薄。目前的笔记本电脑内置键盘采用的几乎都是非编码键盘编码方式。
非编码式矩阵键盘接口通常由若干根输入、输出按键信号侦测引脚组成,笔记本电脑内置键盘接口通常有8个输入引脚和16个输出引脚,共计24个信号侦测引脚。内置键盘实际上就是一个矩阵开关,通常由八十几个键盘按键组成,当我们按下某个键盘按键时,就相当于将键盘接口的某两个输入、输出信号引脚进行短接,主板键盘控制芯片以此得到键盘的输入信息。有兴趣的朋友不妨取下电脑的内置键盘,直接短接主板键盘接口的某两个PIN引脚,同样可以实现键盘字符的输入。如图1-21所示为笔记本电脑典型非编码式矩阵键盘的矩阵编码示意图。
![](https://book.img.zhangyue01.com/group61/M00/72/29/CmQUOF-XyEmEGSn8AAAAADFTErM392023762.jpg?v=VWxSrt3G&t=CmQUOF-XyEk.)
图1-21 典型非编码式矩阵键盘矩阵编码示意图
图1-22所示为上述键盘矩阵图所对应的编码表。举例说明一下,键位“76”表示由键盘接口第24PIN和第12PIN短接时产生,其他依次类推。
当然,非编码式矩阵键盘也有其局限性。如果同时按下三个或以上键盘按键时,有可能会导致所谓的“键位冲突”问题,即同时按下若干按键时,电脑主机可能只能实现对部分按键的输入。喜欢打游戏的朋友在自定义组合按键时可能会有体会。
如图1-23所示为典型笔记本电脑内置键盘的图示,满足上述矩阵键盘的编码原理。