CN1030943C - 电脑鬼键检测及特殊功能键的安排方法 - Google Patents
电脑鬼键检测及特殊功能键的安排方法 Download PDFInfo
- Publication number
- CN1030943C CN1030943C CN 92105201 CN92105201A CN1030943C CN 1030943 C CN1030943 C CN 1030943C CN 92105201 CN92105201 CN 92105201 CN 92105201 A CN92105201 A CN 92105201A CN 1030943 C CN1030943 C CN 1030943C
- Authority
- CN
- China
- Prior art keywords
- key
- ghost
- row
- working storage
- terrible
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
- H03M11/003—Phantom keys detection and prevention
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提供一种键盘单晶片微电脑鬼键的探测方法与特殊功能键的安排方法,该方法包括使每列都经电阻接高电平,其后依次扫描,扫描结果存于暂存器中;当测到有键压下时,判断暂存器的状态,若只有一个位元为零则视为无鬼键,继续执行下一动作,若暂存器多于两个位元为零时,则重新扫描各行,并与暂存器作“与”处理;若有两个以上的位元为零则为鬼键,再扫描原行并与暂存器作“与”处理,有鬼键时,停止重复出字的功能,以送出哔哔码,鬼键消除后,则正常执行。
Description
本发明提供一种键盘单晶片微电脑,鬼键(GHOST)的探测方法与特殊功能键的安排方法,其涉及应用特殊的软件处理方式,使得能够快速地探知鬼键(GHOST)的发生,并且节省程序存储器容量的设计技巧与特殊键独特的安排方法。
目前所有键盘扫描各键,均是以矩阵的方式来编排各键,而这种编排方式在同时按下三个以上按键,并且三个键又发生在如同井字的相对位置时,立即会有所谓鬼键(GHOST)的情形出现,如图1,而目前的技术解决这种问题一般有两种方式。
一、在每一个键上加入一个二极管(如图2),如此便能去除因为同时按下三个键,而使井字相关位置的各键同时感应而产生鬼键(GHOST),但这种处理方式,每一个键上都要加上一个二极管,材料及加工成本将提高很多,已渐渐被淘汰。
二、利用单晶片微电脑的处理方式来判断是否有三个键被同时按下,若有则将最后发生的第三键及鬼键(GHOST)遮抹,共技术方法揭示于下:
1.US PAT NO:4420744号
其使用的方法为,在矩阵中选择二列,比较判断是否有二行中的每一列有否键被按下,重复比较每一列,直到每一种组合都比较过。
2.台湾PAT NO:77103440号(宏基电脑股份有限公司)
其使用的方法为:十字型的判断方法,即以每一行为基准,当判断有两个键被按下时,则可能有鬼键(GHOST)发生,再判断同一列上有无键被按下,若有则送出哔哔声,待状态解除后,再重新进行新的扫描。
第一种方式:为一标准的鬼键(GHOST)处理模式,但因其中判断太多,故所费时间太长,若扫描线很多(即键数太多)则可能有误判之虞,故已不广泛被使用。
第二种方式:较为省时,但是判断方式与正常扫描程序路径不同,故较浪费程序存储器,一般标谁型键盘须有AT/XT,PS2相容的功能,而每一个键应有三组不同的码即SET1,SET2,SET3,第三组(SET3)每一个键又可单独设定,而宏基的键盘,有部分功能省略,即是用2KROM的程序存储器不够的原因,而这种方式亦较无弹性变化的可能,(在井字区,仅能出现二个字)。
因此,本发明的目的是提供一种快速、可节省程序存储器又兼具弹性变化的方法来检测编码器所产生的信号中是否有鬼键(GHOST)的情形,它能在短时间作出正确的判断,送出哔哔码,又能继续扫描其它键,而若在部分键上加入了二极管,又可增进功能到同时按三个键在井字区域而又无鬼键(GHOST)出现的能力。(即可出现三个字)。
就图示详细说明本发明的功能与结构如下:
图1是一般键盘鬼键发生的型式,
图2为现有键盘消除鬼键的键盘硬件线路图,
图3是本发明单晶片微电脑的硬件线路图,
图4是本发明特殊功能键的安排方式,
图5是本发明单晶片微电脑键盘软件流程图(一),
图6是本发明单晶片微电脑键盘软件流程图(二),
图7是本发明单晶片微电脑键盘软件流程图(三),
图8是本发明单晶片微电脑键盘软件流程图(四),
图9是本发明单晶片微电脑键盘软件流程图(五),
图10是本发明单晶片微电脑键盘软件流程图(六),
图11是本发明单晶片微电脑键盘软件流程图(七),
图12是本发明单晶片微电脑键盘软件流程图(八),
图13是本发明单晶片微电脑键盘软件流程图(九)。
请参阅图3,在正常状态下,即无按键时,每列都因线路上接有一个提升电阻而全部处在高电平状态,如图3所示。而每条扫描线则依序允许成低电平的状态,依序扫描,且扫描的周期定为每4ms扫8条线,即8个ms可扫描完成16条线,每行有8个键,而16条(列)即可形成128键(8×16=128键),故一个扫描周期为8ms。
当有键被按下时,读入行的状态将为“0”,其余为“1”,而每列有8个键,即8个位元,若只有一个键被按下,则全部视为无鬼键(GHOST)的情形,退出判断程序,继续执行其它程序,若有二个键以上情形发生时,立即将目前状态存于暂存器中,利用原来的扫描子程序,重新扫描各行,并与存于暂存器中的数据作逻辑“与”处理,再判断数据若有多于一个键(即有两个位元为“1”)的情形时,则视为鬼键(GHOST),直至扫描各行结束后若均无两键被压下的情形则退出判断程序,继续执行。
若有二个以上的键被按下,(即有二个以上的位元为“1”)的情形时,则称为鬼键(GHOST),立即停止重复出字的功能,设定-500ms的计时器,每隔500ms送出哔哔码(使用原先的重复出字计时器工作),并继续扫描,如果使用者再按下另外的其它键时,若不在井字的区域,仍送出字形,待鬼键(GHOST)的状况解除后,又将以正常的扫描流程运作。
本发明另有一特殊的优点,即若使用I/O脚位较少的单晶片微电脑设计键盘时,只要使用14条扫描线,即可达到避开鬼键(GHOST)的效果,使用14条扫描线,可控制到112个键。
(即YO-YD)如图4所示,而一般已知技术要避开鬼键(GHOST),就非使用16条扫描线不可了,但本发明亦可使用于16条扫描线工作。图4中所示CTRL(L),CTRL(R),SHIFT(R),ALT(R),ALT(L)等6个键为特殊功能键,依键盘的定义,任意二键与其它任何一个键相组合,均不得有鬼键(GHOST)的发生。而目前的技术使用13条或14条扫描线均无法符合这项要求,要达到就非得使用16条扫描线不可了!然而运用本发明确可轻易地达到要求。
图5至图13是本发明键盘的软件流程图,说明如下:
图5:判断主机为何种型式,并判断键盘是否禁止,如允许时判断缓冲器有无数据,有数据则送码,无数据则进行键盘扫描。
图6:系统下命令至键盘,并判断命令型式,确定后执行各命令工作。
图7:扫描键盘并设定标记,判断键盘的各键情况并比较后,执行跳键处理程序或执行重复出字处理程序。
图8:执行跳键处理程序并判断有无鬼键,如有鬼键则判断重覆出字情况,若有则取消重复出字功能设定500ms哔哔声计时器,若无鬼键则执行母键子程序,寻找键码。
图9:鬼键的判断程序,先将当前状态存入暂存器中,取消主扫描标记,扫描指标指下一行,接着重新调用扫描子程序,比较新状态与暂存器的状态。
图10:判断是否为模式3,如是判断是否要送出解除码,如否判断是否为特殊键,如是调用特殊键处理子程序。
图11:判断各键情况,如为特殊键则调用特殊键处理程序,如要重复出字,则设定重复出字标记。
图12:送出键码,如有连接网路则调用网路子程序,如无则调用送码子程序,自动去判断为何种系统的送码方式并执行。
图13:设定母键及相关标记,判断母键及子键是否按下,并执行组合键的功能。
由以上的公开,可以看出程序的作业流程,多使用共同原扫描路径,故可以节省许多程序存储器空间;又其使用一特殊的暂存器与逻辑“与”处理,再行判断有无两个以上键存留,来判断鬼键(GHOST),如此根据“与”的定义0+0=0,0+1=0,1+0=0,1+1=1,故当判断时仅有四个键同时存在时,鬼键(GHOST)才会出现,故在矩阵特殊要求的区域如图4所示,将可在井字区域加入二极管,连续按下3个键也不致有鬼键(GHOST)出现,这是现有技术所无法达到的,另外本发明独特使用一模拟计时器,作哔哔声送出的计时控制,使键盘在遇鬼键(GHOST)发出哔哔声的同时,又能再作扫描的工作,使用者若再按下其它键,将能作正常的送出字形工作,这也是已知技术中所无法达到的。
结合以上所述,本发明所公开的方法,可以确实地达到本发明的目的,其应用技术与已知技术也有明显的差异,而本发明的优点也较已知技术超出甚多,为一具备首创性的新发明。
Claims (2)
1.一种键盘单晶片微电脑鬼键(GHOST)的探测方法与特殊功能键的安排方法,其特征在于包含步骤:
扫描之初,每列都经电阻接高电平,其后每行依次以4ms扫描8条的方式,依次扫描,扫描结果存于暂存器中;
当探测到有键被下压时,判断暂存器的状态,若只有一个位元为零则视为无鬼键,继续执行下一动作,以提高判断效率;
若暂存器多于两个位元为零时,则利用原扫描子程序,重新扫描各行,并与暂存器作“与”(AND)处理,再判断暂存器内部的数据,若只有一个位元为零,则继续此动作,直到其它行皆判断完成;
若有两上以上的位元为零则为鬼键,再扫描原行并与暂存器作“与”(AND)处理,若仍有两个以上位元为零,则真正为鬼键出现,若无则正常执行;
有鬼键时,立即停止重复出字的功能,以原计时器设定500ms计时,以送出哔哔码,并继续扫描待鬼键情形消除后,则正常执行。
2.如权利要求1所述的方法,其特征在于:其中在特定要求不可出现鬼键的区域,加入二极管,所述二极管的正极与列线(X轴)直接相联,负极经所述按键的触点与对应行线(Y轴)相联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US832,382 | 1977-09-12 | ||
US83238292A | 1992-02-07 | 1992-02-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1075221A CN1075221A (zh) | 1993-08-11 |
CN1030943C true CN1030943C (zh) | 1996-02-07 |
Family
ID=25261485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 92105201 Expired - Lifetime CN1030943C (zh) | 1992-02-07 | 1992-06-25 | 电脑鬼键检测及特殊功能键的安排方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1030943C (zh) |
GB (1) | GB2263990B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1075645C (zh) * | 1996-08-28 | 2001-11-28 | 旭丽股份有限公司 | 扩充键盘功能键的方法 |
CN101257309B (zh) * | 2007-03-01 | 2011-11-30 | 达方电子股份有限公司 | 输入装置及其控制方法 |
US8159372B2 (en) | 2007-10-16 | 2012-04-17 | Microsoft Corporation | Keyboard with plural key switch matrices to detect ghosting |
CN101686060B (zh) * | 2008-09-25 | 2013-06-19 | 旭丽电子(广州)有限公司 | 控制电路及配置方法 |
-
1992
- 1992-06-25 CN CN 92105201 patent/CN1030943C/zh not_active Expired - Lifetime
-
1993
- 1993-01-20 GB GB9301046A patent/GB2263990B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB9301046D0 (en) | 1993-03-10 |
CN1075221A (zh) | 1993-08-11 |
GB2263990B (en) | 1995-05-03 |
GB2263990A (en) | 1993-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN2919362Y (zh) | 嵌入式鼠标键盘 | |
EP0072471B1 (en) | Keyboard unit control system | |
CN1030943C (zh) | 电脑鬼键检测及特殊功能键的安排方法 | |
CN1746824A (zh) | 确定下按键的方法、装置和计算机可读的介质 | |
CN101079637A (zh) | 按键系统及其检测方法 | |
JPH0120464B2 (zh) | ||
CN2669264Y (zh) | 键盘扫描电路 | |
CN1397868A (zh) | 具有盲文输入功能的键输入设备 | |
US5831556A (en) | Pin-reduced low power keyboard scanner | |
CN100336017C (zh) | 电脑即时开机系统与方法 | |
CN206863547U (zh) | 一种按键循环扫描电路 | |
CN1434361A (zh) | 数据处理器 | |
CN1276533A (zh) | 含有宏的半导体器件及其测试方法 | |
CN1517860A (zh) | 计算机可执行的自定义键盘功能键的系统及方法 | |
CN1315018C (zh) | 时钟脉冲切换系统及其时钟脉冲切换方法 | |
CN1290075A (zh) | 按键输入电路、电源控制装置和电源控制方法 | |
CN1737734A (zh) | 用于电子设备的、具有增加数目的按键的键盘 | |
CN2390234Y (zh) | 可编程键盘 | |
CN1369762A (zh) | 两用电脑键盘及其自动检测接口状态的方法 | |
CN1228703C (zh) | 按键装置及操作方法 | |
CN1245674C (zh) | 硬件扫描键盘阵列的装置及方法 | |
CN1251053C (zh) | 一种键盘信号感知装置 | |
JPS6155725A (ja) | キ−ボ−ド装置 | |
CN1661524A (zh) | 移动通信终端的键扫描电路 | |
CN2209352Y (zh) | 中英文电脑学习机键盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |
Expiration termination date: 20120626 Granted publication date: 19960207 |