CN1310397A - 计算机键盘检测方法 - Google Patents
计算机键盘检测方法 Download PDFInfo
- Publication number
- CN1310397A CN1310397A CN 00102693 CN00102693A CN1310397A CN 1310397 A CN1310397 A CN 1310397A CN 00102693 CN00102693 CN 00102693 CN 00102693 A CN00102693 A CN 00102693A CN 1310397 A CN1310397 A CN 1310397A
- Authority
- CN
- China
- Prior art keywords
- keyboard
- key
- main frame
- scan code
- pressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
一种计算机键盘检测方法,利用计算机主机处理缓冲区内的可为通码或断码的键盘扫描之方式,来找出发生短路的键盘按键与断路的键盘按键,能确实的排除计算机键盘中的短路与断路问题。本发明直接处理缓冲区的键盘扫描码,故既能获得键盘的通码又可获得键盘的断码,所以可有效解决键盘的短路与断路问题。
Description
本发明涉及一种计算机键盘检测方法,更具体地,涉及一种键盘短路与断路的计算机键盘检测方法。
计算机键盘是计算机系统中的一个非常重要的外部输入装置,使用者通过键盘以输入资料或指令到计算机主机,而使计算机系统工作并提供服务。因此,键盘是否正常工作将影响到输入计算机主机的信号,故有必要对键盘进行测试以判断键盘的功能是否正常。
在实际的键盘操作上,以行数据线及列数据线所构成之键盘矩阵的矩阵结构来对应实际键盘按键,而键盘矩阵中的每一个键号代表一相对应的实际键盘按键。当键盘出现短路时,在键盘矩阵中,通常有行数据线与行数据线短路、列数据线与列数据线短路、行数据线与列数据线短路的三种情况。而行数据线与列数据线的短路情形,在计算机开始启动时,由计算机BIOS中的自动检查程序即可发现,所以使用者要处理的是列数据线与列数据线的短路问题以及行数据线与行数据线的短路问题。
当键盘上有按键被按下时,键盘控制器(keyboard controller)将扫描键盘矩阵,并接收来自键盘的信号变化而产生出相对应于键的键盘扫描码(scan code),键盘扫描码可为代表键被按下的通码或可为代表键被按下后又抬起的断码,并将引发计算机主机硬件中断IRQ1,主机系统将调用INT 9H中断服务程序,而此INT 9H中断服务程序的基本功能在于读取并处理来自键盘的扫描码或命令,以将扫描码转换为ASCII码并送入主机之键盘缓冲区中,主机将处理键盘缓冲区中的数据用以判断键盘之短路情形。
但综观一些测试方法,无论是含有对键盘上的键进行检测之诊断计算机硬件的QAFact软件与Amidiag软件,均是调用DOS(DiskOperating System)和BIOS(Basic Input Output System)中断程序来获得每个键的扫描码。通常这类获得扫描码的方法有一明显缺点,即无法获得每个按键的断码,也就是无法知道哪些键于何时被抬起,导致分不清按下已抬起的键(即抬起后又被按下的键)和正按下的键,仅能反映有多少的键被按下的结果,而不能反应出当前有多少个键处于正被按下的状态。而当键盘中的键盘矩阵出现短路时,也就是通常所说的键盘短路时,在此种短路状态下,按下某键时就会同时伴随其他键的扫描码产生,相当于同一时刻有几个键同时被按下,但是由于先前方法的缺点,只能显示出这几个键是被按下,但无法分辨出这些键是同时被按下,还是一个一个的被按下去,而不能分辨出键盘的短路问题。对于键盘之断路问题而言,由于无法处理扫描码为断码的情形,因而亦无法解决键盘之断路问题。
为了解决上述已知方法所产生的问题,以及已知方法所无法判别的键盘断路问题,我们采用了一种新颖的键盘检测方法,能有效地克服上述存在的问题,并可既能分析出键盘的短路问题,又能有效地判别出键盘的断路问题。
本发明的主要目的在于提供一种计算机键盘的检测方法,可应用于包含计算机键盘的计算机系统中,让使用者能找出短路以及断路的键盘按键。
本发明的另一目的在于提供一种计算机键盘的检测方法,可应用于包含计算机键盘的计算机系统中,在计算机显示器荧幕上显示一对应于实际键盘按键之键盘测试图,在使用者一一按下按键后,可经由键盘测试图上的键之颜色的改变而找出短路以及断路的键盘按键。
本发明的再一目的在于提供一种计算机键盘的检测方法,可应用于包含计算机键盘之计算机系统中,计算机主机装置处理的数据为包含键盘通码、键盘断码之键盘扫描码,而非键盘扫描码经转码处理后的ASCII码。
本发明的另一目的在于提供一种计算机键盘的检测方法,可应用于包含计算机键盘的计算机系统中,将经由键盘控制器而来的键盘扫描码直接存入计算机主机装置之缓冲区中,而不需要将键盘扫描码转换为ASCII码以存入键盘缓冲区中。
本发明的又一目的在于提供一种计算机键盘的检测方法,可应用于包含计算机键盘的计算机系统中,当使用者按下一键后,键盘控制器将读到一信号变化而产生出相对应于此一按键的键盘扫描码,并将引发硬件中断IRQ1,而以自设的中断服务程序代替传统的INT 9H中断程序。
为了达成以上所述之目的,本发明提供了一种新颖的计算机键盘的检测方法,可应用于包括计算机键盘、键盘控制器、含有缓冲区的计算机主机装置以及显示器的计算机系统中。
使用本方法时,首先在计算机显示器荧幕上显示一对应于实际键盘按键并按照实际键盘按键之分布情形而排列的起始键盘测试图,接着建立对应于实际键盘的标准扫描码数据及键盘矩阵,然后设定按键超时时间及特定退出测试组合键用以让使用者随时可结束键盘测试程序。当使用者按下一按键后,键盘控制器将读到一信号变化而产生出相对应于此一按键之键盘扫描码,并将引发计算机主机装置硬件中断IRQ1,而以自设的中断服务程序代替传统的INT 9H中断程序,然后直接将键盘扫描码送入计算机主机装置的缓冲区中,以与标准扫描码数据进行比较,然后将按键之当前状态显示在显示器荧幕上的键盘测试图上。由于键盘扫描码可为代表键被按下的通码或代表键被按下后又抬起的断码,而当使用者一一按下键后,可借助显示器荧幕上键盘测试图的按键状态及键盘矩阵中的行数据线与列数据线的分布情况,并配合使用者实际操作按键情形,而判断出数据线与数据线之间的短路与断路关系,找出计算机键盘中发生短路与断路的按键。
已知方法中的计算机主机装置是处理键盘缓冲区中的经转码后的ASCII码,因而已知方法仅能处理键盘的短路问题,而无法同时处理键盘之断路问题,但使用本方法时,计算机主机装置直接处理缓冲区的键盘扫描码,所以无论键盘扫描码是键盘通码还是键盘断码,计算机主机装置均可处理,因此可以判断出键盘按键的短路与断路问题。
为让本发明的上述和其它目的,特征,优点能更明显易懂,将举一最佳实施例,并配合附图,详细说明本发明的实施例,附图的内容简述如下:
图1为一系统方块图,其中显示应用本发明之计算机键盘检测方法的计算机系统的基本系统组织架构;
图2为一键盘按键与键盘矩阵的对应示意图,用以说明应用本发明的计算机键盘检测方法的计算机键盘上的每一个实际按键所对应的键盘矩阵的对应位置;
图3为一键盘按键与扫描码的对应示意图,用以说明应用本发明的计算机键盘检测方法的计算机键盘上的每一个实际按键所对应的扫描码,而每一个实际按键所对应的扫描码包含有位于上方的代表键被按下的通码数据以及位于下方的代表键按下后又被抬起的断码数据;
图4为图2中的键盘矩阵以行数据线名称以及列数据线名称所表示列出的键盘矩阵位置表格示意图,用以说明应用本发明的计算机键盘检测方法中的键盘矩阵中每一位置与行数据线以及列数据线的互相对应关系;
图5为一示意图,用以说明应用本发明的计算机键盘检测方法的显示器荧幕将在执行键盘测试时,显示出一键盘测试图;
图6为表示图1的系统的一个实施例的操作流程图,其中显示应用本发明的计算机键盘检测方法以判断出键盘短路、断路的流程程序;
图7为一流程图,其中显示在图6中如何收集、分析键盘测试数据,并记录测试的结果,以对键盘进行断路与短路的测试;和
图8为一流程图,其中显示在图7中如何获得键所发出的扫描码,说明当使用者按下键后,经由键盘控制器而得到键盘扫描码后,将启动一自设的中断程序并直接将所获得的键盘扫描码送入缓冲区中。
请参阅图1,其中显示应用本发明的计算机键盘检测方法的计算机系统的基本系统组织架构。如图1所示,此计算机系统1包含一计算机键盘2、一键盘控制器3、一计算机主机装置4、一缓冲区5以及一显示器6。此计算机系统1可为任何型号的个人计算机系统,例如为桌上型、笔记本型、或掌上型计算机系统。
在计算机系统1中,计算机键盘2耦合到键盘控制器3,而键盘控制器3再耦合到计算机主机装置4,而计算机主机装置4还耦合到显示器6。其中,计算机主机装置含有一缓冲区5。
首先计算机主机装置4将在计算机显示器6的荧幕上显示一对应于实际计算机键盘2并按照计算机键盘2之按键分布情形而排列的起始键盘测试图,并接着在计算机主机装置4中建立对应于计算机键盘2的标准扫描码数据及键盘矩阵,然后设定按键超时时间及特定退出测试组合键用以让使用者随时可结束键盘测试程序。当计算机键盘2中的某一键被按下或按下又抬起后,键盘控制器3就会读到此一键盘信号变化而产生出相对应于此一按键的键盘扫描码(可为通码或断码),并将引发计算机主机装置4的硬件中断IRQ1,而以自设的中断服务程序代替传统的INT9H中断程序,然后直接将键盘扫描码送入计算机主机装置4的缓冲区5中,以与标准扫描码数据进行比较,然后将按键的当前状态显示于显示器6荧幕上的键盘测试图。由于键盘扫描码可为代表键被按下的通码或代表键按下后又被抬起的断码,当使用者一一按下键后,可借助于显示器6荧幕上的键盘测试图的按键状态,配合键盘矩阵中的行数据线与列数据线的分布情况以及使用者操作按键情形,而判断出数据线与数据线之间的短路与断路关系,找出计算机键盘中发生短路与断路的按键。
图2为一计算机键盘2的按键与键盘矩阵的对应示意图,用以说明计算机键盘2上的每一个实际按键所对应的键盘矩阵的对应位置,并以键号来代表此键号所对应的实际按键,以及键盘矩阵与行数据线以及列数据线的相互对应关系。在实际的键盘操作上,以行数据线及列数据线所构成的键盘矩阵的矩阵结构来对应实际计算机键盘2的按键而键盘矩阵中的位置上的每一个键号代表一相对应的实际键盘按键。如图2中所示,以一个键盘矩阵的形态来表示位于计算机键盘2上每一个键的相对应位置以及键号,每个位于计算机键盘2上的按键均对应于键盘矩阵中的某一位置上的键号。例如位于键盘矩阵ksin0-kout10位置的键号为43的一键对应于实际计算机键盘2的[Enter]键,位于键盘矩阵ksin13-kout11位置的键号为64的一键对应于实际计算机键盘2的[Ctrl]键,而位于键盘矩阵ksin5-kout6位置的键号为36的一键对应于实际计算机键盘2的[H]键。由于键盘矩阵所能容纳的键号位置数目大于实际计算机键盘2的按键数目,因而在键盘矩阵中的某些位置上并无键号,亦即并无相对应的实际按键,例如在键盘矩阵ksin7-kout8的位置上并无任何键号,故在此键盘矩阵位置(ksin7-kout8)上并无任何与之对应的实际键。当使用者按下或抬起计算机键盘2的某一按键后,依此按键的键号而对应到以列数据线以及行数据线所构成的键盘矩阵中的某一位置,而键盘控制器3将读到来自此一键盘矩阵位置的一信号变化并产生出对应的扫描码(通码或断码)。
图3为一计算机键盘2的按键与键盘扫描码的对应示意图,用以说明应用本发明的计算机键盘检测方法的计算机键盘2上的每一个实际按键所对应的键盘扫描码。图中显示实际计算机键盘2的按键所对应的包含通码以及断码的扫描码的对应情形,由图可知,每一个实际按键所对应的扫描码包含有位于上方的代表键被按下的通码数据以及位于下方的代表键按下后又被抬起的断码数据。例如,如图中所述,计算机键盘2的实际键[H]所对应的通码为上面一组数字23,亦即当按键〔H〕被按下后,依此按键〔H〕的键号36而对应到以列数据线以及行数据线所构成的键盘矩阵中的某一位置,而键盘控制器3将读到来自此一键盘矩阵位置的信号变化并产生出对应的扫描码为通码23。而当键〔H〕被按下后而又被抬起时,则其经由键盘控制器2转码后所得的扫描码为断码A3用以表明此一键由原来的接通状态而变化成为断开状态。所以当键盘控制器3得到来自对应于计算机键盘2的按键的键盘矩阵的信号变化后,将依按下键与按下又抬起键的动作而产生出相对应的通码以及断码,用以表示按键的按下或按下又抬起的形态。如果对应之键为短路形态,则当按下对应键时,键盘控制器3将会产生多个键的通码,相当于多个键同时被按下,据此来判断短路情形。如果对应的键为断开形态,即使此键被按下时,键盘控制器3将无法产生任何对应此键的通码与断码,即不会产生任何的扫描码。
图4为图2中的键盘矩阵以行数据线名称以及列数据线名称所表示列出的键盘矩阵位置表格示意图,用以说明应用本发明的计算机键盘检测方法中的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系。如图中所述,在此行列数据线与键盘矩阵的对应图中,可以明白的看出位于键盘矩阵位置表格中的每一位置所代表的键盘矩阵键号是什么。由此矩阵键盘行列表格内容而可得到所对应的键。例如表格中的列数据线29-行数据线25即(24,06)所对应的表格内容为键号13,而(15,28)所代表的表格内容即键号为36,而键号36所对应的计算机键盘2上的按键乃为〔H〕键,可经由矩阵键盘表格内的键号而可得到相对应的计算机键盘2中的键。
图5为一示意图,用以说明应用本发明的计算机键盘检测方法的显示器荧幕将在执行键盘测试时,显示出一键盘测试图。从图中可知,此显现于显示器4荧幕上的键盘测试图中的键分布排列与实际计算机键盘2的键分布情形相同。当使用者欲执行键盘测试时,计算机主机装置4将在计算机显示器6的荧幕上显示一对应于实际计算机键盘2并按照计算机键盘2的按键分布情形而排列的键盘测试图,而当使用者尚未按下任何按键时,此起始键盘测试图中的按键均为代表键未被按下的颜色。
图6为表示图1的系统的一实施例的操作流程图,其中显示应用本发明的计算机键盘检测方法以判断出键盘短路、键盘断路的流程程序。
如图中所示,首先在步骤11时,在计算机主机装置4定义三种不同的颜色以区分计算机键盘2的按键的三种不同状态,此不同按键状态分别为〔键从未按下〕,〔键正被按下〕与〔键已被按过〕。在此我们可设,蓝色显示代表按键并未被按下,红色的按键代表正在被按下,黑色的则显示出此键是已被按下。
在步骤12,利用计算机主机装置4于显示器6之荧幕上显示出对应于计算机键盘2的按键所组成的一个起始键盘测试图,此键盘测试图如图5所示是按照实际计算机键盘2的键的分布情形而显现于荧幕上。由于使用者尚未按下任何键,所以此键盘测试图上的所有按键均为蓝色,表示没有任何键被使用者按下。
在步骤13,计算机主机装置4将建立标准扫描码数据资料库和键盘矩阵位置分布表。计算机键盘2中的每个键均有其独特的扫描码,此扫描码包含代表键被按下的通码,以及代表键按下又被抬起而键的状态为由原来接通状态变为断开状态的断码〔以十六位进制来表示〕,建立这些标准扫描码数据资料库是用来与测试计算机键盘2时所按下的键与按下又抬起的键所获得的扫描码数据加以比较,以显示测试过程中目前按键的当前状态。可依照图2中的行数据线以及列数据线分布,建立键盘矩阵,借助此键盘矩阵中的位置分布来判断行数据线与行数据线、列数据线与列数据线之间的短路与断路的情况,而所建立起的键盘矩阵表格就是如图4中所示,由图4中的表格内容的键号,即可得到对应此键号的计算机键盘2的按键是什么。
步骤14将设定按键超时时间以及特定退出组合键。设定按键超过时间的目的在于如果所有的按键或用以退出执行测试程序的按键为故障时,使用者仍可退出此测试程序,而不是如已知技术的无法退出情形;而设定特定退出组合键是让使用者按下一些键后即可退出此测试程序。例如如果所设定的按键超时时间为100秒,则当过了100秒之后,测试程序自动认为结束而退出此测试;又如若特定退出组合键为〔E〕、〔N〕、〔D〕三键,即当使用者先后接连地按下〔E〕键、〔N〕键、〔D〕键后,测试程序自动认为已结束,而停止此测试键盘程序。
于步骤15,将执行按下计算机键盘2按键的分析、收集键盘测试数据,并同时记录测试结果的程序。
步骤16中,在显示器6荧幕上的键盘测试图显示出使用者测试后的键盘测试结果,也就是显示键盘短路与断路的测试结果。
图7乃详细说明图6中的步骤15,即执行按下计算机键盘2的按键以分析、收集键盘测试数据,并同时记录测试结果的程序。
在步骤151中,使用者以设计好的中断服务程序更换INT 9H中断服务程序,由此获得计算机键盘2的包括按键通码以及按键断码的扫描码。
在步骤152中,将等待使用者的操作。
步骤153用于判断使用者是否抬起或按下某个键;若使用者未按下或抬起任何键,则进到步骤160;若使用者按下或抬起任何键,则进到步骤154。
步骤154中,由于使用者按下或抬起任何一键,而键盘控制器3就会读到一信号变化而产生出相对应于此一键的扫描码。将此对应的按键所得的断码来代表此对应的键是被按下后又抬起所引起的断路;而将此对应的按键所得的通码来代表此对应的键是按下所引起的通路。键盘扫描器3将所得的扫描码(不论是通码或断码)直接送入计算机主机装置5的缓冲区6中,以做扫描码比较处理。
于步骤155,计算机主机装置4分析并处理缓冲区6中的数据,计算机主机装置4根据所获得的数据与在步骤13中计算机主机装置5所建立的标准扫描码数据资料库做一比较,以判断所得的扫描码是断码还是通码。若所得的扫描码与标准扫描码数据资料库中的某一断码相同时,则此扫描码就是断码则将进到步骤156;反之,若所得的扫描码与标准扫描码数据资料库中的某一通码相同时,则此扫描码就是通码,则进到步骤157。
步骤156中所获得的扫描码是断码,而计算机主机装置4将根据所得之断码,判断出相对应于此断码的实际键盘上的某一键,并在显示器6荧幕上的键盘测试图中,以代表键已被按下的颜色即黑色来显示该键为已按下状态,并记录该键的状态,接着进到步骤160。
于步骤157中所获得的扫描码是通码,而计算机主机装置4将根据所得的通码,判断出相对应于此通码的实际键盘上的某一键,并在显示器6荧幕上的键盘测试图中,以代表键正被按下的颜色即红色来显示该键处于正按下状态,并记录该键的状态,接着进到步骤158。
步骤158中,在显示器6荧幕上的键盘测试图,使用者将检查当仅正按下一键时,在键盘测试图中,是否同时显示有二个或二个以上的键盘测试图中的键为处于正被按下的状态,即键盘测试图中有无二个或二个以上的键的显示颜色为红色;若在显示器6荧幕上的键盘测试图中确实有二个或二个以上的键的显示颜色为红色,则进到步骤159;反之,若在显示器6荧幕上的键盘测试图中并无二个或二个以上的键的显示颜色为红色,则进到步骤160。
步骤159中,使用者根据显示器6荧幕上的键盘测试图中所显示为红色的键的分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的互相对应关系,而判断出短路的数据线,并记录短路结果。
在步骤160中,计算机主机装置4将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或计算机键盘2的全部键均被按过;若符合上述三项条件之其中一项,则进行到下一步骤161;或并未符合上述三项条件的其中一项,则回到步骤152。
步骤161中,使用者分析还有多少个键未被按下,并根据显示器6荧幕上的键盘测试图中所显示的键的颜色分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的互相对应关系,而判断出断路的数据线,并记录断路结果,将进到步骤162。
步骤162中,已得到了计算机键盘2的短路以及断路情况,而将还原INT 9H中的中断服务程序,而结束了此一收集、分析键盘测试并记录测试结果的过程。
图7中,将详述图6中的步骤154,即计算机主机装置4是如何得到计算机键盘2的键的扫描码的程序。
首先在步骤1541,使用者按下或抬起某一键后,将进到步骤1542。
步骤1542中,键盘控制器3将扫描计算机键盘2所对应的键盘矩阵,当接收到来自计算机键盘2的数据(无论是按下某一键或抬起某一键所产生的信号改变)后,并将其转码而成为键盘扫描码,此转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键按下后又被抬起的断码,视使用者的操作动作而定。待得到某一键的扫描码后,将进到步骤1543。
于步骤1543中,键盘扫描码将引发计算机主机装置4的硬件中断IRQ1,并用使用者设计的中断服务程序来代替传统已知技术中的INT 9H中断程序,直接将由键盘控制器3而来的键盘扫描码送入计算机主机装置4的缓冲区5中,并进到步骤1544。
步骤1544,键盘扫描码存入缓冲区6中后,前进到图6中的程序155,以分析并处理缓冲区6中的数据。
现以计算机键盘2所对应的键盘矩阵中的行数据线25以及行数据线26出现短路为例,也就是行数据线ksin2与行数据线ksin3出现短路,来说明如何利用本发明的键盘测试方法来对计算机键盘2进行测试,而可找出该行数据线25、行数据线26短路的情况。
首先使用者针对如图1中的实际计算机键盘2从左到右、从上到下一个一个地按下键,而当使用者将操作计算机键盘2的第二排(含有十六个键)时,操作动作如附表1的键盘分析过程表中所述。附表1说明进行计算机键盘2的第2排按键测试时,每一按键程序所获得的数据和分析的过程及结果。从附表1中可知当使用者按下键〔F6〕,对照如图1可得知键〔F6〕的键号为117,并可根据图3的扫描码的通码、断码与实际计算机键盘2的对应图,以及经由键盘控制器3的扫描键盘矩阵收到来自计算机键盘2的键〔F6〕的数据,并将其转换为键盘扫描码后,得出键〔F6〕(键号117)的键盘扫描码为一通码,而此通码的值为40。然后引发计算机主机装置4的硬件中断IRQ1并用本发明的中断服务程序来代替传统已知技术中的INT 9H中断程序,而直接的将经由键盘控制器3转码所得的键盘扫描码送入计算机主机装置4的缓冲区5。再经由计算机主机装置4的处理而在显示器6荧幕上的键盘测试图中显现出键〔F6〕为红色,即代表计算机键盘2中的键〔F6〕正被使用者按下。但由于行数据线25以及行数据线26出现短路,故在显示器6的荧幕上的键盘测试图中不但键〔F6〕显现为红色,而且键[Home]亦在键盘测试图中显现出红色键,表示当使用者仅按下计算机键盘2的一个按键时,同时于键盘测试图中有二个键显现出为代表键正被按下的红色。
故当使用者看到显示器6的荧幕上的键盘测试图中键〔F6〕(键号为117)和键[Home](键号为80)同时出现红色时,利用如图4的键盘矩阵位置表格,即可判断出行数据线25以及行数据线26出现短路。而若使用者再继续一个一个按下计算机键盘2第二排的其他按键时,则亦如同附表1中所示,将会再出现仅按下一键而同时在显示器6的荧幕上的键盘测试图中出现二个按键同为红色的情形,而原理与过程相同于按下键〔F6〕的状态,均是由于行数据线25以及行数据线26出现短路所导致的。而如果有其他的行数据线与行数据线发生短路的情形,由于其测试原理与过程相同于行数据线25与行数据线26出现短路的情况,故在此不再讨论。
现再以计算机键盘2所对应的键盘矩阵中的列数据线29出现断路为一例,也就是列数据线ksout4出现断路,来说明如何利用本发明的键盘测试方法来对计算机键盘2进行测试,而可找出此一列数据线29断路的情况。
在列数据线29上的键号29、76、13、120、89、79、85以及71所对应的实际计算机键盘2的键分别为[\]、[Delete]、[=]、[F9]、[→]、[←]以及[PgUp]。而这些按键都位于键盘矩阵的列数据线29,但由于列数据线29为断路故这些键号所代表的计算机键盘2中的实际键亦为断路的情形。
首先使用者针对如图1中的实际计算机键盘2从左到右、从上到下一个一个地按下键。而当使用者操作计算机键盘2之第一排(含有三个键)时,可知当使用者按下键[PgUp]时,对照如图1可得知键[PgUp]的键号为85,并可根据图3的扫描码的通码、断码与实际计算机键盘2的对应图,以及经由键盘控制器3扫描键盘矩阵收到来自计算机键盘2的键[PgUp]的数据,并将其转换为键盘扫描码。所以当键[PgUp]被按下时,由于列数据线29为断路,所以键[PgUp]处于无法导通状态,故无法得到键[PgUp](键号85)的键盘扫描码为一个代表键被按下的通路通码E049;并由于先前的键[PgUp]并非处于按下导通的状态,即使键[PgUp]被抬起后,亦将无法产生代表原为导通状态而后变为断开状态的键[PgUp]的断码。所以由于列数据线29为断路的原因,故无法得到键[PgUp]的任何扫描码,所以经由计算机主机装置4的处理而在显示器6荧幕上的键盘测试图中显现出键[PgUp]仍为蓝色,所以虽然使用者已按下计算机键盘2中的键[PgUp],但由于列数据线29为断路,故在显示器6之荧幕上的键盘测试图中键[PgUp]仍显现为蓝色而不是代表键正被按下的红色,也不是代表键已被按过的黑色。
故当使用者经由显示器6的荧幕上的键盘测试图中知道键[PgUp]为断路后,而再按下位于计算机键盘2第二排(含有十六个键)的键[Esc],对照如图1可得知键[Esc]的键号为110,并可根据图3的扫描码的通码与断码与实际计算机键盘2的对应图,以及经由键盘控制器3扫描键盘矩阵收到来自计算机键盘2的键[Esc]的数据,并将其转换为键盘扫描码。但由于列数据线29为断路故无法得到键[Esc](键号110)的键盘扫描码为一个代表键被按下之通路通码3A,并由于先前的键[Esc]并非处于按下导通的状态,而即使键[Esc]被抬起后,亦将无法产生键[Esc]的断码。所以由于列数据线29为断路的原因,故无法得到键[Esc]的任何扫描码,所以经由计算机主机装置4的处理而在显示器6荧幕上的键盘测试图中显现出键[Esc]仍为蓝色,所以虽然使用者已按下计算机键盘2中的键[Esc],但由于列数据线29为断路,故在显示器6的荧幕上的键盘测试图中键[Esc]仍显现为蓝色而不是代表键正被按下的红色,也不是代表键已被按过的黑色。
故当使用者看到显示器6的荧幕上的键盘测试图中键[PgUp](键号为85)和键[Esc](键号为110)虽经按下但仍显示出蓝色时,利用如图4的键盘矩阵位置表格,即可判断出列数据线29出现断路。而若使用者再继续一个一个按下计算机键盘2中对应列数据线29的其他实际键时,由于列数据线29为断路,所以虽然已按下这些对应列数据线29的实际键,但在显示器6之荧幕上的键盘测试图中这些已被按下的键仍显现为蓝色,所以使用者可得知列数据线29确实为断路。而如果有其他的列数据线为断路,由于其测试原理与过程相同于列数据线29为断路的情况,故在此不再讨论。
综合以上的实施例以及方法,我们可以得到本发明的键盘检测方法,是以处理键盘扫描码的方式,而直接将经由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,再经由计算机主机装置来对扫描码进行处理,再将检测状况显示于显示器显示幕上,而使用者可经由显示幕中的键盘测试图,而判断出键盘的检测结果而找出短路、断路的按键。由于键盘扫描码包含有断码以及通码,故应用此键盘检测方法时,不但同时可以检测出键盘的短路情况,亦可检测出键盘的断路情况。此键盘检测方法的优点有:
1.由于是以键盘扫描码的通码、断码来进行键盘按键检测,所以不但同时可以检测出键盘按键的短路情况,而且能检测出键盘按键的断路情况;
2.当实施键盘检测时,由于已预先设定键盘超时时间以及特定退出组合键,而不致发生如已知技术的当退出键不工作时而无法退出检测工作的情形;
3.键盘检测后的结果将以不同的颜色显示于显示器荧幕上的键盘测试图中,让使用者使用方便;
4.当键盘控制器扫描键盘矩阵,并将收到来自键盘的行与列的数据转化为键盘扫描码后,无需再将键盘扫描码转换为ASCII码,从而简化键盘检测过程。
以上所述仅为本发明的最佳实施例,并非用以限定本发明的范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述专利范围内。
Claims (15)
1.一种键盘检测方法,可运用于一种包含一键盘、一键盘控制器、一含有缓冲区的计算机主机装置以及一显示器的计算机系统中以检测键盘中的按键短路与断路,该键盘检测方法包含以下程序:
(1)在计算机主机装置中定义三种不同的颜色以区分键盘按键的三种不同状态,所述不同按键状态分别为按键从未被按下、按键正被按下以及按键已被按下;
(2)利用计算机主机装置在显示器荧幕上显示一键盘测试图,此键盘测试图对应于键盘的按键实际分布情形,当使用者尚未按下任何按键以执行键盘按键测试时,此键盘测试图中的所有按键均为代表按键并未被按下的颜色;
(3)于计算机主机装置中建立键盘中的每个按键所对应的标准扫描码数据资料库,以及以对应键盘中的每个按键的键盘矩阵;每一个键盘按键均有其独特的扫描码,此扫描码数据包含代表按键被按下的通码以及代表按键被按下又被抬起的断码;而此键盘矩阵依照行数据线以及列数据线分布而建立,而键盘矩阵中则以键号来代表其所对应的实际键盘之按键;
(4)设定按键超时时间以及特定退出测试组合键,用以让使用者按下这些特定退出测试组合键后,可退出此键盘测试程序;或者当所有的键盘按键或用以退出检测执行程序的按键故障时,当使用者超过按键超时时间而仍未按下任何按键情况之下,计算机主机装置将自动结束此键盘测试程序;
(5)将执行对键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序;及
(6)在显示器荧幕上的键盘测试图显现出测试完键盘后的键盘测试结果,用以显示键盘短路与断路测试结论。
2.如权利要求1所述的键盘检测方法,其中程序(5)的将执行对键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤;
(1)以设计的中断服务程序更换键盘中断服务程序,由此获取键盘的扫描码,所述扫描码包含键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;若使用者未按下或未抬起某一按键,则进到步骤(10);若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于此键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,而计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库做一比较,以判断所得的扫描码是断码还是通码;计算机主机装置中判断所得的该扫描码是通码还是断码;若判断所得的扫描码为通码,则将进到步骤(7);若判断所得的扫描码为断码,并将进到步骤(6);
(6)所获得的扫描码是断码,而计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(10);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,并记录该键的状态,接着进到步骤(8);
(8)在显示器的荧幕上,检查当使用者仅正按下一个键时,在显示器荧幕上的键盘测试图中,是否同时显示有二个或二个以上的键的显示颜色为代表键正被按下的颜色,显示这些键处于正被按下的状态;
若有二个或二个以上的键是处于正被按下的状态则进到步骤(9);
若没有二个或二个以上的键是处于正被按下的状态则进到步骤(10);
(9)使用者根据显示器荧幕上的键盘测试图中的二个或二个以上处于正被按下状态的键的分布情形;并配合以行数据线以及列数据线所表示的键盘矩阵中的每一位置与行数据线以及列数据线的互相对应关系,而判断出短路的数据线,并记录短路结果;
(10)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;
若符合其中的一项,则进到步骤(11);
若并未符合其中的任何一项,则回到步骤(2);
(11)使用者分析还有多少个键未被按下,并根据显示器荧幕上的键盘测试图中所显示的键的颜色分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系,而判断出断路的数据线,并记录断路结果,然后进到步骤(12);以及
(12)得到计算机键盘的短路以及断路情况,还原中断服务程序,而结束收集、分析键盘测试并记录测试结果的过程。
3.如权利要求2所述的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤:
(1)使用者按下或抬起某一键后,进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,将其转码而成为键盘扫描码,转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下后又被抬起的断码,进到步骤(3);
(3)键盘扫描码将引发计算机主机装置的硬件中断,并用自行设计的中断服务程序来更换键盘中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)将键盘扫描码存入缓冲区中后,在缓冲区中得到键盘扫描码。
4.如权利要求1所述的键盘检测方法,其中程序(5)的将执行对键盘按键的加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤;
(1)以设计的中断服务程序更换键盘INT 9H中断服务程序,由此获取键盘的扫描码,所述扫描码包括键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;若使用者未按下或未抬起某一按键,则进到步骤(10);若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库做一比较,以判断所得的扫描码是断码或通码;计算机主机装置中判断所得的该扫描码是通码或断码;
若判断所得的扫描码为通码,则进到步骤(7);
若判断所得的扫描码为断码,则进到步骤(6);
(6)所获得的扫描码是断码,而计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(10);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,并记录该键的状态,接着进到步骤(8);
(8)于显示器的荧幕上,检查当使用者仅正按下一键时,在显示器荧幕上的键盘测试图中,是否同时显示有二个或二个以上的键的显示颜色为代表键正被按下的颜色,显示这些键处于正被按下的状态;
若有二个或二个以上的键是处于正被按下的状态则进到步骤(9);
若没有二个或二个以上的键是处于正被按下的状态则进到步骤(10);
(9)使用者根据显示器荧幕上的键盘测试图中的二个或二个以上处于正被按下状态的键的分布情形,并配合以行数据线以及列数据线所表示的键盘矩阵中的每一位置与行数据线以及列数据线的互相对应关系,而判断出短路的数据线,并记录短路结果;
(10)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;若符合其中的某一项,则进到步骤(11);若并未符合其中的任何一项,则回到步骤(2);
(11)使用者分析还有多少个键未被按下,并根据显示器荧幕上的键盘测试图中所显示的键的颜色分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系,而判断出断路的数据线,并记录断路结果,进到步骤(12);以及
(12)得到计算机键盘的短路以及断路情况,还原INT 9H中断服务程序,结束该收集、分析键盘测试并记录测试结果的过程。
5.如权利要求4的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤:
(1)使用者按下或抬起某一键后,进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,将其转码而成为键盘扫描码,转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下后又被抬起的断码然后进到步骤(3);
(3)键盘扫描码引发计算机主机装置的硬件中断IRQ1,并用自行设计的中断服务程序来更换键盘INT 9H中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)键盘扫描码存入缓冲区中后,在缓冲区中得到键盘扫描码。
6.一种键盘检测方法,可运用于一种包含一键盘、一键盘控制器、一含有缓冲区的计算机主机装置以及一显示器的计算机系统中以检测键盘中的按键是否短路,所述键盘检测方法包含以下程序;
(1)在计算机主机装置中定义三种不同的颜色以区分键盘按键的三种不同状态,所述不同按键状态分别为按键从未被按下、按键正被按下以及按键已被按下;
(2)利用计算机主机装置在显示器荧幕上显示一键盘测试图,此键盘测试图对应于键盘的按键实际分布情形,当使用者尚未按下任何按键以执行键盘按键测试时,此键盘测试图中的所有按键均为代表按键并未被按下之颜色;
(3)在计算机主机装置中建立键盘中的每个按键所对应的标准扫描码数据资料库,以及对应键盘中的每个按键的键盘矩阵,每一个键盘按键均有其独特的扫描码,此扫描码数据包含代表按键被按下的通码以及代表按键被按下又被抬起的断码;而此键盘矩阵依照行数据线以及列数据线分布而建立,而键盘矩阵中则以键号来代表其所对应的实际键盘的按键;
(4)设定按键超时时间以及特定退出测试组合键,用以让使用者按下这些特定退出测试组合键后,可退出此键盘测试程序;或者当所有的键盘按键或用以退出检测执行程序的按键故障时,当使用者超过按键超时时间而仍未按下任何按键情况之下,计算机主机装置将自动结束此键盘测试程序;
(5)执行对键盘按键加以分析、收集键盘测试数据,并同时记录测试结果的程序;及
(6)在显示器荧幕上的键盘测试图显现出测试完键盘后的键盘测试结果,用以显示键盘短路测试结论。
7.如权利要求6所述的键盘检测方法,其中程序(5)的将执行对键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤:
(1)以设计的中断服务程序更换键盘中断服务程序,由此获取键盘的扫描码,所述扫描码包括键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;若使用者未按下或未抬起某一按键,则进到步骤(10);若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,而计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库作一比较,以判断所得的扫描码是断码还是通码;计算机主机装置中判断所得的该扫描码是通码还是断码;
若判断所得的扫描码为通码,则进到步骤(7);
若判断所得的扫描码为断码,则进到步骤(6);
(6)所获得的扫描码是断码,而计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(10);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,并记录该键的状态,接着进到步骤(8);
(8)于显示器的荧幕上,检查当使用者仅正按下一个键时,在显示器荧幕上的键盘测试图中,是否同时显示有二个或二个以上的键的显示颜色为代表键正被按下的颜色,而显示这些键处于正被按下的状态;
若有二个或二个以上的键是处于正被按下的状态则进到步骤(9);
若没有二个或二个以上的键是处于正被按下的状态则进到步骤(10);
(9)使用者根据显示器荧幕上的键盘测试图中的二个或二个以上处于正被按下状态的键的分布情形,并配合以行数据线以及列数据线所表示的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系,而判断出短路的数据线,并记录短路结果;
(10)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;
若符合其中的某一项,则进到步骤(11);
若并未符合其中的任何一项,则回到步骤(2);
(11)使用者分析还有多少个键未被按下,进到步骤(12);以及
(12)得到计算机键盘的短路情况,还原中断服务程序,结束该收集、分析键盘测试并记录测试结果的过程。
8.如权利要求7所述的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤;
(1)使用者按下或抬起某一键后,进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,并将其转码而成为键盘扫描码,而此所转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下又被抬起的断码,进到步骤(3);
(3)键盘扫描码引发计算机主机装置的硬件中断,并用自行设计的中断服务程序来更换键盘中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)键盘扫描码存入缓冲区中后,在缓冲区中得到键盘扫描码。
9.如权利要求6所述的键盘检测方法,其中程序(5)的执行对应键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤;
(1)以设计的中断服务程序更换键盘INT 9H中断服务程序,由此获取键盘的扫描码,所述扫描码包括键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;
若使用者未按下或未抬起某一按键,则进到步骤(10);
若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库做一比较以判断所得的扫描码是断码或通码,计算机主机装置中判断所得的该扫描码是通码或断码;
若判断所得的扫描码为通码,则进到步骤(7);
若判断所得的扫描码为断码,则进到步骤(6);
(6)所获得的扫描码是断码,计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(10);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,并记录该键的状态,接着进到步骤(8);
(8)于显示器之荧幕上,检查当使用者仅正按下一键时,而于显示器荧幕上的键盘测试图中,是否同时显示有二个或二个以上的键的显示颜色为代表键正被按下的颜色,而显示这些键处于正被按下的状态;
若有二个或二个以上的键是处于正被按下的状态则进到步骤(9);
若没有二个或二个以上的键是处于正被按下的状态则进到步骤(10);
(9)使用者根据显示器荧幕上的键盘测试图中的二个或二个以上处于正被按下状态的键的分布情形,并配合以行数据线以及列数据线所表示的键盘矩阵中的每一位置与行数据线以及列数据线的互相对应关系,而判断出短路的数据线,并记录短路结果;
(10)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;若符合其中的某一项,则进到步骤(11);若并未符合其中的任何一项,则回到步骤(2);
(11)使用者分析还有多少个键未被按下,进到步骤(12);以及
(12)得到计算机键盘的短路情况,还原INT 9H中断服务程序,而结束该收集、分析键盘测试并记录测试结果的过程。
10.如权利要求9所述的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤;
(1)使用者按下或抬起某一键后,将进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,将其转码而成为键盘扫描码,转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下又被抬起的断码,进到步骤(3);
(3)键盘扫描码引发计算机主机装置的硬件中断IRQ1,并用自行设计的中断服务程序来更换键盘INT 9H中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)键盘扫描码存入缓冲区中后,于缓冲区中得到键盘扫描码。
11.一种键盘检测方法,可运用于一种包含一键盘、一键盘控制器、一含有缓冲区的计算机主机装置以及一显示器的计算机系统中以检测键盘中的按键是否断路,此键盘检测方法包含以下程序;
(1)在计算机主机装置中定义三种不同的颜色以区分键盘的按键的三种不同状态,此不同按键状态分别为按键从未被按下,按键正被按下以及按键已被按下;
(2)利用计算机主机装置于显示器荧幕上显示一键盘测试图,此键盘测试图对应于键盘的按键实际分布情形,当使用者尚未按下任何按键以执行键盘按键测试时,此键盘测试图中的所有按键均为代表按键并未被按下之颜色;
(3)于计算机主机装置中建立键盘中的每个按键所对应的标准扫描码数据资料库,以及以对应键盘中的每个按键的键盘矩阵,每一个键盘按键均有其独特的扫描码,此扫描码数据包含代表按键被按下的通码以及代表按键被按下又被抬起的断码;而此键盘矩阵依照行数据线以及列数据线分布而建立,而键盘矩阵中则以键号来代表其所对应的实际键盘的按键;
(4)设定按键超时时间以及特定退出测试组合键,用以让使用者按下这些特定退出测试组合键后,可退出此键盘测试程序;或者当所有的键盘按键或用以退出检测执行程序的按键故障时,当使用者超过按键超时时间而仍未按下任何按键情况之下,计算机主机装置将自动结束此键盘测试程序;
(5)执行对键盘按键加以分析、收集键盘测试数据,并同时记录测试结果的程序;及
(6)在显示器荧幕上的键盘测试图显现出测试完键盘后的键盘测试结果,用以显示键盘断路测试结论。
12.如权利要求11所述的键盘检测方法,其中程序(5)的将执行对键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤;
(1)以设计的中断服务程序更换键盘中断服务程序,由此获取键盘的扫描码,此扫描码包括键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;若使用者未按下或未抬起某一按键,则进到步骤(10);若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库做一比较,以判断所得的扫描码是断码或通码,计算机主机装置中判断所得的该扫描码是通码或断码;
若判断所得的扫描码为通码,则进到步骤(7);
若判断所得的扫描码为断码,则进到步骤(6);
(6)所获得的扫描码是断码,计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(8);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,接着进到步骤(8);
(8)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;符合其中的某一项,则进到步骤(9);若并未符合其中的任何一项,则回到步骤(2);
(9)使用者分析还有多少个键未被按下,并根据显示器荧幕上的键盘测试图中所显示的键的颜色分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系,判断出断路的数据线,并记录断路结果,然后进到步骤(10);以及
(10)得到计算机键盘的断路情况,还原中断服务程序,结束该收集、分析键盘测试并记录测试结果的过程。
13.如权利要求12所述的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤;
(1)使用者按下或抬起某一键后,将进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,将其转码而成为键盘扫描码,转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下又被抬起的断码,进到步骤(3);
(3)键盘扫描码将引发计算机主机装置的硬件中断,并用自行设计的中断服务程序来更换键盘中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)键盘扫描码存入缓冲区中后,在缓冲区中得到键盘扫描码。
14.如权利要求11所述的键盘检测方法,其中程序(5)的执行对键盘按键加以分析、收集键盘测试数据并同时记录测试结果的程序,包含以下的步骤;
(1)以设计的中断服务程序更换键盘INT 9H中断服务程序,由此获取键盘的扫描码,此扫描码包括键的通码以及键的断码;
(2)等待使用者的操作;
(3)判断使用者是否抬起或按下某一按键;
若使用者未按下或未抬起某一按键,则进到步骤(10);
若使用者按下或抬起某一按键,则进到步骤(4);
(4)键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理;
(5)在计算机主机装置分析并处理缓冲区中的数据,计算机主机装置根据所获得的扫描码数据与计算机主机装置所建立的标准扫描码数据资料库做一比较,以判断所得的扫描码是断码或通码;计算机主机装置中判断所得的该扫描码是通码或断码;
若判断所得的扫描码为通码,则进到步骤(7);
若判断所得的扫描码为断码,则进到步骤(6);
(6)所获得的扫描码是断码,而计算机主机装置将根据所得的断码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键已被按下的颜色来显示该键为已按下状态,并记录该键的状态,接着进到步骤(8);
(7)所获得的扫描码是通码,而计算机主机装置将根据所得的通码,判断出相对应于此断码为键盘上的某一键,并在显示器荧幕上的键盘测试图中,以代表键正被按下的颜色来显示该键处于正按下状态,接着进到步骤(8);
(8)计算机主机装置将判断是否超出按键超时时间,或使用者已按下特定的退出组合键或键盘的全部键均被按过;
若符合其中的某一项,则进到步骤(9);
若并未符合其中的任何一项,则回到步骤(2);
(9)使用者分析还有多少个键未被按下,并根据显示器荧幕上的键盘测试图中所显示的键的颜色分布情形,并配合以行数据线以及列数据线所表列出的键盘矩阵中的每一位置与行数据线以及列数据线的相互对应关系,而判断出断路的数据线,并记录断路结果,然后进到步骤(10);以及
(10)得到计算机键盘的断路情况,还原INT 9H中断服务程序,结束该收集、分析键盘测试并记录测试结果的过程。
15.如权利要求14的键盘检测方法,其中所述程序(4)的键盘控制器读到一信号变化而产生出相对应于该键的扫描码,并将所得的扫描码直接送入计算机主机装置的缓冲区中,以进行扫描码比较处理的程序,包含以下的步骤;
(1)使用者按下或抬起某一键后,进到步骤(2);
(2)键盘控制器将扫描键盘所对应的键盘矩阵,当接收到来自键盘的数据后,将其转码而成为键盘扫描码,转码得来的键盘扫描码可为代表某一键被按下的通码或为代表某一键被按下又被抬起的断码,进到步骤(3);
(3)键盘扫描码将引发计算机主机装置的硬件中断IRQ1,并用自行设计的中断服务程序来更换键盘INT 9H中断服务程序,直接的将由键盘控制器而来的键盘扫描码送入计算机主机装置的缓冲区中,并进到步骤(4);及
(4)键盘扫描码存入缓冲区中后,在缓冲区中得到键盘扫描码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00102693 CN1310397A (zh) | 2000-02-24 | 2000-02-24 | 计算机键盘检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00102693 CN1310397A (zh) | 2000-02-24 | 2000-02-24 | 计算机键盘检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1310397A true CN1310397A (zh) | 2001-08-29 |
Family
ID=4576507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00102693 Pending CN1310397A (zh) | 2000-02-24 | 2000-02-24 | 计算机键盘检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1310397A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599770A (zh) * | 2008-06-03 | 2009-12-09 | 深圳长城开发科技股份有限公司 | 一种键盘及键盘检测方法 |
CN1770637B (zh) * | 2004-09-28 | 2010-05-05 | 美国博通公司 | 带按键去反跳功能的按键检测方法和系统 |
CN1885272B (zh) * | 2005-06-25 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | Ps/2接口的检测装置与方法 |
CN101153889B (zh) * | 2006-09-29 | 2010-09-22 | 英业达股份有限公司 | 故障检测系统及其方法 |
CN101661418B (zh) * | 2008-08-26 | 2011-12-14 | 比亚迪股份有限公司 | 一种键盘测试系统 |
CN102467243A (zh) * | 2010-11-17 | 2012-05-23 | 南京百敖软件股份有限公司 | 一种键盘矩阵分析结构及方法 |
CN107219458A (zh) * | 2017-06-16 | 2017-09-29 | 广州视源电子科技股份有限公司 | 一种按键板测试设备及测试方法 |
CN108089722A (zh) * | 2017-12-14 | 2018-05-29 | 中国科学院长春光学精密机械与物理研究所 | 一种键值自定义键盘配置系统及方法 |
CN108475597A (zh) * | 2015-12-21 | 2018-08-31 | 樱桃有限公司 | 用于检测开关的致动的装置及方法 |
CN109189242A (zh) * | 2018-09-30 | 2019-01-11 | 天津市英贝特航天科技有限公司 | 一种基于ps2协议的键盘装置及工作方法 |
CN109725815A (zh) * | 2019-01-09 | 2019-05-07 | 北京数衍科技有限公司 | 扫描枪与键盘数据输入的区分方法 |
-
2000
- 2000-02-24 CN CN 00102693 patent/CN1310397A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770637B (zh) * | 2004-09-28 | 2010-05-05 | 美国博通公司 | 带按键去反跳功能的按键检测方法和系统 |
CN1885272B (zh) * | 2005-06-25 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | Ps/2接口的检测装置与方法 |
CN101153889B (zh) * | 2006-09-29 | 2010-09-22 | 英业达股份有限公司 | 故障检测系统及其方法 |
CN101599770A (zh) * | 2008-06-03 | 2009-12-09 | 深圳长城开发科技股份有限公司 | 一种键盘及键盘检测方法 |
CN101661418B (zh) * | 2008-08-26 | 2011-12-14 | 比亚迪股份有限公司 | 一种键盘测试系统 |
CN102467243A (zh) * | 2010-11-17 | 2012-05-23 | 南京百敖软件股份有限公司 | 一种键盘矩阵分析结构及方法 |
CN108475597A (zh) * | 2015-12-21 | 2018-08-31 | 樱桃有限公司 | 用于检测开关的致动的装置及方法 |
CN108475597B (zh) * | 2015-12-21 | 2020-06-02 | 樱桃有限公司 | 用于检测开关的致动的装置及方法 |
CN107219458A (zh) * | 2017-06-16 | 2017-09-29 | 广州视源电子科技股份有限公司 | 一种按键板测试设备及测试方法 |
CN108089722A (zh) * | 2017-12-14 | 2018-05-29 | 中国科学院长春光学精密机械与物理研究所 | 一种键值自定义键盘配置系统及方法 |
CN109189242A (zh) * | 2018-09-30 | 2019-01-11 | 天津市英贝特航天科技有限公司 | 一种基于ps2协议的键盘装置及工作方法 |
CN109725815A (zh) * | 2019-01-09 | 2019-05-07 | 北京数衍科技有限公司 | 扫描枪与键盘数据输入的区分方法 |
CN109725815B (zh) * | 2019-01-09 | 2021-02-23 | 北京数衍科技有限公司 | 扫描枪与键盘数据输入的区分方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1310397A (zh) | 计算机键盘检测方法 | |
CN1303503C (zh) | 输入装置及触摸区域注册方法 | |
CN1174324C (zh) | 用于计算机网络的终端机及操作历史记录方法 | |
CN1773439A (zh) | 便携式终端及用于其的数据输入方法 | |
US20050088414A1 (en) | Input device with forward/backward control | |
CN101715050A (zh) | 一种图像传感器坏点检测的方法和系统 | |
CN105718118A (zh) | 阵列基板、触控显示面板及触控压力检测方法、显示装置 | |
CN1732509A (zh) | 用于提供无歧义键盘的方法和系统 | |
US20040086314A1 (en) | Standard keyboard supporting multimedia functions | |
CN101059756A (zh) | 一种用户操作区域反遮挡的装置和方法 | |
CN112085710A (zh) | 保护定值与压板巡检系统及方法 | |
US6456277B1 (en) | Data conversion method used between different types of keyboards | |
US6259813B1 (en) | Method and apparatus for image processing using a signal of multiple scale values | |
CN1991702A (zh) | 一种具有键盘和虚拟键盘协同输入功能的移动终端 | |
CN1845580A (zh) | 一种音频视频信号源识别与自动切换的方法及装置 | |
JP4091407B2 (ja) | タッチパネル式キーボード、posシステム、タッチパネル式キーボードの表示方法、タッチパネル式キーボードの表示プログラム及び記録媒体 | |
CN101452413A (zh) | 笔记型计算机键盘接口的自动检测系统及其方法 | |
CN111866254A (zh) | 一种智能识别划词的快速拨号系统及其实施方法 | |
CN102053826A (zh) | 菜单分级显示方法 | |
CN1641596A (zh) | 键盘的测试方法 | |
CN1327193A (zh) | 检测键盘阵列短路的方法 | |
KR100474267B1 (ko) | 차량용 터치 패널의 인식오류 최소화 방법 | |
CN1242313C (zh) | 一种计算机输入系统 | |
CN1030943C (zh) | 电脑鬼键检测及特殊功能键的安排方法 | |
CN1916824A (zh) | 信号切换处理装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |