专利名称:分屏式键盘仿真系统的制作方法
技术领域:
本发明一般涉及数字计算机,尤其是涉及一种便于用户和计算机之间相互作用的系统。
技术的进步已经能使计算机小到足以被现场工作人员应用于诸如填写表格、库存控制等。这种计算机的例子包括手持式计算机和膝面计算机等。与手持计算机或其他型式计算机相互作用的一种特别有用的方法是在一显示屏上形成图象,并使用鼠标或响应用户手指或其他形式的指示装置的触摸板来指向图象。
藉助于使用指示器型交互式装置,就不需要键盘,装置的轻便性便提高了。然而,目前开发出了大量需要键击数据的应用程序,人们希望,最好手持式计算机可以允许用户利用现有的这些软件。
已经研究出两种在手持式计算机上利用需要键击数据的应用程序的方法。最直接的解决办法是将一键盘经由一端口连接到计算机上,或者将键盘作为计算机(例如膝面计算机)整体的一部分。
这个解决办法有几个缺点。例如,在现场环境下,携带一个键盘是不实际的,所以该办法实际上局限于计算机不是应用于现场的情况。此外,许多用户往往更喜欢使用交互指示装置来输入所有形式的数据,包括键击数据,因为他们发觉它比使用一个键更容易指向在显示屏上的位置。
避免这些缺点的第二个解决办法是从显示屏上移去应用程序图示,而调用一个专门程序以便在显示屏上显示一个键盘。然后利用一个交互指示装置来选择所需要的键。然而,对于需要许多次击键的应用场合,程序和显示屏的转换对于有效地利用应用程序将是一种障碍。
本发明旨在提供一种在不使用真实的键盘的情况下将键击数据提供给应用程序的有效系统和方法。显示屏的显示分为两个部分。按照本发明的一个方面,系统同时在第一部分显示应用程序的图形和在第二部分显示一键盘图象。当在视频存储器里应用程序视频模式被改变或显示数据被清除或改变时,应用程序仅限于影响在第一部分的显示,而不致累及键盘显示。
该系统监视用于在第二部分的键盘显示里所选择的键击图象的显示屏坐标的交互指示器接口。如果测定了这些坐标,它们被转换成由选择的键所代表的键盘数据。然后,选择的键盘数据利用存取键盘数据的标准软件传送到应用程序。
本发明对于产生键击数据是一个非常有效的系统,并且对于应用程序是透明的。由于应用程序和键盘图象是同时显示的,就不必要转换程序以提供键击数据。
按照本发明的另一个方面,第二部分的一个区域在该区域被交互指示装置选择时可被用以提供代表几个击键的数据。
按照本发明的再一个方面,字符可以被写入第二部分,转换成键击数据,以及供给应用程序。
本发明的其他特点和优点通过附图和下面的详细描述将变得更为明显。
图1是本发明最佳实施例的透视图;
图2是键盘仿真系统的最佳实施例的框图;
图3是表示图2的实施例的操作的流程图;
图4是视频控制单元的框图;
图5示出了显示的字符位置和该显示随机存取存储器的地址空间的框图;
图6是表示视频控制系统的操作的流程图;
图7是键盘扫描控制寄存器结构的示意图。
现在参见附图,所有的附图中,凡是相同的或对应的部分均用相同的编号表示。图1是本发明的最佳实施例的透视图。在图1中,一个手持式计算机封装在一塑料壳体10内,该塑料壳体10的上表面设置一有640×400个象素的液晶显示屏幕12。一支导电笔14通过导线16连接到壳体10上。一个在其上表面具有一电镀层的薄玻璃覆盖板(图中未示出)置于屏幕12的上方。利用例如在美国专利4371746号中所描述的电触点在导电表面上产生电场。当笔14接触到屏幕的覆盖板时,磁场的大小被感应,作为计算机的一部分的重叠控制器(overlaycontroller)测定触点的屏幕坐标。因而笔14就起一个由计算机执行的程序的交互指示器接口的作用。
在一最佳实施例中,应用程序利用CGA方式能够在一个640×200象素网格上形成25行字符。然而,如上所述,所用的显示屏幕12是640×400象素网格,因此使计算机方便地具有其他独特的特点。当不使用键盘仿真而执行应用CGA字符方式的应用程序时,为了补偿冗余的象素,系统将标准的CGA图象变换到适合于640×400的象素屏幕12。这种变换特性对于应用程序来说是透明的,从而使应用程序图形显示在整个屏幕上。
如果应用程序的类型是响应于交互指示器装置诸如鼠标、光笔之类的类型,用笔接触屏幕12上的适当位置所产生的坐标能够通过软件转换成可被应用程序使用的形式。图1所描绘的计算机包括一个用来连接一键盘的端口。
在一最佳实施例中,通过本发明的键盘仿真系统(KBES)将键盘或者其他图形显示在屏幕12的下半部12b。由于屏幕12上半部12t的尺寸是标准的CGA尺寸,应用程序图形就有可能显示于上半部12t,而不受显示的键盘的存在的影响。
键盘显示包括代表键盘的每一个键的字符或图形,键盘原来是应用程序要用的。如果某一击键是应用程序所需要的,用户通过将导电笔14接触在屏幕12上代表所需要的击键的字符的位置来选择击键。选择的键击数据通过KBES供给应用程序,仿佛键击是通过压下和释放真实键盘上的键而产生的。在屏幕的下半部12b显示键盘,KBES的操作对于应用程序是透明的,而且用户不需要变换应用程序也不需要用专用的程序。另外,当计算机是处于键盘仿真模式时,笔14可连续使用于应用程序,也可用来提供键击数据。例如,当笔14用于与显示在上半部分12t的应用程序图形互作用时,它可以模仿一个鼠标,而通过将它接触在下半部分12b上的显示时,它又可以用来输入键击数据。
KBES的框图描绘于图2。现在参见图2,系统处理机20、视频控制系统(VCS)22、系统存储器(SMEM)24、重叠控制器26、以及具有一个连接到中断线281的输出的键盘扫描代码寄存器28均连接到系统数据总线(DBUS)30上。
VCS22通过视频信号和控制线32及34连接到屏幕12。重叠控制器26通过电互连线36连接到屏幕覆盖板,并通过导线16连接到导电笔14。在键盘处于仿真模式时,BIOS24a、应用程序24b、终止和常驻键盘仿真程序(KBEP)24c、以及查表(LUT)24d均存储在SMEM里。
下面参照图3的流程图来描述图2系统的操作。当键盘仿真模式开始时,专门的TRS(终止和常驻)键盘仿真程序(KBEP)24c被调用。KBEP24c调整VCS22,以使屏幕12处于50字符行模式,对应用程序提供25行字符方式,并将应用程序图形显示在屏幕12的上面25行部分12t。KBEP24c同时将键盘的图形显示在屏幕12的下面25行部分12b。
KBEP监控重叠控制器26监察当用户将笔14接触键盘显示图形中代表被选的某一个键的字符的位置时所发生的键盘显示相互作用。当检测到键盘显示的相互作用时,由重叠控制器26提供的象素坐标被KBEP变换成代表由笔14接触的字符所指出的代表键击数据的扫描代码。
有几种可采用的方法来在下面部分12b显示键盘。代表击键组的标记区域也能被显示。如果一个区域被笔14触及,坐标便被KBEP24c变换成一系列对应的扫描代码。
此外,存储在系统存储器里的手写体识别软件24e能用来把用笔14写在屏幕下半部的字母数字字符或其他类型的符号诸如中文或日文字符的坐标变换成相应的键击扫描代码,这些扫描代码随后被KBEP24c供给应用程序。
实现变换的一种方式是把由显示在屏幕上的字符所代表的扫描代码存储在LUT24d的存储单元中,由在屏幕12上显示的字符的、在屏幕12上的位置的坐标访问。KBEP利用由覆盖板控制器26提供的坐标访问LUT24d的扫描代码。
KBEP随后将扫描代码存储在键盘扫描代码寄存器28里。键盘扫描代码寄存器28的硬件设计成当扫描代码被存储在键盘扫描代码寄存器28里时,即在中断线28I上设置一信号。
图4是表示在系统的最佳实施例里应用的视频控制系统22的框图。在图4中,系统处理机20、视频控制单元40、以及显示RAM42通过DBUS30和地址总线(ABUS)44相连。此外,一个图形只读存储器(ROM)46连接到ABUS44,并通过扫描控制线48连接到视频控制单元40。图形ROM46的数据输出连接到视频移位寄存器50的并行输入,而视频移位寄存器50的串行输出通过视频线32耦合到一包括屏幕12的显示单元。
在标准字符方式操作中,屏幕12被划分成预定数目的顺序寻址字符单元。显示RAM42包括相同预定数目的顺序寻址8位存储单元,而每一个存储单元的地址对应于一个字符单元的地址。在执行应用程序时,系统处理机20在对应于字符位置的显示RAM存储单元里的每一个字符单元处写入要显示的ASCⅡ代码。
本技术领域内的技术人员都知道,每一字符单元是一个m×n象素的矩阵,一个特定的ASCII字符的m×n个点的图形存储在图形ROM46的单元里,而图形ROM46的单元具有部分是由行将被显示的字符的ASCII代码形成的地址。屏幕显示每次形成一行象素。因而在显示操作的时候,视频控制单元40将在给定的显示行里的字符单元的地址顺序地传送到ABUS44,因而显示RAM42对要显示的每一个字符输出ASCII代码。此外,一个信号被传送到扫描控制线48,它指示字符矩阵的哪一个象素行将被显示。响应ASCII代码和扫描控制信号,图形ROM46将确切的象素信号传送到视频移位寄存器50的平行输入,视频移位寄存器随后将象素信号串行移位到视频线32上。
下面参照附图5、6描述在键盘仿真模式下VCS22的工作。图5所示是50行模式的屏幕12和支持50行模式的显示RAM42的地址空间。在屏幕上半部分12t中的字符单元12c的预定数目(CI至CP)是标准CGA字符方式,被用来显示应用程序的图形。在地址空间60的第一个一半60t里的第一个预定数目(AI至AP)的地址对应于上面的显示部分12t,并能为应用程序所访问。在地址空间60的第二个一半60b里的第二个预定数目的地址(AP+1至A2P)对应于屏幕的下半部12b的字符单元(CP+1至C2P),并为键盘显示存储ASCII代码。在所述的实施例中,硬件的局限性要求地址空间60t和60b是邻接的。一般说来,地址空间60t是不受应用程序影响的。然而在其他实施例中,可以设置硬件支援来把第二部分显示数据的地址空间定位在一个不能为应用程序所访问的范围内,以保证完全隔离。
下面参照流程图6来描述已参照图4和5描述了的系统的操作。视频控制单元被编程序以显示50字符行的模式。由于现在屏幕被划分为50字符行。每一个字符单元是一个m×n象素距阵,它对应于在图形ROM46里的m×n图形。相应地,视频控制单元40被编码成对每一个字符图形的每一行仅显示一次。显示RAM地址空间的上面一半60t被分配给应用程序。这样,应用程序地址空间的地址范围从AI到AP,因而视频方式的改变或擦除视频存储器不会影响在屏幕12的下面一半12b上键盘的显示。
图7是一个键盘扫描代码寄存器28的结构的详细框图。键盘扫描代码寄存器的结构使得KBEP能够产生键盘扫描代码,它们与通过按下和释放一个与IBMPCXT兼容的计算机(PC-XT)的键盘上的键所产生的真实的硬件扫描代码毫无区别。在图7中,第一扫描代码移位寄存器70具有一个耦合到KBI(键盘输入)线72的串行输入,一个经由反相器76耦合到KB(键盘)型线74的启动输入,一个耦合到DBUS30的并行输出,以及一个耦合到第一INT(中断)线78的第一中断输出。第二寄存器80具有一个耦合到DBUS30的并行I/O端口,一个耦合到KB型线74的启动输入,以及一个耦合到第二中断线82的第二中断输出。第一与门84有第一输入和第二输入,它们分别耦合到第一INT线78和反相的KB型线74,而第二与门86有第一输入和第二输入,它们分别耦合到KB型线74和第二INT线82。第一与门84和第二与门86的输出被连接到一或门88,而或门88的输出耦合到中断线28I。第一寄存器70和第二寄存器80在I/O端口地址60H处连接到DBUS30。
如果一个真实的键盘连接到计算机上,当计算机初始化,或者当KBEP被终止时,复位的在KB型线上的一个假信号表明计算机不处于键盘仿真模式,该信号禁止第二寄存器80,而启动第一寄存器70,关闭第二与门86,打开第一与门84。在一PC-XT中,来自键盘的扫描代码通过KBI线72被序列地移位到第一移位寄存器70中。当全部扫描代码均被移位时,第一寄存器70在第一中断线78上自动地产生一个硬件中断信号。一个标准PC-XT中断服务程序响应该中断,从I/O端口地址60H读出数据,并服务于该中断。中断服务程序处理存储在第一寄存器70里的扫描代码,并发出一个结束中断(EOI)信号,以使由第一寄存器70产生的中断复位。
在键盘仿真模式中,一个被KBEP置于KB型线74上的真信号表明计算机是处于键盘仿真模式,该信号启动第二寄存器80而禁止第一寄存器70,打开第二与门86,关闭第一与门84。当键盘相互作用使KBEP产生选自键盘显示的键的扫描代码时,KBEP将扫描代码存储在第二寄存器80里。当键击扫描数据被写入第二寄存器80时,第二寄存器80在第二中断线82上自动地产生一个中断信号。
如果要使键盘仿真模式对应用程序是透明的,在键盘仿真模式由第二寄存器80硬件产生中断是必要的。如果中断是由软件产生的,则要求一非标准中断服务程序。而它不承担硬件中断。
本发明上面已参照最佳实施例作了描述。然而,本技术领域内的一般技术人员显然可对此作出各种变化和替代。例如,屏幕的尺寸和具体的显示格式对于实施本发明来说并无严格要求。本发明所提示的原理可应用于任何格式或屏幕尺寸。此外,本说明书中描述的是字符型显示。然而,也能够应用位变换(bit-mapped)显示,屏幕依然可以被应用程序图形和键盘显示一分为二。另外,也可利用其他类型的交互指示器装置,诸如可以用一鼠标,因此,本发明不受上述实施例所限,本发明只受权利要求中所阐述的范围的限制。
权利要求
1.在一种包括显示在计算机上运行的应用程序的图形的屏幕而这种应用程序处理的是通过按下和释放连接到计算机的键盘上的键所输入的键击数据的计算机里,提供一种不用键盘就能将键击数据提供给应用程序的系统,所述系统包括将屏幕划分成第一部分和第二部分的装置;将应用程序图形显示在所述第一部分的装置;限制应用程序与所述第二部分相互作用的装置;用来产生屏幕上所选位置的屏幕坐标的交互指示装置;耦合到所述交互指示装置上、用以检测所述产生的屏幕坐标的装置;耦合到所述检测用的装置上、用以将在所述第二部分检测到的坐标变换成输入键击数据的装置;以及耦合到所述变换用的装置上、用以将所述输入键击数据供给应用程序的装置。
2.如权利要求1所述的发明,其中,所述变换用的装置还包括用来显示一个键盘显示的装置,键盘显示中包括具有与所选的键击数据相对应的坐标的击键图象。
3.按照权利要求1所述的发明,其中,所述变换用的装置还包括用来识别在所述第二部分上形成一写入的字符的坐标的装置;以及将所述形成的已写字符号变换成相应的键击数据的装置。
4.如权利要求1所述的发明,其中,所述用来提供输入键击数据的装置包括当输以键盘数据时产生一硬件中断信号的键盘扫描寄存器,使应用程序不能检测使用在一真空的键盘上的键所产生的键击数据。
5.在一种包括显示在计算机上运行的应用程序的图形的屏幕而这种应用程序处理的是通过按下和释放连接到计算机的键盘上的键所输入的键击数据的计算机里,提供一种不用键盘就能将键击数据提供给应用程序的系统,所述系统包括将屏幕划分成第一部分和第二部分的装置;同时将应用程序图形显示在所述第一部分和将键击数据选择显示在所述第二部分的装置;键击数据选择显示包括一个对应于一所选的击键组的区域;防止应用程序影响在所述第二部分的键击数据选择显示的装置;用来产生屏幕上所选位置的屏幕坐标的交互指示装置;耦合到所述交互指示装置上、用以检测所述区域产生的屏幕坐标的装置;耦合到所述检测用的装置上、用以将所述区域的所述被检测出的坐标变换到对应于所述被选的击键组的输入键击数据的装置;耦合到所述变换用的装置上、用以将所述输入键击数据供给应用程序的装置。
6.在一种包括显示在计算机上运行的应用程序的图形的屏幕而这种应用程序处理的是通过按下和释放连接到计算机的键盘上的键所输入的键击数据的计算机里,提供一种不用键盘就能将键击数据提供给应用程序的系统,所述系统包括将屏幕划分成第一部分和第二部分的装置;同时将应用程序图形显示在所述第一部分和将键盘显示在所述第二部分的装置;而键盘显示包括处于所述第二部分的相应位置的键盘的键的图形;限制应用程序影响所述第二部分上的键盘显示的装置;用来产生屏幕上所选位置的屏幕坐标的交互指示装置;耦合到所述交互指示装置上、用以检测键图象在所述所选的屏幕位置上产生的屏幕坐标的装置;耦合到所述检测用的装置上、用以将所述检测得的坐标变换成对应于在屏幕上所述被检测出的坐标处的键图象的输入键击数据的装置;以及耦合到所述变换装置上、用以将所述键击数据提供给应用程序的装置。
7.一种计算机,它包括显示屏,执行应用程序时需要将键击数据作为数据输入,当应用程序需要将键击数据作为数据输入时,利用标准软件存取存储在一键击数据存储寄存器里的键击数据,还包括一个连到屏幕的交互指示接口,用来选择屏幕坐标作为数据输入,在这种计算机里,模仿一种键盘而不使用键盘就能向应用程序提供所需要的键击数据的方法,所述方法包括下列步骤将应用程序图形和键盘显示同时显示在屏幕的不同部分;当应用程序改变显示在屏幕上的应用程序图形时,防止应用程序影响键盘显示;在所述键盘显示中选择一给定的击键图象的坐标;将所述所选坐标转换成对应于所述给定的击键的所选键击数据;以及当利用标准软件访问键击数据存储寄存器时,将所述所选键击数据作为输入数据提供给应用程序。
8.在一种包括显示在计算机上运行的应用程序的图形的屏幕而这种应用程序处理的是通过按下和释放连接到计算机的键盘上的键所输入的键击数据的计算机里,提供一种不用键盘就能将键击数据提供给应用程序的系统,所述系统包括将屏幕划分成第一部分和第二部分的装置;在所述第一部分显示应用程序图形的装置;防止应用程序与所述第二部分相互作用的装置;一个交互指示器,用来产生在被交互指示器所指示的屏幕上的位置的屏幕坐标;适用于接收由所述交互指示器产生的屏幕坐标的、用来将写在所述第二部分上的字符变换为代表所述字符的相应输入键击数据的装置,以及耦合到所述变换用的装置、用来将所述输入键击数据提供给应用程序的装置。
全文摘要
一个不用键盘而能将键击数据提供给一应用程序的系统,它将应用程序图形和键盘图象同时显示在显示屏幕的不同部分。通过接触屏幕上的键的图形的位置来选择键。该系统对于应用程序是透明的。
文档编号G06F3/033GK1048109SQ9010437
公开日1990年12月26日 申请日期1990年6月11日 优先权日1989年6月12日
发明者肯尼思·L·杜拉尼, 杰弗里·C·霍金斯, 林塞·桑福德, 詹姆斯·H·麦克纳马拉 申请人:栅格体系有限公司