主权项 |
1.一种键盘输入系统异常的检错方法,用以检错键盘与电脑主机间的输入操作错误,其中所述电脑主机包括一键盘控制器,用以接收所述键盘输入的键盘扫描码;和一系统核心模块,该模块通过键盘中断处理程序,将所述键盘控制器接收到的键盘扫描码转换为相应的系统扫描码和字符代码,所述键盘扫描码属于第一模式扫描码组和第二模式扫描码组中的一个,其特征在于,所述检错方法包括三次按键测试,其中第一次按键测试包含以下步骤:按下所述键盘上的第一按键,并且从所述电脑主机中读取对应于所述第一按键的系统扫描码和字符代码;检查所得的系统扫描码和字符代码是否正确;当所述系统扫描码和所述字符代码都正确时,判定无输入操作错误;当所述系统扫描码正确但所述字符代码错误时,判定错误发生于所述电脑主机中的键盘中断处理程序或是用于转换字符代码的对照表,并且当所述系统扫描码错误时,进行第二次按键测试;第二次按键测试包含以下步骤:利用一检错用键盘中断处理程序,代替执行原来的键盘中断处理程序,用以截取键盘扫描码;将所述键盘输出的所述键盘扫描码设定为第二模式扫描码组;启动所述键盘控制器的转换功能,将所述第二模式扫描码组转换为所述第一模式扫描码组;按下所述键盘上的第二按键,通过所述检错用键盘中断处理程序,从所述电脑主机中读取对应于所述第二按键的第一键盘扫描码,其中所述第一键盘扫描码属于第一模式扫描码组;检查所得的第一键盘扫描码是否正确;当所述第一键盘扫描码正确时,判定错误发生于原来的所述键盘中断处理程序;和当所述第一键盘扫描码错误时,进行第三次按键测试;第三次按键测试包含以下步骤:关闭所述键盘控制器的转换功能;按下所述键盘上的第三按键,通过所述检错用键盘中断处理程序,从所述电脑主机中读取对应于所述第三按键的第二键盘扫描码,其中所述第二键盘扫描码属于第二模式扫描码组;检查所得的第二键盘扫描码是否正确;当所述第二键盘扫描码错误时,判定错误可能发生于所述键盘;当所述第二键盘扫描码正确时,判定错误可能发生于所述键盘控制器;所述第一次按键测试、第二次按键测试和第三次按键测试依序进行,直至出现判断结果为止;以及在所述第二次按键测试和所述第三次按键测试结束时,还包括一恢复步骤,用于恢复所述原来的键盘中断处理程序。 |