CN1049053C - 对来自输入装置的宽带数据进行缓存的方法及系统 - Google Patents
对来自输入装置的宽带数据进行缓存的方法及系统 Download PDFInfo
- Publication number
- CN1049053C CN1049053C CN92112142A CN92112142A CN1049053C CN 1049053 C CN1049053 C CN 1049053C CN 92112142 A CN92112142 A CN 92112142A CN 92112142 A CN92112142 A CN 92112142A CN 1049053 C CN1049053 C CN 1049053C
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- mouse
- coordinate points
- input
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- Amplifiers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一个有较高带宽的并行通道,具有优越得多的缓存能力以补充操作系统能力。当来自高带宽输入装置的输入事件被系统接收时,信息以对每个通道兼容的格式送到操作系统通道和高带宽通道。送到操作系统通道的信息一般只包含有限数据,它们可以是已从实际输入数据翻译过来的数据,以使操作系统能接受它们。送到宽带通道的信息包含输入装置产生数据的全部。在操作系统通道中的缓存器还有一种性质,即在高CPU使用期间如果应用程序不能足够快地提取数据,这些数据便被抛弃。
Description
一般地说,本发明是关于数据处理系统的输入设备。更具体地说,是关于保存来自输入装置,特别是触屏(touch screen)的宽带(high bandwidth)数据使之能完成多个任务而不丢失数据的方法。
在当今技术中,利用装在计算机显示器可视表面上的接触式输入装置提供一个“用户友好”(“user friendly”)的手段来控制数据处理系统已是一种众所周知的技术。这些装置被设计成允许一个不熟练的用户在计算机系统上完成预期任务而不需进行太多的训练。人为因素研究表明,允许用户在计算机显示屏上直接输入数据的装置(在当今技术中一般为接触式输入装置(touch inputdevice)实现了人与机器之间作用的最大的及时性和准确性。
在当前已发展的辅助人机交互图形用户界面中。有许多能由用户用手指进行最方便选择的项目,例如菜单选择、图标(icon)或窗口等。在其他能完成徒手画画、手势识别或手写字母的高级软件应用中,指示笔(stylus)更加有效,因为它更精确。这样,利用一种既能检测指示笔又能检测手指接触的接触式输入装置是方便的。这样一种系统在共同受让的美国专利4,686,332号中描述过。该专利属于E.Greanias等人,题为“用于可见显示装置视屏上的指触与指示笔检测组合系统”,它于1986年6月26日提交,在这里将作为参考引证。
计算机操作系统软件通常把鼠标器之类指点装置(point-ing device)作为定位器装置(locator device)而不是作为数据装置来对待。其假定是,作为一个定位装置,重要事件是鼠标器按钮的单次扣动。对于大多数应用而言,最重要的点是鼠标移动的起点和终点(这是通常发生在按钮按下/抬起事件的地方)以及鼠标指示器的当前位置。鼠标指示器的实际路径往往没关系。其结果是由操作系统对鼠标产生的事件(具体地说,是报告鼠标运动的鼠标运动事件)作有限的缓存。而鼠标的运动或走过的路径则作为鼠标运动事件报告给应用程序,当产生这些事件时(典型情况是每秒40次运动)便可以得到它们。然而,如果应用程序正忙于执行一个有较高级优先权的任务时,操作系统则合并(coalesce)鼠标的这些运动,只保留所报告的最后一次运动。当应用软件提取鼠标运动的速度低于鼠标运动的产生速度时,也就是在高CPU使用期间,这些鼠标运动便被操作系统丢弃。这就造成了数据丢失。然而,在过去,对于大多数应用而言,数据丢失并未造成问题。
在共同受让的一个共同未决申请(系列号344,879,题目是“高级用户接口(Advanced User Interfaee)”,1989年4月28日提交,在此引入作为参考)中提出了一种操作系统增强,它允许已存在的应用程序理解新的输入装置,特别是它允许从接触传感器(如在专利4,686,332号中描述的那种)的输入被映射(map)到应用程序或操作系统能理解的鼠标或键盘信息上。然而,本发明者近来发现,移植了AUI系统(由344,879号申请公开的操作系统存在许多严重的限制。
第一,在高级用户接口(AUI)中,支持指触和/或指示笔输入的触屏装置有两种工作方式:它们可以可靠地仿真一个鼠标装置,包括鼠标“按钮上”和“按钮下”命令,或者它们可以用于完成手势或手写输入。手势输入被系统映射成能被系统上运行的计算机模块理解的命令。由于CPU高峰使用造成的鼠标运动事件丢失严重地阻碍了使用指示笔或手指输入进行手写、手势或计算机绘图的能力。再有,数据丢失阻碍了系统在这两种输入类型之间进行鉴别的能力。
用触屏来仿真一个鼠标的第二个限制是操作系统不提供将触屏产生的额外数据传送给应用程序的手段。产生指点装置事件的系统机制是以鼠标为基础的,所以所报告的数据局限于按显示分辨率生成的一对X/Y座标以及分辨率不精确的记时标记(times-tamp)。当前的触屏显示器及装置能够报告大量的事件及高度确定的传感器数据。
此外,触屏的点产生速率可达每秒200点,是每点报告过多(plethora)数据的鼠标速率的2至5倍。这样,当使用触屏时,由于应用程序必须以快2至5倍的速度来提取各点才能避免点数据不协调,所以“鼠标运动”合并问题加重了。专为使用这些传感器产生的坐标及伴随的笔画数据而设计的未来的应用软件可能需要实时地在产生这些数据时处理它们,又需要在完成一条笔画后抬起(liftoff)时处理这此数据。然而,用目前的操作系统,这一信息是得不到的,因为这些系统被设计成只接收键盘或鼠标数据。
对于大多数操作系统而言,对触屏使用鼠标事件报告的方式的另一个固有限制是仿真一个鼠标的触屏装置必须以显示分辨率来报告坐标,而且在每个轴向其坐标值必须以至少是显示象素(pel)来改变才能作为有效鼠标运动来接受。对于高分辨率传感器,可能在一个显示象素距离内检测到许多次运动。这样,便损失了指点信息的分辨力。
本发明的一个目的是提供足够的存储区以缓存任何类型或来源的多达1000个输入事件而不丢失数据。
本发明的一个目的是允许多人同时运行的输入装置向数据处理系统写入输入的事件。
本发明的一个目的是当多个输入设备同时运行时能提供设备仲裁(arbitration)。
本发明的一个目的是使所有输入事件能为应用软件所得到,并在保证保持所有输入事件(包括鼠标和键盘)时间顺序的情况下分发这些事件。
本发明的一个目的是在处理每个输入事件时使应用软件能够得到伴随每个输入事件的全部有关数据。
本发明的一个目的是使接触传感器输入装置每一笔画中的每一点所伴随的全部相关数据能在抬起时被应用程序得到。
本发明的一个目的是除了当前提供的鼠标超前和打字超前能力外,还实现“笔画超前(stroke-ahead)”能力。
本发明的一个目的是在输入过程中缓存一次接触笔画的点,使得即使在延长时间的占先(pre-emption)中也不会造成手势输入超时(time out)。
本发明的一个目的是使应用软件能根据输入装置类型、事件类型、或时间标记范围来对单个输入事件进行分类,从而解开单个输入事件队列。
本发明的一个目的是使应用软件能够停止执行以等待一个特定的输入事件。
本发明的这些目的以及其他目的和特点是由扩充信息队列(Extended Information Queue)来实现的,这是一种将数据排入这一队列的方法及从这一队列中分离出数据的方法。
它提供足够的缓存机制用于访问和检索所存储的宽带数据,还提供了足够的存储区来缓存持续数秒的触屏接触笔画。在一典型的操作系统中,在输入装置和运行的应用程序之间由操作系统提供一个含有有限缓存器的通道。本发明提供一个具有更宽带宽的并行通道,它带有优越得多的缓存能力以补充操作系统的缓存能力,这就是EIQ。
当系统收到一个事件(例如接触传感器上的一次指示笔下触)时,其信息以兼容格式送到操作系统通道和宽带通道。送到操作系统通道的信息只含有有限数据,该数据被翻译成鼠标产生的那种格式。送到宽带通道的信息含有由输入设备产生的全部数据。如果在CPU高峰使用期应用程序不能足够快地提取“鼠标运动”,则操作系统通道的缓存区将放弃这些“鼠标运动”。在宽带通道中的EIQ缓存器保持多达1000个输入事件的全部数据,或者对于计算机系统而言认为是足够数量的数据,而与CPU使用无关。
响应一个“鼠标”事件对系统中应用程序之一的拦截时,本发明的方法将检验在EIQ中是否存在任何事件。如果存在,则系统使所有事件离队,并将它们送到预期的应用程序中。如果在检查EIQ队列中的事件时,系统监测到任务占先,则设置各种标记。例如,由于最佳实施例使用了延时计时器将预期作为一个手势的接触输入与预期作为鼠标仿真的接触输入区别开,设置了“手势超时终止与忽略”标志,以保证任务占先不会影响预期结果。再有,某些事件可能会从各个输入装置异步地单独送到EIQ缓存器。本发明提供了一个单独的调度单位(thread)来产生一个伪“鼠标”信息送到操作系统队列,使系统去检验EIQ缓存中的真正输入事件。
图1是用于检测指触和指示笔位置的复盖单元(overlayunit)的前视图。该单元放置在平面显示面板上构成所谓“接触工作板”(touch workpad)。
图2是指触与指示笔组合检测的体系结构示意图。
图3描绘出一个数据处理系统中运行的一组应用程序。该数据处理系统中装备了根据本发明构成的操作系统增强。
图4中的流程图说明了根据本发明来操作数据处理系统的最佳实施例。
图5是说明扩展信息队列子例程(subroutine)的流程图。
图6A的流程图说明用于对来自接触传感器的输入进行鼠标命令仿真的延时计时器例行程序。
图6B是终止手势识别例行程序的流程图。
图7是手势识别例行程序流程图。
图8是延时计时器处理的流程图。
图9表示出操作系统通道队列和EIQ缓存器中的数据块。
图10是接触传感器按钮事件处理的流程图。
将参考图1和图2来描述实现本发明最佳实施例的环境。参考图1,图中给出一个接触工作板,它基本上与Arbeitman等人的共同未决申请(系号351,227,题为“数据处理系统用平面触屏工作板”,1989年5月15日提交,这里引入作为参考)中描述的那种类似。该工作板包括一个外罩12,它有一矩形凹入窗口14,包围在矩形接触复盖板16的边缘。接触复盖板16是透明的,放在液晶显示(LCD)屏18上面。复盖板16是一个叠层结构,包括几个塑料基底层利用粘着层叠压在一起。复盖板16还包括第一组透明导体16A沿垂直方向放置及第二组透明导体16B沿水平方向放置。在超出凹入窗口14之外还放置了若干垂直向和水平向导体,以便对于在显示窗口14边缘接触或接近复盖板16的指示笔20或手指能够精确地确定其位置。
指示笔20经电缆22与接触工作板相连,指示笔20的作用犹如一根天线去拾取复盖板16发射出的信号,并提供比手指接触高得多的分辨率。在外罩的边框上有四个按钮开关24-27,它们能用于改变来自工作板10的数据的接收方式。工作板电缆28将工作板同用户与之通信的计算机连接起来。工作板电缆28向工作板10提供电源与操作LCD18的显示信号以及以指触和指示笔两种方式操作复盖板的接触信号。此外,电缆28还是通向计算机的管道,向计算机提供由指示笔20接收的信号强度测量值及由于手指接触造成的电容变化所引起的频率变化。
图2是指触和指示笔检测系统的体系结构示意图。图2中描绘的系统正是美国专利4,686,332中的图9所揭示的那个系统。接触控制处理器30、随机存取存储器32、只读存储器及I/O控制器36也是在个人计算机中的接触面板适配器卡上,而接触电路的其余部分集成在接触工作板10上。正如结合图1所描述的那样,接触工作板10通过电缆28与个人计算机及接触面板适配器卡37进行通信。垂直向X导体及水平向Y导体分别通过X总线38及Y总线40与接线选择多路转换器42相连。幅射拾取指示笔20通过门电路44与幅射拾取测量装置46相连。接线选择多路转换器42通过方式多路转换器50与电容测量装置52相连,后者用于电容指触检测。接线选择多路转换器42还通过方式多路转换器50与40千赫兹振荡器驱动器54相连,后者用于为了指示笔检测操作而驱动X总线38及Y总线40。方式多路转换器50还向门44提供一个启动输出,以便将指示笔20的输出有选择地连接到辐射拾取测量装置46,用于指示笔检测操作。电容测量装置52的输出通过模拟-数字转换器56与工作板总线58相连。辐射拾取测量装置46通过模拟-数字转换器48与总线58相连。接线选择多路转换器42的一个控制输入60与总线58相连。控制输入62从总线58连到方式多路转换器50。
工作板总线58通过工作板接口64与电缆28相连,而电缆28又连到个人计算机中的接触面板适配器卡37的PC接口66。PC接口66与主系统总线68通信,也与适配器卡总线70通信。I/O控制器36有一I/O总线72与个人计算机的主总线68相连。I/O控制器36还与适配器卡总线70相连。适配器总线70还用于控制处理器30。与只读存储器(ROM)34及随机存取存储器(RAM)32的相互连接。该个人计算机包括CPU74、ROM76、磁盘存储器78、存储操作系统81和应用程序82的存储器80、标准键盘84以及标准显示器86等标准设备。标准显示器86通常是一个CRT(阴极射线管),在最佳实施例中它是对工作板10中的LCD的补充。
接线选择多路转换器42及方式多路转换器50响应由控制处理器30经总线58加到控制输入端60和62的控制信号,将复盖板16中一组水平与垂直导体选出的模式(pattern)连接到或者电容测量装置52或者40千赫兹振荡器驱动器54。在指触操作过程中,电容测量装置52响应来自控制处理器30的控制信号,将其输入端通过方式多路转换器50及接线选择多路转换器42耦合到复盖板16中水平与垂直导体阵列中被选定的单个导体上。电容测量装置52的输出被A/D转换器56转换成数字值并通过总线58提供给控制处理器30。控制处理器30执行一系列所存储的程序指令,来检测被操作员手指接触的复盖板16中水平阵列导体对及垂直阵列导体对。
指触传感方式与指示笔传感方式被此独立地运行,检测系统在这两种方式之间往复,直至检测到一次指触或指示笔接触。
题为“高级用户接口”或AUI的共同未决申请(系号344,879)描述了一个操作系统的扩展,它允许新形式的输入能被当初写成时不理解那类输入的应用程序来处理。在题为“在多应用环境中具有手势识别功能的图形用户接口”的共同未决申请(序号779,702,1991年10月21日提交,这里引入作为参考)中描述了对那个操作系统扩展的某些改进。例如,迄今为止所写的大多数应用程序只接受键盘和鼠标输入。一个用户能使用高级用户接口(AUI)来应用接触传感器,不需要对写成时只接收鼠标和键盘输入的应用程序代码作任何修改。在一个最佳实施例中,AUI与操作系统81及应用程序82一起存储于RAM80中。
图3中描绘了几种外部输入设备130-138以及适当的设备专用代码模块141-145。键盘130由键盘设备驱动模块140来处理,指点装置132和134由统一的指点装置驱动模块143来处理。EIQ驱动模块150接收的输入信息来自指点装置驱动模块143以及声音与图象传感器136与138的设备专用代码模块144与145。在操作系统中装入的任何驱动程序或者说设备专用代码都可以用EIQ设备驱动模块150予以登录,此时登录EIQ驱动模块150便知道了该设备的能力及其登录的条目类型。一旦设备已经登录,它可以将设备专用条目写入EIQ缓存器160,以便其后能通过EIQ子系统185的请求被AUI环境链路层180或应用程序190-193检索。EIQ驱动程序150、EIQ缓存器160有EIQ子系统185相应于344,879号申请中的“代用输入子系统(AIS)”的一个改进版。AIS的某些方面也是由指点装置143完成的。
键盘和指点装置事件也被传送到OS/2操作系统170,以便在被预期的应用程序接收之前列入其输入队列。由于操作系统将只接收鼠标或键盘数据,所有来自接触传感器134的数据在被送入操作系统输入通道之前由指点装置驱动程序143翻译的“鼠标”信息。接触数据连同其数据类型的全部补充说明一起送到EIQ通道。能被存入EIQ缓存器160的数据中包括下列数据:
按显示分辨率表示的X/Y坐标,传感器分辨率比显示分辨率高得多,
产生从标的指点装置(例如手指、指示笔)的标识码,
高分辨率时间标记,
来自安装在显示器边框的按钮的事件,
指示进入或离开邻近区的检测信息,
来自安装在指示笔上的按钮的事件,
指示笔的倾斜、旋转与抬高,
Z-轴或压力数据,
加速度数据,
在个人指示笔中存储的数据,
显示状态,例如背景光状态及灰度映象,
视频状态,如当前的视频方式。
当应用程序190-193使“鼠标”信息离开PM输入队列时,在应用程序190-193收到这些信息之前,AUI180要拦截它们,并请求EIQ子系统185提取相应于当前信息的所有EIQ事件。这使AUI层180能得到指点装置报告的全部指点事件,这些事件可能已经由于鼠标事件的合并而被PM172抛弃。当EIQ事件离队时,其坐标和全部伴随数据被送到笔画缓存器188,并在提起或鼠标按钮抬起时使应用程序190-193能得到整个笔画。
AUI环境链路180子层也与字符/手势识别子单元194耦合,该子单元194向不能处理一个特定笔画的应用程序提供识别工具;它还与接口简要表(profile)196耦合,该接口简要表196针对应用程序190-193、操作系统170及显示管理程序172当初所写的对应命令映射新的输入。
EIQ缓存器160有足够大的存储器来缓存1024个事件。当各条目被写入EIQ缓存器160时,每个事件被赋予一个唯一的时间标记。时间标记的精细度(granularity)是一毫秒,它使能每秒缓存多达1000个事件。与由EIQ驱动程序150赋予的时间标记和送到PM输入队列的PM信息所得到的时间标记相同。这是至关重要的,因为从PM队列离队的信息必须与其在EIQ缓存器160中的相应条目匹配。时间标记还保留了所有输入事件的时间顺序。
利用与操作系统170相连的多个输入装置130、132、134、136及138,便有可能同时接收来自多个装置的输入事件。EIQ驱动程序的作用是一个仲裁器(arbitrator),并赋予每个指点装置一个优先级。当由二个或更多个装置造成同时条目的情况时,EIQ驱动程序150对较低优先级装置的条目加一标记,该标记将通知AUI180:该装置经仲裁被排出,且不应该作为有效输入来接收。
由于EIQ缓存器160将包含所有输入事件,如果用户同时移动鼠标和指示笔,则能包括鼠标和指示笔两种事件。这样,为了防止混淆,该最佳实施例包括将指点装置之一仲裁排出的可选功能,从而使来自该额外指示器的指点事件不与有效指示器的事件,一起传送给应用程序。
多任务操作系统的另一个限制是“任务占先”,这时有较高优先级的任务暂时中断了当前正在执行的程序。任务占先对笔画输入特别有破坏性,因为墨迹(inking trail)暂时中止了,而用户必须用指示笔继续书写都没有可见的墨迹反馈。当用户在书写一个手势时还会在无意中发生超时,因为AUI维持一个延时计时器来等待用户或者完成一个手势或者停止移动指示笔以便区分预期作为鼠标命令的输入和作为手势的输入。因为占先的效果是引起AUI停止处理点,故延时计时器永远不会复位,从而引起超时。对于AUI软件,这种情况看起来好象用户握住指示笔不动去迫使超时并进入鼠标仿真方式。
在长时间占先的情况里,有可能在控制返回原始程序并处理点之前写入几个笔画。至关重要的是将这种中断过程中所有笔画数据保留下来并提供给被中断的应用程序,做到中断对应用程序而言成为透明的。
图4是AUI子系统的主例行程序,这里所有PM信息在步骤206被拦截。图4还描绘出三个初始步骤,这里,来自输入装置的电信号被装置专用代码141-145在步骤200进行处理,变成指点装置驱动程序143能理解的输入信息,驱动程序143又将所有点信息转换成鼠标信息,因为后者能被OS/2 170及PM172理解。“鼠标”信息被送到步骤204并通过操作系统170和集成操作环境172进行处理。在一个最佳实施例中,只有“鼠标”信息被用本发明的方法处理,它假定需要时间标记来保持其时间顺序的所有数据被转换成鼠标信息传送到OS/2 170及PM172。所有其他PM信息(例如键盘)被直接地以最小延时传送到应用程序。在正常操作方式中,当事件发生时应用程序使鼠标信息从PM输入队列中脱离。然后,AUI环境链路180得到控制权并使同一事件脱离EIQ缓存器160再存入笔画缓存器188。在理想状况下,在PM输入队列和EIQ事件之间有一对一的关系。然而,如果一个应用程序提取信息较慢,一些信息可能会被抛弃,这就意味着将有不只一个也可能有几个EIQ事件要离队。下面将讨论几个事例来帮助理解。
例1:图4-8说明了处理接触传感器134上一个单一笔画的正常情况。在这一例子中,用户在接触传感器134上用手指或指示笔做了一个手势,例如一个右箭头手势,计算机系统或AUI或应用程序把手指和指示笔看作是等同的,它们把接触输入“理解”为要完成某一特定活动的命令。在208截获了一个“鼠标按钮下”的信息。因为该系统初始时不处在手势方式,所以在205它被作为一个新笔画的起始来对待。在254装入信息时间标记,并把该事件从EIQ缓存器256取出。然后AUI进入手势方式状态258并启动延时计时器260来检测运动的终止。如果用户希望用鼠标仿真来代替手势,用户将停止指点装置的运动达200毫秒。由于系统在手势方式时鼠标仿真被延迟,故“鼠标按钮下”未被传送给应用程序262。当用户移动指点装置时,接触运动作为一系列PM鼠标运动信息报告给操作系统170。
由于这些运动信息在210被过滤,在270该“鼠标”运动信息被加上时间标记,在272取得最后一个EIQ事件的EIQ时间标记,在274取得相应的EIQ事件。图5说明EIQ处理例行程序。当鼠标运动被离队时,它们在300按时间标记范围被提取。开始时间标记是最后一次提取时的时间加1毫秒,结束时间是当前PM“鼠标”运动信息的时间标记。这保证了当提取连续条目时,各条目只离队一次,而且没有条目会被跳过。由于一个条目能来自多个装置,该事件要通过过滤器304-310,以保证它是一个没有被仲裁掉的定位器(locator)事件。这样,在304检验该事件是否是指示笔或边框按钮事件,在306检验它是否是显示事件,在308检验它是否是定位器事件,在310检验它是否是一个已被仲裁掉的定位装置。在这些过滤之后,在314检验这一条目以区分是一个鼠标装置还是一个指触或指示笔之类高带宽装置。根据它是鼠标还是手指/指示笔分别在步骤364或316从EIQ条目中取出全部装置数据。在手指/指示笔的情况中,该条目包含以传感器分辨率表示的坐标,如果在318应用程序提出请求,则在320立即将这些坐标传送给应用程序。类似地,一个应用程序可以在322请求以鼠标分辨率来接收指示器的全部运动,在这种情况下,在324送出以显示器分辨率表示的坐标。
如果需要实时处理指示器运动,那么该应用程序通常请求接收全部点。这种情况的一例是一个完成自己的笔绘任务的应用程序。对于一个未知的应用程序,用户可以通过应用简要表向AUI这个应用程序要实时接收全部点。除了实时接收点外,该应用程序被保证接收该笔画中的全部点。这是一个应用程序能恢复被PM172放弃的鼠标运动的最佳方式。否则,一个应用程序必须等到“抬起”或“按钮抬起”的时刻来读取含有全部鼠标运动地笔画缓存器188。这样做的好处在于用户能指定一个已存在的应用程序去接收全部点而不必修改该应用软件。
在图5中,一旦设备专用数据已被处理完,便在326进行一次检测以确定AUI是否处于鼠标仿真方式。如果是,则不再作进一步处理并转去处理下一个EIQ事件。如果不是,则AUI是处于手势方式,它在328要求用当前点来更新动作缓存器188。在332完成终止手势方式的快速检查,在336完成延时计时器处理,在340完成当前点的着墨。
图6B中详细说明了终止手势方式检查。在450加载最后一次延时计时器复位的时间标记之后,在452从当前时刻中减去当前EIQ条目的时间标记。这一结果揭示出系统处理EIQ事件在时间上落后多久。通常EIQ事件是准实时地被读取的,所以,大的时间差表明系统落后了,因为在若干事件被排列到EIQ缓存器160期间系统一直在忙于执行较高优先级的程序。在这种情况中,没有发生占先,所以在454的检验失败,例行程序在470返回。
图8中描绘了延时计时器处理。首先,在600完成“忽略超时”标志是否置位的检验。在602检验当前EIQ条目中的坐标是否移动。如果在604需要重新启动延时计时器,则在606它被重新启动,并进行一次检验以保证在608计时器并没有已经终止。如果计时器被成功地重新启动,则在610存储当前条目的计时标记作为最后一次计时器重新启动的时刻,例行程序在620退出。
再回来参考图5,在340着墨当前点之后,在302处持续循环,直至所有离开EIQ队列的条目都被处理了为止。当退出该循环时,在342保存所处理的最后一个条目的时间标记,供其后的占先检测之用。然后EIQ例行程序退出,回到图4中的276,在那里进行一次检验,看在EIQ例行程序中是否将鼠标运动传送给了应用程序。如果是,则在278不将当前PM鼠标信息传送给应用程序,因为它已经接受了这一信息。最后,在242返回到PM。
终于,在212截获了一个“鼠标按钮抬起”信息,表明是该笔画的结尾。指点装置驱动程序143将指示笔从接触传感器抬起仿真成一个“鼠标按钮抬起”信息。在214加载了该信息的时间标记之后,在216读取最后一个EIQ事件的时间标记,在218对EIQ例行程序进行调用,以读取最后一次鼠标事件直至并包括本次按钮抬起事件。由于AUI已确定接触输入是一个手势,在222去掉该笔画的着墨(deinking),在226停止延时计时器,应用程序得到机会在228去访问动作缓存器。将该笔画“去掉(deinking)”是抹去由于指示笔或手指穿过接触传感器运动时为向用户提供可见反馈而显示的“笔迹”。如果该应用程序不处理笔画缓存器188中的笔画,则在238完成手势识别。如果该动作被识别为一个有效手势,则在236将该手势映射成接口简要表196中一个用户指定的动作,如果该笔画不是一个能识别出的手势,则在238完成鼠标仿真,在笔画“鼠标”的最后位置产生一个“鼠标”按钮按下信息并将其送给应用程序。然后在240允许将当前的按钮抬起信息传送给应用程序。在236有效手势的情况中,不做鼠标仿真,并在278放弃按钮抬起信息。这样就完成了一个标准的手势输入情况的描述。
例2:下一个重要情况是用户以手指或指示笔接触该接触传感器134并在给定位置保持不动,以进入鼠标仿真方式。与第一种情况类似,一个鼠标按钮按下事件和鼠标运动被接收并被添加到笔画缓存器188,并启动延时计时器。然而,用户握住点指示装置不动导致停止产生鼠标运动。在200毫秒不运动之后,延时计时器停止了。参考图6A,在400查询了当前鼠标位置,并在402查询PM172从而确定了目的应用程序。在404产生一个PM鼠标按钮按下信息并在406传送给该应用程序。当应用程序使传送来的按钮按下信息离队时,它在208被AUI拦截,此时AUI已经在250处于手势方式,并在252调用按钮按下处理程序。
参考图7,在500检验被传送的按钮按下信息,以保证它是由计时器例行程序传送的。然后进行一系列的占先检验。在502完成是否同时设置了“忽略延时计时器超时”及“手势终止”标志的检验;在504进行检验是否设置了“忽略超时”标记。在506,进行手势终止标志是否设置的检测。下面将结合进一步的举例来讨论这些标志的用途。在本情况中没有发生占先,所以在502、504及506对占先标志的检验均失败,于是执行进入508,在那里从当前时间中减去最后一个EIQ事件的时间。由于用户保持静止因而无鼠标运动,故最后一次EIQ提取信息时间大于70毫秒。这一点看起来应用程序可能已被占先,然而,在520检验了PM输入队列并且没有发现鼠标事件。PM鼠标事件不存在乃是在最近未发生EIQ提取信息的原因。如果在PM输入队列中存在事件,那么系统没有使它们离队的原因便会被认为是任务占先。因为没有发生任务占先,故在520的检验失败并在512进入鼠标仿真方式。在514抹去该笔画的笔迹,并允许被传送的按钮按下信息传递给应用程序。
下面的几个例子全都是以上述例1和例2中的两种情况为基础,其不同之处在于发生了占先,从而破坏了处理的正常方式。占先的严重性不同,从几十毫秒的短暂无后果的中断到持续几秒钟的整个系统死锁。应当指出的是,在图7中的510及图8中的614所进行的占先检验是要确定在70毫秒内未曾提取EIQ事件。采用70毫秒这个值是因为OS/2系统计时器的精细度是32毫秒。由于计时器只在每过32毫秒增量一次,所以检验一个70毫秒的变化可以保证已经过去了至少64毫秒而最多95毫秒。换句话说,给定指示笔点产生速率为每秒125点,这相当于在EIQ缓存器160已缓存了8-12个指示器运动,而它们却被PM172抛弃。
例3:用户接触传感器134并在传感器上移动指示笔几秒种之后才抬笔。在这一笔画中间,应用程序被占先达150毫秒。用户所看到的是笔迹出现短暂的中断,这里指示笔暂时超前笔迹2-3英寸,然后笔迹再次追赶上指示笔的笔尖。象这样的短时间占先是无害的,不会对AUI或应用处理产生有害的影响。发生占先的唯一指示是笔迹中断。这一例与例1很相似,其不同在于,当在210拦截到占先之后的第一个“鼠标”运动时,在EIQ缓存器188中有18次接触运动(150毫秒/每次鼠标运动8毫秒=18)。这只是意味着EIQ例行程序的主循环302要重复18次并在328将所有这些点加到笔画缓存区,在336根据需要重新启动延时计时器,在340画出这些点的笔迹。在302的这个循环中处理所有这些点所用的时间是很短的,对用户而言,明显看到的只是迅速地画出那些未解决的点的墨迹。
例4:用户触下并移动指示笔达几秒钟然后抬起。在这一笔画中间,应用程序被占先达300毫秒。用户看到笔迹出现长得多的中断,在笔迹重新追上触笔笔尖之前触笔超前墨迹达4-6英寸。象这样的长时间占先会引起问题,因为长达300毫秒没有任何点被处理,延时计时器不能被重新启动,发生了超时。这个超时会使AUI进入鼠标仿真。对用户介面的影响是出现一个在笔画中途终止的手势。
参考图6A和图4,由计时器例行程序在406产生的“鼠标”按钮按下信息被AUI在208截获。由于发生占先之前在进行一个手势,所以AUI是在手势方式,于是在250的检验是肯定的,因而在252该信息被送到按钮按下处理程序。这个按钮按下看起来是正常的,又由于没有设置占先标志,于是过程进入502、504和506检验,并在508AUI从当前时间减去最后一次EIQ时间。其结果是300毫秒,这引起AUI在520检验PM输入队列。由于用户从未停止运动,事实上“鼠标”运动被加入到PM输入队列,表明已经发生了占先。在522重新启动延时计时器,在524放弃了按钮按下信息,这使AUI保持其手势输入方式。
回到图5中的EIQ例行程序,应用程序于是使一个“鼠标”运动从PM输入队列中脱离,而在此时由AUI在300提取暂存在EIQ缓存器160中的37个指示器运动(300毫秒/每个鼠标运动8毫秒=37)。这些接触运动象前例那样被迅速处理并使笔迹再次追上指示笔。
例5:这一情况与例4中的情况相同,只是占先发生在AUI处理鼠标运动的过程中间。同样,在这一中断期间延时计时器停止了。为了清楚,假定处理过程在图5中302的EIQ循环顶部被占先。当执行恢复时,AUI继续处理从EIQ缓存器160脱离的鼠标运动。这一处理象正常情况那样继续下去,直到在336完成了延时计时器处理。如图8所示,在602检验该点是否移动并在604再启动计时器。然而,延时计时器没能再启动,因为它已经停止了,而且在608它不再工作。一旦失败,便在614将最后一次EIQ事件的时间与当前时间比较,以检验是否出现占先。其结果是300毫秒,它引起在618设置“忽略超时”标志。其余的EIQ事件被处理。在再次调用延时计时器例行程序时,在600设置“忽略超时”标志,它引起该例行程序在620退出而不试图使延时计时器复位。最后AUI处理最后一次EIQ事件并在240将信息送给应用程序。在这时,在PM队列中有两个“鼠标”信息,一个“鼠标”运动(代表37个接触运动)以及一个被传送来的“鼠标”按钮按下。尽管“鼠标”运动发生于鼠标按钮按下之前,但被传送来的信息有较高优先级,所以按钮按下是被PM172解除队列的第一个信息。该按钮按下信息在208被拦截并在252被处理。在按钮按下例行程序中,在502“忽略超时”和“手势中止”两个标志均被检验,看它们是否都被设置。因为只有“忽略超时”标志被设置则使代码向下走并在504对下一个检验判其真伪。这里,标志被设置表明AUI本身被中断而且延时超时是虚假的。在505“忽视超时”标志被复位,在522延时计时器被重新启动。然后在524放弃按钮按下信息从而使AUI保持其手势方式。
如上面描述的那样,AUI容易受到占先的时间间隔似乎是相当短暂的,然而在实践中它频繁发生。这是因为占先往往以一系列爆发的形式发生。在第一次爆发期间,有若干指示器运动累积在EIQ缓存区160中。当它们被解除排队时,AUI处理被局限于图5中302处的EIQ主循环,持续一个拉长的时间周期来处理每一个运动。正是在这个拉长的EIQ处理过程中经常发生第二或第三占先爆发。每次抢占都使EIQ缓存器160中增加指示器运动,所以发生两次事件重合只是个时间问题。
例6:在这一例,用户用指示笔触在接触传感器134上并暂停一会以进入鼠标仿真方式。然后用户移动指示笔在显示屏上拖(drag)动一个选定的图形目标,最后抬笔使目标定位。当用户暂停在图形目标时占先中断应用程序达500毫秒。这造成一个问题。当AUI使全部60个缓存指示器运动脱离队列时,它要用大约60毫秒去处理它们。在这60个指示器运动中间,对其中的30个用户保持不动,这应该已经引起延时计时器停止。然而,由于在60毫秒内处理全部指示器运动,延时计时器没有机会象通常那样停止。在通常情况下如果指示器运动在500毫秒时间内被处理,那么计时器应该有机会停止。所以看不到稳定时期,而且再次检测到会重新启动计时器的运动。AUI保持在手势方式而不象用户预期的那样进入鼠标仿真方式。下述事实使这一问题更加严重了:在这500毫秒占先时间里,延时计时器停止了,所以在PM输入队列中还有一个被传送来的“鼠标”按钮按下信息必须要处理。
当控制返回时,离队的第一个PM信息是这个被传递来的“鼠标”按钮按下。如例4中概述的那样,占先被检测到,计时器被再启动,而按钮按下信息被抛弃。在图4中,在210PM“鼠标”运动信息被处理并被AUI拦截。在图5中302处的EIQ主循环中,60个指示器运动被从EIQ缓存器160取出,并在330对每一条目进行一次调用来检验手势终止标志。在450加载最后一次有效计时器再启动(图8中框610)的时间标记,并在452从当前EIQ条目的时间标记中减去。在454将其结果与延时计时器值做比较,它是200毫秒。除非发生了占先,否则其结果决不应大于延时计时器,于是数值EIQ条目被处理。由于在笔画中间用户曾停止200毫秒,计时器再启动时间没有增量。最后,在458将检验再启动时间的真伪。如果不曾发生占先,那么在这一刻应是AUI已进入鼠标仿真方式,当在458处理大量指示器运动时计时器也可能会停止。如果是这样,则在460设置“忽略超时”标志以放弃PM输入队列中的由计时器传送的按钮按下信息。然后在462设置“手势终止”标志,并在466利用当前EIQ条目的X/Y坐标建立起一个鼠标按钮按下信息。在468处这条信息被送到对应的应用程序,并在470返回到图5所示EIQ例行程序。当在332判定“手势终止”检验为真时,其余EIQ条目不再被处理,并在334返回到图4中的主线AUI代码。
在这一点,PM输入队列中可能有两个“鼠标”按钮按下信息。一个是在406由计时器发出的,一个是由手势终止例行程序在468发出的。如果在队列中有一个由计时器产生的按钮按下信息,则它被首先处理,因为它是先产生的。当由图7的手势方式处理中的鼠标按钮按下处理进程来处理时,在502设置“忽略超时”及“手势终止”两个标志,于是在524使“忽略超时”标志复位并放弃按钮按下信息。计时器不被再启动。返回到图4,现在在208截获第二个按钮按下信息,由于在252AUI仍在手势方式,该第二按钮被处理。再看图7,只在506设置“手势终止”标志,在512分支进入鼠标仿真方式并在514抹去该笔画的笔迹。在516该信息被送到应用程序,并在用户停止不动200毫秒的地方发生了一个鼠标按钮按下。
支持键盘和/或鼠标的操作系统的一个共同特点是“打字超前(type-ahead)”和“鼠标超前(mouse-ahead)”。这些能力使得即使是在运行的应用程序可能处于被占先或忙状态因而不能处理用户输入的情况下也允许用户开始在键盘上打字和/或按动鼠标。系统保持键盘和鼠标事件的顺序,从而当应用程序准备好再次接收用户输入时,这些事件能按原来的顺序被接收并送到适当的窗口。这一能力允许在系统过载期间用户继续输入,并有效地使系统的不可获得性(unavailability)在一定程度上变成透明。这一能力还允许专家或“强有力的”用户一个窗口或文本区域的活动并在该窗口或区域能接收输入之前便开始打字。
鼠标超前特性的主要缺陷在于鼠标是一个严格的定位器装置,系统只缓存鼠标按钮的上下动作及两次动作之间的一次单一鼠标运动。如果应用程序忙则在鼠标运动期间接收的所有点均被合并,当它重又开始接收用户输入时只有最后接收的那个点被送到该应用程序。这就排除了在后台(background)占先线索活动时笔画一次手势的能力。需要一种方法防止这类数据的丢失。对于触屏装置,这表明丢失了具有丰富的信息的笔画数据,它严重降低了手指或指示笔作为输入装置的性能。
利用全部上述技术,AUI实现了称为“笔画超前(stroke-ahead)”的第三种能力,这里在占先期间所有手指、指示笔和/或鼠标的动作和运动都被缓存起来,然后再回放给应用程序,就好象不曾有任何延迟。当前的存储区足以在很长的占先时间里存储8个手势或10秒手书。此外,这个笔画超前能力允许通用图形用户介面技术(例如点和拖动、窗口的重定大小及移动、选择、以及重复按动(clicking)等)被执行,而不管应用程序是否已经准备好。
图9比较了EIQ缓存器中的EIQ数据块与操作系统输入缓存器中的相应条目。PM“鼠标”信息中只含有有限的信息。它包含信息标识码和目标窗口标识码,以及“鼠标”信息在目标窗内被指定的X/Y坐标。再有,它还包括鼠标指示器将要映射的显示屏上的X/Y坐标以及指示何时“鼠标”事件被送到操作系统的PM时间标记。
操作系统(PM)时间标记用于将EIQ数据块与其相应的PM“鼠标”信息关联起来。由于“鼠标”信息中已包含窗口信息,故在EIQ数据块中不需包括,尽管如果希望的话它也能被包括。在EIQ数据块中的数据希望是说明性的,而不是完全无遗的或排它的。在所包括的数据中有设备标识码、能由知道的(aware)应用程序处理的设备专用信息、指出EIQ缓存器状态的标志、显示器坐标、高分辨率接触传感坐标、指示笔旋转及角度、以及高分辨率设备时间标记。取决于不同的输入装置,某些条目可能得不到,因而在EIQ数据块中会留下空白。按钮和其他输入装置事件
当把图1描绘的工作板、按钮、边框和指示笔等引入到图形输入板(tablet)时,便显著增强了人的因素和图形输入板的可用性。这些事件由适当的设备驱动程序写入EIQ缓存器160,然而,由于这些事件不是指示器事件,而且不能由指点装置驱动程序翻译成伪“鼠标”事件,所以它们不能被编入PM输入队列,结果,应用程序不能被告知这些事件的发生。AUI子系统180在图10中的700建立一个单独的任务或执行调度单,它的唯一功能是监视EIQ缓存器160中的按钮事件,从而回避了操作系统的这一限制。当发生按钮事件时,该调度单位被分派去处理该事件,在此时一个含有该事件信息的PM信息被送到应用程序。单独调度单位被同样地写入来提供来自声音传感器136的声音事件的通知及来自图象传感器138的图象事件的通知。
参考图10,在系统初始化时,该调度单位被建立并进入700的永久循环以监视EIQ按钮事件。该循环在702开始,调用EIQ子系统180使一个按钮事件离队。在这一功能调用中隐含一个请求,即在EIQ缓存器160中无按钮事件时请求停止该调度单位的执行。只有当一个按钮事件被列入EIQ缓存器160队列,这种“等待状态”才得以满足。于是,当一个按钮事件被设备驱动程序列入EIQ缓存区160时,该调度单位立即被重新分派并恢复执行。
一旦确定在EIQ缓存器160中存在一个按钮事件,该按钮必须以适当顺序来处理。该按钮事件可能是EIQ缓存器160中的唯一事件,但是,如果用户在一个笔画的中间按动按钮,那么该按钮事件也可能在一长列指示器运动中间。如果在笔画中间按动按钮,它必须按时间顺序处理,保持指示器运动和按钮事件的严格顺序。当在图4的210PM“鼠标”运动被拦截并由AUI主线例行程序处理时,该按钮事件将最终在图5的EIQ例行程序304处被辨识并在360和362处被处理。然而,如果该按钮事件是一个独一无二的EIQ条目,便不会有PM输入队列信息去触发AUI,于是该事件将永远不会被从队列中解脱。
所以,一旦重新分派了按钮监视调度单位该调度单位立即在704处向EIQ子系统180发出请求提取发生的下一个指示器事件。在这一功能调用中有一个显示请求,要求中止执行直至发生一个指示器事件或者过了64毫秒。如果在706并未发生时间超时,那么该按钮事件与一个指示器事件重合,它将最终离队并在302被EIQ主循环处理。不再进行进一步处理,该循环重新开始。然而,如果在706未发生超时,在708询问当前指示器的位置,并在710使用同一坐标进行修改。每当指点装置的位置被软件更新时,PM将一个“哑”鼠标运动信息编入PM输入队列。当应用程序使这一“哑”运动离队时,AUI在210拦截它,于是在302的EIQ例行程序中该按钮事件得到处理。因为指点装置的位置未改变,由PM产生的这个额外的“鼠标”运动信息对应用程序处理没有影响。
尽管已经参考具体实施例描述了本发明,精通本门技术的人们将会理解,可以在形式和细节方面加以改变而不偏离本发明的精神和范围。所提供的实施例只用于举例和说明的目的,不是用来将本发明的范围限制得窄于所附权利要求的范围。
Claims (12)
1.一种在具有中央处理器的数据处理系统中对来自输入装置的宽带数据进行缓存的方法,其特征在于包括以下步骤:
在第一缓存器中缓存来自该输入装置的输入数据,该第一缓存器具有在中央处理器高峰使用期放弃至少某些输入数据的性质;
在第二缓存器中缓存输入数据,该第二缓存器存储全部输入数据,而不管中央处理器的使用;
判定是否已从第一缓存器放弃过输入数据;以及
响应于判定到已从第一缓存器放弃过输入数据,从第二缓存器中提取输入数据。
2.根据权利要求1的方法,其特征在于输入数据是代表指点装置经过接触传感器表面的一条路径的坐标点。
3.根据权利要求2的方法,其特征在于所述判定步骤是通过比较第一和第二缓存器中坐标点的数目实现的。
4.根据权利要求1的方法,其特征在于所述判定步骤是通过对该数据处理系统所处理的最后一个输入数据相关的最后时间标记与当前时刻进行比较实现的。
5.根据权利要求2的方法,其特征在于还包括以下步骤:
判定指点装置是否已经在一个给定的坐标点上停止经过触屏的移动长达一个预定时间周期;
响应于判定指点装置已经停止移动达预定时间,进入鼠标仿真方式。
6.根据权利要求2的方法,其特征在于还包括以下步骤:
判定指点装置是否已经在一个给定的坐标点上停止经过触屏的移动长达一个预定时间周期;
响应于从触屏抬起指点装置之前未发现移动停止,将该坐标点解释为一个手势;
将坐标点映射成代表数据处理系统已知的一个手势的点;以及
响应于将坐标点匹配于一个已知手势,向一个适当的计算机模块发出一个表示哪一个消息已被发出的消息。
7.一种用于对来自输入装置的宽带数据进行缓存的数据处理系统,所述系统具有一个中央处理器和一个存储器,其特征在于包括:
在存储器中的第一缓存器,用于对来自该输入装置的输入数据进行缓存,该第一缓存器具有在中央处理器高峰使用期放弃至少某些输入数据的性质;
在存储器中的第二缓存器,用于对来自输入装置的输入数据进行缓存,该第二缓存器存储所有输入数据,而不管中央处理器的使用;
用于判定是否已从第一缓存器放弃过输入数据的装置;以及
从而如果已从第一缓存器放弃过坐标点,则从第二缓存器中提取坐标点。
8.根据权利要求7的系统,其特征在于输入数据是代表指点装置经过接触传感器表面的一条路径的坐标点。
9.根据权利要求7的系统,其特征在于所述用于判定的装置对第一和第二缓存器中的坐标点的数目进行比较。
10.根据权利要求7的系统,其特征在于所述用于判定的装置对该数据处理系统所处理的最后一个输入数据相关的最后时间标记与当前时刻进行比较。
11.根据权利要求8的系统,其特征在于还包括:
用于判定指点装置是否已经在一个给定的坐标点上停止经过触屏的移动长达一个预定时间周期的装置;
响应于判定指点装置已经停止移动达预定时间,进入鼠标仿真方式。
12.根据权利要求8的系统,其特征在于还包括:
用于判定指点装置是否已经在一个给定的坐标点上停止经过触屏的移动长达一个预定时间周期的装置;
响应于从触屏抬起指点装置之前未发现移动停止,将该坐标点解释为一个手势;
用于将坐标点映射成代表数据处理系统已知的一个手势的点的装置;以及
用于响应于将坐标点匹配于一个已知手势,向一个适当的计算机模块发出一个表示哪一个消息已被发出的消息的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77970391A | 1991-10-21 | 1991-10-21 | |
US07/779,703 | 1991-10-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1074768A CN1074768A (zh) | 1993-07-28 |
CN1049053C true CN1049053C (zh) | 2000-02-02 |
Family
ID=25117259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN92112142A Expired - Fee Related CN1049053C (zh) | 1991-10-21 | 1992-10-09 | 对来自输入装置的宽带数据进行缓存的方法及系统 |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP0538745B1 (zh) |
JP (1) | JP2519379B2 (zh) |
KR (1) | KR950014984B1 (zh) |
CN (1) | CN1049053C (zh) |
AT (1) | ATE175283T1 (zh) |
AU (1) | AU661508B2 (zh) |
CA (1) | CA2076466C (zh) |
DE (1) | DE69228040T2 (zh) |
NZ (1) | NZ244242A (zh) |
SG (1) | SG45192A1 (zh) |
TW (1) | TW267223B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570113A (en) * | 1994-06-29 | 1996-10-29 | International Business Machines Corporation | Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system |
PT920891E (pt) | 1997-12-02 | 2003-03-31 | Two Way Tv Ltd | Processo e aparelho para inserir dados |
EP1711058B1 (en) | 2004-01-23 | 2021-09-15 | Eden Research Plc | Methods of killing nematodes comprising the application of a terpene component |
BRPI0511441B8 (pt) | 2004-05-20 | 2021-05-25 | Eden Research Plc | composições contendo uma partícula de glucano oca ou partícula de parede celular encapsulando um componente de terpeno, métodos de fabricação e uso das mesmas |
ES2848707T3 (es) | 2005-11-30 | 2021-08-11 | Eden Research Plc | Cápsulas insecticidas que contienen timol y métodos de fabricación y uso de las mismas |
AP2901A (en) | 2005-11-30 | 2014-05-31 | Eden Research Plc | Compositions and methods comprising terpenes or terpene mixtures selected form thymol, eugenol, geraniol, citral, and L-carvone |
JP2011181063A (ja) * | 2010-02-02 | 2011-09-15 | Ricoh Co Ltd | 画像形成装置、入力制御方法、入力制御プログラム、及び記憶媒体 |
CN102419650A (zh) * | 2011-05-06 | 2012-04-18 | 北京汇冠新技术股份有限公司 | 一种多点触控的实现方法及系统 |
GB201220940D0 (en) | 2012-11-21 | 2013-01-02 | Eden Research Plc | Method P |
CN105975127B (zh) * | 2016-04-29 | 2018-10-09 | 南昌振华通信设备有限公司 | 一种触摸屏报点补偿方法及装置 |
BE1025610B1 (nl) * | 2017-09-29 | 2019-04-29 | Inventrans Bvba | Werkwijze, inrichting en computerprogramma voor het overlayen van een grafisch beeld |
CN109032664B (zh) * | 2018-07-04 | 2021-08-06 | 中国人民解放军国防科技大学 | 实时追踪微体系结构级队列队满状态的方法及系统 |
BE1026977B1 (nl) * | 2019-01-20 | 2020-08-24 | Inventrans Bvba | Werkwijze en inrichting en systeem voor het verschaffen van dubbele muis ondersteuning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4054958A (en) * | 1976-01-16 | 1977-10-25 | Widham Ernest G | Toilet of compost type |
US4100606A (en) * | 1977-02-09 | 1978-07-11 | Texas Instruments Incorporated | Key debounce system for electronic calculator or microprocessor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6383819A (ja) * | 1986-09-29 | 1988-04-14 | Matsushita Electric Ind Co Ltd | 入力指示装置 |
JPS6395527A (ja) * | 1986-10-13 | 1988-04-26 | Fanuc Ltd | デ−タ入力制御方法 |
US4896290A (en) * | 1987-08-24 | 1990-01-23 | Wang Laboratories, Inc. | Method for routing events from key strokes in a multi-processing computer systems |
JPH01193919A (ja) * | 1988-01-28 | 1989-08-03 | Mitsubishi Electric Corp | データ処理装置 |
US5157384A (en) * | 1989-04-28 | 1992-10-20 | International Business Machines Corporation | Advanced user interface |
-
1992
- 1992-08-20 CA CA002076466A patent/CA2076466C/en not_active Expired - Fee Related
- 1992-09-07 NZ NZ244242A patent/NZ244242A/en not_active IP Right Cessation
- 1992-10-01 AU AU26115/92A patent/AU661508B2/en not_active Ceased
- 1992-10-05 JP JP26618492A patent/JP2519379B2/ja not_active Expired - Lifetime
- 1992-10-09 KR KR1019920018560A patent/KR950014984B1/ko not_active IP Right Cessation
- 1992-10-09 CN CN92112142A patent/CN1049053C/zh not_active Expired - Fee Related
- 1992-10-16 SG SG1996001128A patent/SG45192A1/en unknown
- 1992-10-16 AT AT92117701T patent/ATE175283T1/de active
- 1992-10-16 DE DE69228040T patent/DE69228040T2/de not_active Expired - Fee Related
- 1992-10-16 EP EP92117701A patent/EP0538745B1/en not_active Expired - Lifetime
-
1993
- 1993-02-02 TW TW082100686A patent/TW267223B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4054958A (en) * | 1976-01-16 | 1977-10-25 | Widham Ernest G | Toilet of compost type |
US4100606A (en) * | 1977-02-09 | 1978-07-11 | Texas Instruments Incorporated | Key debounce system for electronic calculator or microprocessor |
Also Published As
Publication number | Publication date |
---|---|
JP2519379B2 (ja) | 1996-07-31 |
JPH05216621A (ja) | 1993-08-27 |
KR930008596A (ko) | 1993-05-21 |
DE69228040D1 (de) | 1999-02-11 |
AU2611592A (en) | 1993-04-22 |
CN1074768A (zh) | 1993-07-28 |
SG45192A1 (en) | 1998-01-16 |
EP0538745B1 (en) | 1998-12-30 |
EP0538745A2 (en) | 1993-04-28 |
CA2076466A1 (en) | 1993-04-22 |
AU661508B2 (en) | 1995-07-27 |
ATE175283T1 (de) | 1999-01-15 |
CA2076466C (en) | 2002-01-15 |
NZ244242A (en) | 1995-06-27 |
EP0538745A3 (en) | 1993-07-14 |
KR950014984B1 (ko) | 1995-12-20 |
TW267223B (zh) | 1996-01-01 |
DE69228040T2 (de) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950012489B1 (ko) | 데이타 처리 시스템 및 그 처리 시간 감소 방법 | |
CN100336000C (zh) | 输入处理方法和输入控制装置 | |
EP0394614B1 (en) | Advanced user interface | |
CN1027197C (zh) | 减少系统开销的装置和方法 | |
CN1049053C (zh) | 对来自输入装置的宽带数据进行缓存的方法及系统 | |
AU2001222787B2 (en) | Method and apparatus for acquiring and organizing ink information in pen-aware computer systems | |
JP4132129B2 (ja) | スタイラス入力を容易にする方法及びシステム | |
EP0538705A1 (en) | Graphical user interface with gesture recognition in a multiapplication environment | |
US7730402B2 (en) | Input method, system and device | |
US20120194431A1 (en) | Zero-click activation of an application | |
US20120133587A1 (en) | Sensor-augmented, gesture-enabled keyboard and associted apparatus and computer-readable storage medium | |
AU2001222787A1 (en) | Method and apparatus for acquiring and organizing ink information in pen-aware computer systems | |
CN1877508A (zh) | 手写信息输入设备 | |
US20090184933A1 (en) | Touch interpretive architecture and touch interpretive method by using multi-fingers gesture to trigger application program | |
CN101192124B (zh) | 对触摸屏输入信息进行自动区分处理的系统及方法 | |
CN1378171A (zh) | 一种计算机输入系统 | |
CN1475892A (zh) | 用于控制设备的直观按键程序设计 | |
US5319385A (en) | Quadrant-based binding of pointer device buttons | |
CN1183437C (zh) | 数据输入方法和装置 | |
CN101615100A (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 | ||
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |