键盘扫描码
键盘上除了ASCII码外,还有非ASCII码(如左移键“←”对应的编码),叫扩充键盘码。
我们把扩充键盘码放在高八位,ASC II码放在低八位所组成的代码称为扫描码。
对于某一特定的扫描码,若其低8位不为零,则此8位就是相应字符的ASCII码值;若低8位是零,则高8位是扩充键盘码,需要再读取人第二个字节,根据它的值来判断它是那一个功能键。
下表给出了单功能键和组合功能键的键值,表中代码系指第二个字节键值的十进制数。
例如,“←”的扫描码低8位应为零,而高8位是0x4b,所以,“←”键的扫描码为O x4b00;而“回车键”有对应的ASCII码,故其扫描码的低8位是回车键的ASCII码值0xod。
测试键盘扫描码
调用标准库函数b ioskey()读取键盘扫描码。
注意要使用b io skey()函数,应在文件头部加上#includ e “b ios.h”。
函数b io skey()的功能是用于识别用户按键和获得按键值。
函数原
型是:
int b ioskey(int cmd);
在<b ios.h>中定义,在使用它时,应用include命令将b ios.h文件包含进来。
其中参数cmd可取值0或1。
①当cmd=1时,检测键盘是否有击键,如果没有击键,函数将返回0,否则返回非零;
②当cmd=0时,返回从键盘输入的扫描码。
语句key=b ioskey(0);读取键盘输入的扫描码,并存储在变量k ey 中。