CN1525313A - 用于控制用户接口的插入位置追踪 - Google Patents

用于控制用户接口的插入位置追踪 Download PDF

Info

Publication number
CN1525313A
CN1525313A CNA2004100059181A CN200410005918A CN1525313A CN 1525313 A CN1525313 A CN 1525313A CN A2004100059181 A CNA2004100059181 A CN A2004100059181A CN 200410005918 A CN200410005918 A CN 200410005918A CN 1525313 A CN1525313 A CN 1525313A
Authority
CN
China
Prior art keywords
user interface
insertion position
data input
input user
message
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.)
Granted
Application number
CNA2004100059181A
Other languages
English (en)
Other versions
CN100378659C (zh
Inventor
A・J・贾塞德
A·J·贾塞德
基利
L·B·基利
维克
T·R·维克
托塞特
W·麦克
G·利诺
S·道奇
T·A·托塞特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/431,049 external-priority patent/US20040225965A1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1525313A publication Critical patent/CN1525313A/zh
Application granted granted Critical
Publication of CN100378659C publication Critical patent/CN100378659C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本发明基于插入位置的状态而揭示了用于控制诸如数据输入面板这样的数据输入用户接口的技术。例如,基于检测到的插入位置的特性而提供数据输入面板的位置和内容。此外,基于插入位置的状态而提供用于调用或消除数据输入用户接口的技术。

Description

用于控制用户接口的插入位置追踪
相关的申请信息
本申请是由发明人Kyril Feldman等人于2003年1月31日申请的美国专利申请号为10/356,315名为“用于特殊化的数据输入的实用程序目标”的专利申请的延续部分申请,并将其完全结合在本申请中作为本申请的参考。
发明领域
基于插入位置的状态,本发明的各方面通常涉及创建自动响应。基于检测到的插入位置的状态,本发明的各种实施例可以应用到数据输入用户接口的调用。
发明的背景技术
随着计算机的发展,已经开发出了许多技术以增强用户的经验并使得计算机更通用。例如,许多的软件应用程序为用户的操作提供了许多的自动响应以使用户感觉更方便。例如,这些应用程序自动完成由用户键入的文字,在应用程序范围内把从一个位置移动到另一个位置的文本重新格式化,或者当用户在所述网络位置的座标范围内安放插入点时,自动连接诸如因特网址这样的网络位置。尽管这些响应于用户动作的自动响应增强了用户的经验,但是它们通常仅限于包含在或连接于所述应用程序的资源。因此,在所使用的应用程序外给用户提供自动访问资源就变得非常有用。例如,以一致的的方式为用户提供用于多个应用程序的数据输入用户接口就变得非常有用。
视窗XP Tablet PC版操作系统提供了一种数据输入用户接口,它经常又称作文本输入面板,Tablet PC输入面板或者“TIP”,通过它用户可以使用输入笔或笔将数据输入到计算机。这种用户接口属于较大范围的数据输入图形用户接口,又可以称为数据输入面板。例如,数据输入面板可以提供一个能够将输入笔在表面上的滑动转换为电子墨迹的书写表面。数据输入面板的某些版本能够将电子墨迹转换为文本,而其它的数据输入面板可选地或附加地为运行于计算机上的应用程序直接提供电子墨迹。某些数据输入面板也提供显示传统键盘字符的“软”键盘表面。如果用户使用输入笔轻点这种键盘上按键的显示区,那么计算机就会将与所述按键相关的字符作为输入数据而接收。其它类型的数据输入面板有其自己特殊化的输入表面。例如,由微软输入方法编辑器lime提供的用户接口提供了许多字母大小的书写表面用于接收以东亚字母表方式作为输入的的字符。
除了提供有可选的数据输入技术外,各种数据输入面板帮助澄清关于数据输入的模糊点。例如,某些应用程序可以包括允许用户直接将电子墨迹写入到控制器并且显示以前输入的墨迹或文本的编辑控制器。然而,在这些控制器中,用户难于在插入新数据和处理现存的显示数据间作出区分。例如,如果用户接口显示现存的文本或墨迹,就容易将选择使用输入笔的现存文本或墨迹的尝试与创建“-”字符的尝试相混淆。有利的是,许多类型的数据输入面板将现存文本与新文本的输入分开,由此利于澄清关于用户将数据添加到应用程序还是仅操作现存数据的模糊点。
尽管这些类型的数据输入面板实质上提高了使用输入笔输入装置的计算机的有用性,但是,仍有某些与传统计算机面板相关的不便之处。首先,数据输入面板必须由用户明确调用。这样,为了使用数据输入面板将数据输入到应用程序中,用户必须从应用程序外手动地激活数据输入面板。然而,许多计算机用户并不熟悉数据输入面板,并且可能忽略或不清楚如何调用这一资源。结果,开发软件程序的开发人员就不能确定用户是否知道如何手动启动数据输入面板以将数据输入到应用程序。开发人员反而希望能够激活和使用数据输入面板或者提供替换的数据输入方法。
其次,因为数据输入面板是从应用程序中可分别调用的图形用户接口,所以它通常也与应用程序分别显示。在某些情形下,可以将用户接口覆盖所述应用程序。尽管这种安排允许用户将数据输入到位于应用程序中的近些的目的地,但是用户接口却可能无意地模糊所述目的地或附近的目的地。即使所述用户接口没有初始模糊用于已输入数据的目的地,然而用户可能需要随着新数据输入到应用程序而经常地重定位所述用户接口以防止用户接口模糊所述数据的新插入位置。在其它类型的数据输入面板中,用户接口可能被“停放”在应用程序下面的空间中。尽管以这种方式将数据输入面板定位保证了不会妨碍用户观察新数据的期望的地址,但是这对于用户来说,连续地在应用程序和数据输入面板间来回移动输入笔以便控制应用程序以及将数据输入到应用程序是不方便的。
最后,因为数据输入面板提供了多种数据输入技术,由此用户不方便判断哪种技术对于将数据输入到应用程序的特定位置是最恰当的。例如,应用程序可能包含用于接收区分大小写(case-sensitive)密码的编辑控制器。然而,如果用户试图通过在数据输入面板的书写表面上写入电子墨迹而将密码输入到编辑控制器,那么用户的手写输入可能就不会被准确的识别。进而,如果编辑控制器故意的隐藏未准确识别的文本以防止未授权的旁观者看到密码,用户甚至无法弄清为什么他或她的密码不被识别。在这种情况下,用户可能首选使用键盘表面而不是书写表面将数据输入到编辑控制器。然而,在许多传统的数据输入面板中,用户必须意识到键盘表面更适合所述的任务并且自己将数据输入面板转换为所述显示表面。
发明概述
有利的是,本发明的各种应用与提供用户动作的自动响应有关。尤其是,本发明的某些实施例涉及一种工具,所述工具基于检测到的插入位置状态而自动创建数据输入用户接口。根据这些应用,例如,可以将用户接口靠近插入位置的状态,但是却不会模糊在该位置输入的数据。更进一步,在本发明的各种实施例中,只有当用户使用诸如输入笔这样的输入装置建立了插入位置时,才提供(rendered)数据输入用户接口,所述输入装置从数据输入用户接口输入数据是最合适的。此外,在本发明的某些实施例中,基于检测到的插入位置的状态而配置数据输入用户接口的特征。例如,如果插入位置在用于接收密码的编辑控制器范围内,那么数据输入用户接口可以是自动配置为用于提供代替接收和识别电子墨迹的书写表面的软键盘表面。基于检测到的插入位置的状态,本发明的其它实施例可以替换的或附加地指定调用数据输入用户接口的方法。
按照本发明的各种应用,插入位置追踪工具连续追踪插入位置的状态。例如,所述工具可以通过操作系统或其它合适的系统的组成部分从应用程序中收集插入位置状态信息位置。基于得到的每一部分信息,所述工具可以判断插入位置状态,或者可以取样得到的总信息的一部分以判断插入位置状态。例如,所述工具可以接收大量包含插入状态信息的事件消息,将每一个事件消息置于队列中,并且周期性的取样最近进入队列的事件消息以判断插入位置的状态。取样周期可以根据时间,或者根据接收到的事件消息的总数量而定。
在本发明的各种实施例中,使用插入位置状态以将诸如数据输入面板这样的数据输入用户接口提供给用户。例如数据输入用户接口可以最接近检测到的插入位置。可选地或附加地,可以按照检测到的插入位置状态配置数据输入用户接口的特征。由此,如果检测到的插入位置位于用于接收密码其它不可预测类别的字符的编辑控制器范围内的位置点,那么数据输入用户接口可以包括键盘表面而不是用于接收和识别电子墨迹的书写表面。
再进一步,可以使用所述检测到的插入位置状态以判断用于调用数据输入用户接口的特定技术。例如,如果检测到的插入位置是无其它数据跟随其后的插入点,或者反过来可能是仅被用于输入新数据,那么可以立即调用数据输入用户接口。然而,如果检测到的插入位置是可替换的选择文本,所述文本可能被新数据拖拽或替换,那么可以通过分离图标或“目标”而调用数据输入用户接口。例如,当用户将指针滑过目标、保持指针位于目标上方、或者使用输入笔接触目标时,可以提供数据输入用户接口。同样,也可以使用插入位置状态来确定如何消除一个数据输入用户接口。由此,如果插入位置状态的变化暗示控制器丢失输入焦点,那么使用这一暗示自动关闭与编辑控制器相关的数据输入用户接口。
附图说明
图1举例说明了可以用于本发明各种实施例的通用操作环境。
图2根据本发明的实施例举例说明了插入位置控制工具。
图3举例说明了可以与图2中的插入位置控制工具一起使用的插入位置追踪模块。
图4A和图4B根据本发明的实施例举例说明了用于监控插入位置状态的方法的流程图。
图5根据本发明的实施例举例说明了数据输入面板的实施例。
图6A举例说明了可以与本发明的各种实施例一起使用的应用程序用户接口,而图6B-6D则举例说明了将文本插入到如图6A所示的编辑控制。
图7-9举例说明了根据本发明的各种实施例与编辑控制边界窗口相关的数据输入面板的可选位置。
图10举例说明了使用亚洲语言书写表面的数据输入表面的实施例。
图11举例说明了使用补充数字键盘的数据输入表面的实施例。
图12举例说明了使用补充符号键盘的数据输入表面的实施例。
图13举例说明了使用反方向的文本输入面板的实施例。
发明的详细说明
综述
正如将要在下面所详细描述的那样,本发明的各种实施例监控着插入位置的状态。这些实施例例如可以监控插入位置的状态以及区域、编辑控制或者插入位置出现的用户接口。基于插入位置的特征,本发明的各种实施例可以执行一个或多个动作。可选地或者附加地是,本发明的各种实施例可以将状态信息提供给另一个目标或者过程,所述另一个目标或者过程基于所述插入位置状态信息而执行一个或多个动作。例如,基于插入位置的特征,本发明的一些实施例可以控制用于数据输入的用户接口。从而,连同根据本发明各种实施例的用于监控插入位置状态的各种不同技术一起,下面将讨论应用本发明的不同实施例的各种操作环境。下面还将进一步讨论基于所述被监控的插入位置特征的控制数据用户接口的不同实施例。
操作环境
使用硬件、软件、微程序语言或者上述三者的结合,就可以实现根据本发明各种实施例、基于插入位置状态的用于控制用户接口的工具。例如,可以通过使用追踪插入位置并且能够控制数据输入用户接口的操作的功能模块而实现本发明的一些实施例。每一模块可以单纯使用模拟或者数字电路而实现。然而,如本领域技术人员所意识到的那样,也可以通过使用诸如在像个人电脑和膝上型电脑装置这样的传统可编程的计算装置中的用于控制可编程电子电路的可执行软件指令而实现所述模块。
更特别的是,可以在诸如由一个或者多个可编程计算装置执行的程序模块这样的计算机可执行指令的一般环境下描述根据本发明各种实施例的所述插入位置追踪和用户接口控制工具。一般说来,程序模块可以包括执行特定任务或者应用特殊抽象数据类型的例行程序、程序、目标、组件、数据结构等等。正如在各种实施例中所期望的,作为特色地,可以将程序模块的功能性加以组合或者分配。
因为通过使用由软件编程的可编程的计算机装置而实现本发明的各种实施例,所以简要描述一下典型的可编程计算装置(为了简单,此后称为计算机)的组件和操作将会更利于理解本发明,本发明的各种实施例运行于所述的可编程计算装置之上。图1是用于应用本发明各个方面的传统的一例通用数字计算环境的功能结构图。图1中,计算机100包括处理位置110,系统存储器120,以及将包括系统存储器在内的各种系统组件耦合到处理位置的系统总线130。系统总线130可以是包括存储器总线或者存储器控制器,外部总线,以及使用任一类型总线结构的本地总线的几种总线的任何一种。系统存储器包括只读存储器(ROM)140和随机存储器(RAM)150。
包含了诸如在启动期间帮助在计算机100内的元件间传输信息的基本例程的基本输入输出系统(BIOS)160被存储于ROM140中。计算机100还包括:一用于从硬盘(未示出)读出或者写入的硬盘驱动170,一用于从可擦写磁盘190读出或者写入的磁盘驱动180,一用于从诸如CDROM或其它光媒体这样的可擦写光盘192读出或者写入的光盘驱动191。硬盘驱动170,磁盘驱动180,光盘驱动191分别经由硬盘驱动接口192,磁盘驱动接口193,光盘驱动接口194而连接到系统总线130。所述驱动以及与它们相关的计算机可读媒体为个人计算机100提供了计算机可读取指令、数据结构、程序模块和其它数据的非易失性存储。本领域普通技术人员可以理解的是,诸如磁带、闪存卡、数字视盘、Bernoulli盒式磁带、随机存储器(RAM)、只读存储器(ROM)这样的能够存储数据并可以由计算机访问的其它类型的计算机可读媒体也可以在实施例的操作环境下使用。
包括操作系统195、一个或多个用于程序196、其它程序模块197和程序数据198在内的许多程序模块都可以存储于硬盘170、磁盘190、光盘192、ROM140或者RAM150中。用户可以通过使用诸如键盘101和定位设备102将命令和信息输入到计算机100中。其它输入装置(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪等等。这些以及其它输入装置通过耦合到系统总线的串口接口106而连接到处理位置110,但是也可以通过诸如并口、游戏端口或者通用串行总线(USB)这样的其它接口而连接。此外,这些装置可以经由一个适当的接口(未示出)而直接耦合到系统总线130。监视器107或者其它类型的显示装置也可以经由诸如视频适配器108而连接到系统总线130。除了监视器,个人计算机通常包括诸如扬声器和打印机这样的其它外部输出设备(未示出)。为了数字式地捕获诸如墨迹这样的徒手输入,在优选的实施例中提供了笔式数字化仪165和伴随笔或者输入笔166。实际上,尽管示出了在笔式数字化仪165和串口之间的直接连接,笔式数字化仪165经由本领域公知的并口或者其它接口和系统总线130可以直接耦合到处理位置110。而且,尽管在本发明的许多实施例中示出数字化仪165与监视器165是相分离的,但是,数字化仪165的有用输入区域与监视器107的显示区域一起共同外延。此外,数字化仪165可以集成于监视器107,或者可以作为独立的装置覆盖或者以其它方式附随于监视器107。
应用程序196和程序模块197可以包括一个分析模块和一个识别模块,以用于接收和分析经由输入笔输入的墨迹。分析模块可以用于分析接收到的笔划并且将所述笔划群组成墨迹目标(如字符,字,图等等)。识别模块可以用于分析墨迹目标并在相应于字母数字的手写输入的墨迹目标上执行字符识别。进而可以将识别信息作为墨迹目标的属性而存储。在华盛顿Redmond微软公司的Tablet PC Platform Software Development Kit(SDK)上提供有所述分析和识别模块的示例。
计算机100可以在联网环境下运行,使用逻辑连接到一个或多个诸如远程计算机109这样的远程计算机上。远程计算机109可以是一个服务器,路由器,网络计算机,对等装置或者其它通用网络节点,尽管在图1中仅示出了存储器,但是,远程计算机109通常包括前述与计算机100相关的许多或者所有部件。图1中所示的逻辑连接包括本地网(LAN)112和广域网(WAN)113。上述网络环境在办公室,企业内的计算机网络,INTRANET和INTERNET中常见,并且使用无线和有线通信协议。
当在LAN网络环境下使用计算机时,计算机100通过网络接口或者适配器114连接到本地网112。当在WAN网络环境下使用计算机时,个人计算机100通常包括调制解调器115或者用于在诸如INTERNET这样的广域网上建立通信的其它装置。内置或外置的调制解调器115经由串口接口连接到系统总线130。在网络环境下,前述与个人计算机100相关的程序模块或其一部分可以存储在远程存储器装置中。
可以理解的是,图示的网络连接是用于解释说明的,也可以使用其它在计算机间建立通信连接的技术。假设存在有诸如TCP/IP,以太网,FTP,HTTP这样的各种公知协议的任何一种,那么系统就可以在客户-服务器配置下运行以便允许用户检索基于网络的服务器的网页。可以使用各种网络浏览器以显示和操作网页上的数据。
如前所述,在诸如由一个或者多个计算机或者其它装置执行的一个或者多个程序模块中的计算机可执行指令体现了本发明的一个或者多个方面。通常,这些程序模块包括了当由计算机或者其它装置的处理器执行时用于执行特定任务或者实现特定抽象数据类型的例程、程序、目标、组件、数据结构等等。所述计算机可执行指令可以存储在诸如硬盘、光盘、可擦写存储媒体、固体存储器、RAM等等。正如在各种实施例中所期望的,可以组合或者分配所述程序模块的功能性。此外,所述功能性也可以全部或者部分的体现在微程序语言或者诸如集成电路、现场可编程门阵列(FPGA)等等的硬件等价物。
确定插入位置的状态
使用在用户接口的插入位置
多数软件应用程序通常具有用于接收来自用户的输入数据的某种类型的特征或者组件。随着带有图形用户接口的应用程序的出现,这些特征和组件通常是指控制器。因此,控制器可以是由用户操纵以便执行一动作的被显示的目标。两个控制器的例子包括可以由用户通过使用定位装置和滚动条“检查”的按钮,所述滚动条同样可以经由一定位装置而操纵。用于有窗的用户接口的一个容纳窗口是另一种类型的允许用户操作有窗的用户接口中的内容的控制器。所述控制器的特征和性能通常由控制控制器的应用程序指定。
用户使用键盘而将文本数据输入到的边界区域通常称为编辑控制器。正如本领域的普通技术人员可以理解的那样,存在有各种不同类型的编辑控制器。例如,除了从键盘接收字符数据的传统编辑控制器外,诸如微软公司的视窗XP这样的操作系统允许应用程序包括有增强的编辑控制器。所述增强的编辑控制器接收输入的文本和各种与插入的文本有关的元数据。此外,诸如微软公司的视窗XP Tablet PC版这样的操作系统可选地或者附加地允许应用程序包括一个墨迹编辑控制器。墨迹编辑控制器是增强的编辑控制器,它通过操作输入笔式的定位装置额外地允许将数据输入到所述控制器以创建电子墨迹。在一些墨迹编辑控制器中,墨迹可以转化为文本,然而,在其他类型的墨迹编辑控制器中,可以直接处理电子墨迹,而不用将其转换为文本。
通常,应用程序,或者控制应用程序(如操作系统)的系统可以提供插入位置,所述插入位置就是将由输入装置创建的数据插入到控制器的位置。例如,应用程序可以显示一个插入点以便指示由输入装置创建的数据所插入的位置。通常将插入点作为闪烁的垂直线而显示。插入点的定位通常由一个或多个输入装置控制。因此,用户可以使用笔166,鼠标,追踪球,操纵杆,触垫和其它定位装置以将光标在期望的控制器范围内定位在期望的定位,并且激活控制命令(有时称为“点击”)以在该位置定位插入点。通过使用某些软件程序和应用了输入笔的操作系统,用户可以简单地通过输入笔在数字化仪165上的所期望位置上的接触而将一个插入点定位在控制器的边界内。进而,可以响应于在插入点的数据的输入而移动在控制器内的插入点的位置。例如,通过使用接收来自键盘的文本数据的控制器,可以自动和连续地将插入点移动到插入到控制器的任何文本的末端。
可选地,插入位置可以选择可代替的文本。更具体地,当用户希望以新输入的数据替换选择的文本或者其它字符(如空格符)时,用户可以选择整个要被替换的文本。例如,用户可以激活与定位装置相关的命令按钮,接着移动定位装置以至于显示的指针光标穿过要被替换的文本。(这一过程有时被称为“成组”文本选择。)当用户接着将数据输入到控制器时,以新输入的数据替换被选择的数据的整体。
一个控制插入位置状态的软件应用程序或者主软件系统可以包括报告功能以就插入位置状态报告给其它软件程序。例如,微软公司的视窗XP操作系统提供一文本服务构架。所述操作系统组件为配置为使用由文本服务构架提供的服务提供了增强功能,所述功能例如是接收输入的电子墨迹并且将例如用于被翻译的文本的原始电子墨迹输入这样的任意元数据嵌入到应用程序。然而,为了使用文本服务构架的服务,应用程序必须报告其范围内插入点“插入记号”(或者表示插入点的记号)的所有移动,并识别所述的插入点对于用户是否可见。同样,应用程序必须能够报告在由应用程序保持的编辑控制器内的任何文本范围的显示位置。根据文本服务构架的某些应用,将包含插入位置状态信息(例如插入点插入记号的位置变化)的事件消息传播到由操作系统控制的其它应用程序。此外,文本服务构架的某些应用可以提供响应于来自其它应用程序的插入位置状态信息。因此,文本服务构架可以将插入位置的状态报告给其它软件程序,例如,这包括控制数据输入用户接口的操作系统的另一组件。
类似地,微软视窗操作系统的其它版本可以包括微软Active Accessibility组件。这一组件经常被使用,例如,为了视觉受损的用户而将插入位置状态报告给用户接口,否则的话上述用户在传统的图形用户接口中就不能看到插入位置。如同文本服务构架组件一样,对微软Active Accessibility组件的不同应用都可以传播包含有插入位置状态信息的事件消息。
可选地或者附加地是,某些操作系统或者其它软件程序可以提供响应于针对状态信息的直接询问的各种插入位置状态信息。例如,某些软件程序可以包括一个或者多个控制器,其中不同类型的插入位置状态信息就是从所述控制器处取得的。上述类型的控制器之一就是微软公司的“MSHTML”控制器,它经常用于微软公司的IE浏览器程序和其它类型的软件程序中。例如,可以容易地在控制器范围内访问这种控制器得到插入点的位置。)
可选地或者附加地是,某些软件程序可以使用应用程序编程接口(API)以告知显示程序插入位置的当前状态,以便就插入位置显示给用户。一种上述应用程序编程接口便是微软的视窗操作系统应用的WIN32应用程序编程接口。其它类型的应用程序编程接口包括微软公司的输入方法编辑器(IME)接口,它通常用于针对东亚语言的文本输入。使用了这种应用程序编程接口的软件程序,例如可以在程序范围内为插入点插入记号提供接口。
因此,可以使用一个或者多个软件程序以得到或者接收插入位置的状态。进而,可以理解的是,用于插入位置的状态信息包括于插入位置相关的任何字符。例如,插入位置状态信息包括用于识别插入位置的定位的位置信息,表征插入点的插入记号是否可见的可见度信息,以及表征插入点的插入记号高度的高度信息。此外,插入位置状态信息通常可以包括用于识别控制器的控制信息,插入位置就在所述控制器中定位。控制器信息例如可以在应用程序用户接口范围内确定包含控制器的应用程序用户接口和用于识别控制器的识别信息。插入位置信息可以识别包括具有插入位置的控制器类型,和于控制器状态有关的信息。正如将在下面所信息描述的,根据本发明的各种实施例的插入位置将监控这一插入位置信息,并基于插入位置字符而控制着诸如数据输入用户接口这样的用户接口操作。
插入位置控制工具
参照图2,该图示出了本发明的各种实施例使用的插入位置控制器工具201。插入位置控制器工具201包括插入位置追踪模块203和用户接口判断模块205。插入位置追踪模块203提取与来自各种信号源的插入位置相关的字符信息,并且将该信息提供给用户接口判断模块205。基于所得到的插入位置字符(以及接收到的来自其它类型的事件消息的信息,正如下面将详细说明的),用户接口判断模块205控制着由用户接口应用程序编程接口207提供的诸如数据输入用户接口之类的用户接口的操作。正如本领域的普通技术人员所熟知的,响应于来自用户接口判断模块205的指令,用户接口应用程序编程接口207经由显示装置107而提供用户接口。
如上所述,插入位置追踪模块203可以得到来自各种信号源的插入位置状态信息,包括操作系统(或者其它适当的软件系统)组件,在应用程序内的控制器,以及由应用程序使用的应用程序用户接口。例如,参照图2所示的本发明的实施例,插入位置追踪模块203可以接收来自文本服务构架接口208、带有插入位置状态信息的事件消息,以及微软Active Accessibility应用程序编程接口213。此外,插入位置追踪模块203可以传达对MSHIML控制器211、WIN32应用程序编程接口215和输入方法编辑器接口217的查询,以便得到各种插入位置状态信息。
根据本发明的各种实施例,插入位置追踪模块203在给定条件下将使用来自最准确的信号源的插入位置状态信息。例如,插入位置追踪模块203可以得到来自微软Active Accessibility应用程序编程接口213和WIN32应用程序编程接口215、与当前插入位置状态相关的特征数据。尽管微软Active Accessibility应用程序编程接口213和WIN32应用程序编程接口215提供插入位置状态信息,但是,在某些情形下,应用程序编程接口之一的准确性要高于其它。例如,对于许多插入点插入记号的位置来说,微软Active Accessibility应用程序编程接口213可以提供关于当前插入点状态的更准确的信息。然而,如果插入点插入记号定位于“增强编辑”控制器,那么WIN32应用程序编程接口215可以提供关于当前插入点状态的更准确的信息。
此外,由来自应用程序编程接口213和215之一的插入位置消息所提供的信息格式可以比由其它应用程序接口提供的格式更有效的得到处理。例如,在某些情形下,从由WIN32应用程序编程接口215提供的数据格式而得到的字符可见度比可以比从由微软Active Accessibility应用程序编程接口213提供的数据格式而得到的插入点插入记号(即,表明插入点是否可见的数据)的字符可见度更方便。而且,如果插入点定位于无窗口的控制器内,那么微软Active Accessibility应用程序用户接口215所提供的特征信息仍将允许插入位置追踪模块203判断用于无窗控制器的边界矩形。因此,伴随着本发明的某些实施例,用于插入位置状态的字符信息主要从诸如微软Active Accessibility应用程序编程接口213这样的信号源而获得,而从诸如WIN32应用程序编程接口215获得的插入位置状态信息则被作为所述情形的备份检查,在所述情形下第二信号源提供了比第一信号源更高的准确性。
在本发明的示例中,文本服务构架通常将成为最准确的插入位置状态信息的信号源。因此,如果插入位置追踪模块203接收来自文本服务构架接口209、包含了插入位置状态信息的数据消息,插入位置追踪模块203就会把这一状态信息提供给用户接口判断模块205。然而,如果操作系统不使用文本服务构架,那么插入位置追踪模块203就会处理来自微软Active Accessibility应用程序编程接口213、包含了插入位置状态信息的事件消息。如果这些事件消息表明插入位置定位于控制器内(或者与应用程序用户接口相关),所述控制器能够提供比来自微软Active Accessibility应用程序用户接口213本身更准确的插入位置状态信息,那么所述插入位置追踪模块203就会请求这一更准确的插入位置状态信息。例如,如果来自微软Active Accessibility应用程序用户接口213的事件消息表明插入点插入记号位于MSHTML控制器211内,那么所述插入位置追踪模块203就会从MSHTML控制器211而不是从微软Active Accessibility应用程序用户接口213获得插入位置状态消息。否则,所述插入位置追踪模块203就会使用由来自微软Active Accessibility应用程序用户接口213的事件消息所提供的插入位置状态消息,并且通过获取来自诸如WIN32应用程序编程接口215和输入方法编辑器接口217这样的其它信号源的更为准确的插入位置状态信息而在适当的地方增补这一信息。
值得注意的是,仍然可以使用其它应用程序或者信号源以提供关于输入位置当前状态的插入位置字符信息。例如,苹果公司的基于Macintosh的系统和基于UNIX的系统可以使用不同的应用程序以监控和提供关于输入位置当前状态的插入位置字符信息。因此,代替或除了文本服务构架接口209、MSHTML控制器211、微软Active Accessibility应用程序用户接口213、WIN32应用程序编程接口215和输入方法编辑器接口217之外,本发明的各种实施例可以使用这些可选的应用程序。
理想地,当继续给用户接口判断模块205提供有关插入位置状态的最新字符信息时,插入位置追踪模块203将能够快速的处理带有插入位置信息的引入消息以便分析包含在所有接收到的插入位置消息中的字符消息。然而,实际上,发布消息太快而不能允许插入位置追踪模块203在实时的基础上监控它们的插入位置字符信息。因此,本发明的各种实施例可以使用示于图3的插入位置追踪模块203。对于插入位置追踪模块203这一特定实施例的操作将参照图4的流程图进行描述。
从步骤401出发,插入位置追踪模块203初始启动一阈值计时器。所述阈值计时器可以以100毫秒为一个周期。正如下述描述所表明的,阈值计时器确定插入位置追踪模块203取样所述接收到的包含插入位置状态信息的消息的周期,所述插入位置状态信息例如是来自微软Active Accessibility应用程序用户接口213的事件消息。接着,在步骤403,查找线程301查找(或者接收)来自微软AcitveAccessibility应用程序用户接口213的插入位置消息。在步骤405,查找线程301将插入位置消息设置在事件消息队列303中。
在步骤407中,计时线程305确定所述阈值时间是否到期。如果所述阈值时间没有到期,那么查找线程301继续接收插入位置消息并且存储接收到的消息和事件消息队列303。然而,如果计时线程305确定所述阈值时间已经到期,那么在步骤409中,计时线程305查找来自事件消息队列303的最近存储的插入位置消息。插入位置追踪模块203接着分析包含在查找到的插入位置消息中的相关字符信息,并且将所述消息提供给用户接口判断模块205。因此,插入位置追踪模块203不是试图分析来自每一个接收到的插入位置消息,而是周期性的分析在最近接收到的插入位置消息中的字符信息。值得注意的是,尽管将引入的插入位置消息的查找和存储作为取样所述存储的插入位置消息的同一过程而进行描述,但是对于本发明的的各种实施例,计时线程305可以不同于查找线程301。如果线程不同,那么查找线程301可以继续随着计时线程305取样来自事件队列303的被存储的插入位置消息的同时来接收和存储引入的插入位置消息。
在本发明的各种实施例中,在插入位置状态的特定变化可以暂时终止所述排序处理过程。例如,就本发明的各种实施例而言,当数据输入焦点从一个用户接口转移到另一个用户接口时,将暂时终止所述的排序处理过程。所述排序处理过程的暂时终止允许参照丢失数据输入焦点的用户接口而立即隐藏数据输入用户接口面板,并且参照得到数据输入焦点而立即显示数据输入用户接口面板。
同样地,在本发明的各种实施例中,两个线程301和305或其中的一个可以是“in-process”线程。更具体的,由提供用户接口的软件应用程序提供所述的线程,其中所述插入位置定位于所述的用户接口。本领域普通技术人员可以理解的是,由于线程是应用程序自身的一部分,因此使用所述的in-process线程可以允许线程更容易的翻译由应用程序提供的插入位置状态相关的字符信息。可选地,两个线程301和305或其中的一个可以是脱离了保持带有插入位置的用户接口的应用程序的“out-of-process”线程。例如,由控制应用程序的软件系统,例如是操作系统,提供一个或两个线程。同样,本领域普通技术人员可以理解的是,因为控制应用程序操作的规则并不限制这种线程,所以使用“out-of-process”线程允许更大的操作自由。而且,如果无意中关闭了应用程序,那么这种线程不会立即终止操作。
应该理解的是,本发明的其它实施例可以使用不同的技术以有效的捕获包含在一系列插入位置信息中的字符信息。例如,在本发明的某些实施例中,插入位置追踪模块203可以使用一个或多个线程以处理包含在每一个接收到的插入位置消息中的字符信息。如果所述的一个或多个线程在处理插入位置消息过程中开始落后,那么一个或多个线程就不再继续处理未完成的插入位置消息,而是只处理最近接收到的插入位置消息,直到追上插入位置的当前状态。可选地,本发明的某些实施例可以仅监控位于由插入位置消息提供的字符信息中的变化。例如,在大量与插入点插入记号的状态相关的一系列消息中,通常仅有位置信息会发生变化,而与控制或者用户接口相关的字符信息将保持不变,其中插入点插入记号位于所述的字符信息中。插入位置追踪模块203可以容易地处理位置信息。由于与控制器或者用户接口相关的字符信息的变化相对不是很频繁的发生,所以尽管这些变化明显要求处理更多的辅助操作,但是只有当注意到位于这些字符中的变化时才处理它们。更进一步,本发明的某些实施例可以一次处理一组插入位置消息,以便基于消息的事件顺序和最近接收到的消息的字符而识别插入位置的当前状态。当然,仍可以使用其它技术获取来自插入位置消息的插入位置位置字符信息。
如前所述,用户接口判断模块205使用从插入位置消息处得到的插入位置字符信息以控制诸如数据输入用户接口这样的用户接口的操作。例如,插入位置字符信息可以提供插入点插入记号在XY座标方向的位置。接着,用户接口判断模块205可以指导用户接口应用程序编程接口211将用户接口定位在最接近的插入点插入记号的位置处。下面将会更详细的描述插入位置字符信息的其它应用以控制用户接口的操作。
除了监控插入位置消息外,插入位置追踪模块203可以监控构架本发明的各种实施例的其它类型的消息。例如,在本发明的某些实施例中,插入位置追踪模块203可以监控焦点变化事件消息的状态,所述状态表征嬴得应用程序变化的输入焦点。用户接口判断模块205可以应用焦点变化信息,例如,以改变用户接口的可见性。此外,在某些情况下,可以无误地连续产生插入位置追踪消息,所述消息表征插入位置存在于不再具有输入焦点的用户接口处。相应地,插入位置追踪模块203可以应用由焦点变化事件消息提供的信息以清除错误的插入位置特征信息。
本发明的各种实施例可以替换地或额外地监控接口运动的启动和终止,或者基于应用程序用户接口的边界调整大小(如带窗口的用户接口的运动或调整大小)。在本发明的某些实施例中,对工具201而言,当移动或者调整大小包含插入位置的应用程序用户接口的尺寸时,高效快速的处理来自插入位置消息的特征信息,例如,以保持相对于插入位置的事件输入用户接口的位置可能时困难的。相应地,工具201可以注释表征运动启动或调整应用程序用户接口大小的事件信息,并且停止显示所响应的事件输入用户接口。当工具201注释一事件消息,所述消息表征启动或调整应用程序用户接口的尺寸已经终结了时,那么工具201可以继续显示事件输入用户接口。
进一步地,本发明的某些实施例可以监视位于应用程序用户接口的菜单状态,或者在用户接口范围内的其它逻辑操作,所述用户接口影响着插入位置的状态,但并不针对插入位置消息而在插入位置特征中引发变化。如果激活位于应用程序用户接口的固定菜单,将在菜单中继续显示插入点。然而,当插入点还在固定菜单中时,应用程序用户接口不会接收输入数据。因此,当插入点还在固定菜单中时,用户接口判断模块205可以不再继续显示数据输入面板用户接口。当然,本发明的其它实施例仍可以监控和响应其它与应用程序或控制应用程序的系统有关的事件消息。
事件输入用户接口的性能
概要
如前所述,可以使用按照本发明的各种实施例插入位置追踪工具以控制事件输入用户接口的任何字符。例如,按照本发明的某些实施例的工具可以基于插入位置的状态,控制诸如事件输入面板这样的用户接口表面及其位置。下面将详细描述按照本发明的各种实施例的这些特定特征的应用。
用户接口的定位
按照本发明的各种实施例的插入位置控制工具201的一个特征能够基于插入位置的位置字符,而在工作区中的任何位置定位诸如数据输入面板这样的数据输入图形用户接口。在本发明的某些实施例中,工作区可以是显示给用户的任何空间。可选地,工作区可以是数据输入图形用户接口能够在其中接收来自用户的数据的任何空间。例如,如果数据输入图形用户接口通过输入笔166在数字化仪表面165的移动而接收输入数据,那么工作区可以是对应于能够检测输入笔166移动的表面部分的空间。
因此,按照本发明的某些实施例的插入位置控制工具201能够将数据输入图形用户接口定位于接近控制器的位置,来自用户接口的数据可以插入到所述控制器中。例如,如果控制器是编辑控制器,插入位置控制工具201的某些实施例能够将数据输入图形用户接口定位于接近控制器的位置,以至于用户能够同时观察到用户接口和数据输入到控制器。例如,当用户应用数据输入用户接口将数据输入到多种遍及广泛诸如表格这样的区域的编辑控制器时,这一特征尤其有用。
图5示出可能使用的用于将数据输入到应用程序接口的控制器中的数据输入用户接口。数据输入用户接口在此是指数据输入面板501,包括边界503。在边界503内部是书写表面505。本领域普通技术人员可以理解的是,用户可以使用诸如输入笔166这样的合适的定位装置将电子墨迹写入到表面505上。在插入到应用程序的用户接口前,可以将电子墨迹作为文本而识别,或者可以直接以电子墨迹的形式输入到应用程序中。(按照本发明实施例的某些数据输入面板,书写表面响应于来自输入笔的接触可以仅产生电子墨迹。)在本发明的各种实施例中,可以将输入笔的特殊动作作为命令而识别以执行某些功能。数据输入面板同样包括发送按钮507、许多控制按钮509、以及补充接口按钮511和513。
在用户将电子墨迹写入到写入表面505后,数据输入面板501将在预定的周期后将电子墨迹转换为文本。然而,如果用户希望加速所述识别过程,那么用户可以使用定位装置激活所述发送按钮507。一旦识别出来自电子墨迹的文本,通常在插入位置将其插入到应用程序。除了在插入位置插入识别出的文本,用户使用控制按钮509,同样可以在插入位置执行非字符操作。此外,使用控制按钮509,用户可以在现存的文本前后移动所述插入点,删除、退格以及创建回车。
正如在下面将会详细描述的那样,分别激活补充接口按钮511和513以操纵数据输入面板501去显示包含了数字和符号的补充软键盘,当激活关闭按钮515时,将关闭数据输入面板501。数据输入面板501同样包括表面选择按钮517和519。正如在下面将会详细讨论的那样,表面选择按钮允许用户在由数据输入面板501显示的数据输入表面间转换。在图5中,激活书写表面按钮517,促使数据输入面板501显示书写面板505。
图6A示出用于应用程序的图形用户接口的示例。正如在图中所看到的,显示应用程序图形用户接口的工作区包括边界601。如前所述,边界601可以是显示区的边缘。可选地,边界601可以是与能够为数据输入用户接口而接收输入数据的区域相对应的已显示区域的边缘。同样地,正如在图中所看到的,应用程序用户接口包括三个编辑控制器603-607,其中的每一个都由一个边界框分隔。位于每一个边界框下面的标题609-613分别识别将被输入到相关编辑控制器603-607的数据。因此,图6A所示的用于应用程序的用户接口例如可以是用户在请求个人信息的计算机上所反映的一种形式。
当用户希望将数据插入到编辑控制器时,用户首先使用例如输入笔或鼠标这样的定位装置在编辑控制器中建立插入位置。例如,参照图6B,希望将数据插入到编辑控制器的用户在编辑控制器603的边界范围内建立了插入点615。通常,在编辑控制器内设置插入点,将引起计算机操作系统将输入焦点转向编辑控制器。即,操作系统确认将由用户输入的未来数据传送给编辑控制器。如前面所详细讨论的,插入位置追踪模块203检测在插入点615的状态的变化。
更特别的,插入位置追踪模块203检测一个表征提供有控制器605的应用程序具有焦点的焦点变化消息。而且,插入位置追踪模块203确定插入点615位于控制器605内,以及在工作区601(或者在控制器605内)的插入点位置。响应于确定插入点的状态,按照本发明各种实施例的用户接口判断模块205指导用户接口应用程序编程接口211显示用于将数据输入到编辑控制器605的数据输入面板501。正如在下面将会详细描述的那样,共享的图形用户接口的特性将根据由控制用户接口的对象提供的数据而变化。
在本发明的某些实施例中,无论何时用户在编辑控制器内定位插入位置,用户接口判断模块205指导用户接口应用程序编程接口211显示数据输入面板501。然而,本发明的可选实施例中,仅在响应于用户在使用了输入笔的控制器的范围内定位插入位置时,用户接口判断模块205指导用户接口应用程序编程接口211显示数据输入面板501。仅当使用输入笔定位装置定位插入点615时,通过使用数据输入面板501,当用户使用诸如键盘或者鼠标这样的不同的数据输入工具时,用户接口判断模块205防止显示数据输入面板501。由此,仅当需要将数据实际输入到控制器时才显示数据输入面板501。
当插入位置追踪模块203判断编辑控制器接收了输入焦点时,用户接口判断模块205指导用户接口应用程序编程接口211在与编辑控制器605相关的特定位置处显示数据输入面板501。例如,用户接口判断模块205能够在数据输入面板501的最接近的水平边界和边界控制器605的最接近的水平边界间确定垂直偏移量。类似地,用户接口判断模块205能够在数据输入面板501的最接近的垂直边界和边界控制器605的最接近的垂直边界间确定水平偏移量。在本发明的某些实施例中,用户接口判断模块205甚至可以确定数据输入面板501的高度和宽度,以便保证当与相关的边界控制器接近时它仍固定在所述的工作区中。
在示出的实施例中,如果在工作区边界601范围内还有空间,那么用户接口判断模块205指导用户接口应用程序编程接口211在低于并转向编辑控制器605边界右边处显示数据输入面板501。例如,用户接口判断模块205可以控制用户接口应用程序编程接口211以在数据输入面板501上部边界处定位位于编辑控制器605的低位边界下面25英寸处的象素。类似地,用户接口判断模块205可以控制用户接口应用程序编程接口211以在数据输入面板501左垂直边界处定位位于编辑控制器605的左垂直边界右边1/16英寸处的象素。
当应用程序显示一个具有多种编辑控制器的格式时,上述的位置安排尤其方便。通过将数据输入面板501设置为低于并轻微转向编辑控制器603的右边,数据输入面板501依然靠近编辑控制器605,但是模糊用户观察输入到编辑控制器605的文本。这一定位允许用户观察正好位于编辑控制器605下方的编辑控制器605的至少一部分,以至于用户也不会忘记将数据输入到编辑控制器605中。因此,由于编辑控制器605部分地可见从而使得用户可以以使用输入笔的控制器为方向而将输入焦点移动到编辑控制器605。而且,如果左调整与编辑控制器605相关的标题609,那么右移位后的数据输入面板501的位置同样可以允许用户观察标题609的至少第一个字符,所以这样就会帮助用户记住应该将什么样的数据输入到编辑控制器605中。
一旦显示了数据输入面板501,用户可以使用数据输入面板501的书写表面以将文本输入到编辑控制器605中。例如,如图6C所示,用户可以以电子墨迹617的方式手写输入“John Doe”到书写表面。经过预定时间后,或者如果用户激活了发送按钮607,那么数据输入面板501识别来自墨迹617的文本。并且,如图6D所示,数据输入面板501将识别出的文本619插入到编辑控制器605。
在本发明的各种实施例中,用户接口判断模块205甚至可以补偿下述情况:其中在无法模糊相关的编辑控制器条件下,不使用数据输入面板501的默认位置。例如,如图7所示,使用数据输入面板50 1而将数据输入到编辑控制器607。因为编辑控制器607位于工作区边界601之上,所以不能将数据输入面板501插入到编辑控制器607的下面。在此条件下,用户接口判断装置205可以指导用户接口应用程序编程接口211在高于并转向编辑控制器607边界右边处提供数据输入面板501。更特别的是,用户接口判断装置205可以为用户接口应用程序编程接口211提供非垂直的偏移,由此将数据输入面板501置于编辑控制器607之上。
类似地,如果没有足够的空间以显示移向编辑控制器右边的数据输入面板501,那么用户接口判断装置205可以指导用户接口应用程序编程接口211提供数据输入面板501,以便将其移向编辑控制器的左边。例如,如图8所示,编辑控制器605距离工作区边界601太近以至于不能显示移向编辑控制器605右边的数据输入面板501。相反的,用户接口判断装置205可以指导用户接口应用程序编程接口211设置移向编辑控制器605右边的数据输入面板501。即,用户接口判断装置205为用户接口应用程序编程接口211提供一个非水平偏移值。这样,数据输入面板501就不会完全地模糊基本的编辑控制器605。同样地,如果应用程序在它自己的用户接口的右手边包含有编辑控制器,那么按照本发明的这些实施例,用于这些编辑控制器的数据输入面板501对使用了数据输入面板501的用户仍然是部分可见的。同样地,如果没有足够的空间以显示低于且移向编辑控制器左边的数据输入面板501,那么如图9所示,用户接口判断装置205指导用户接口应用程序编程接口211可以显示高于且移向编辑控制器左边的数据输入面板501。
在某些实施例中,用户期望使用数据输入面板501以将数据输入到多线编辑控制器。如前所述,按照本发明的各种实施例,以相同的方式,相对于多线编辑控制器,可将数据输入面板501定位到相对于单线编辑控制器的自身位置上。然而,如果多线编辑控制器太大而不能允许将数据输入面板501设置在多线编辑控制器的上方或下方,那么用户接口判断装置205可以指导用户接口应用程序编程接口211在编辑控制器自身的范围内定位数据输入面板501。例如,如果插入点615位于多线编辑控制器的上半部分(或者可选地,在工作区上半部分),那么用户接口判断装置205可以指导用户接口应用程序编程接口211在多线编辑控制器的最低端(在工作区可提供位置的最低端)定位数据输入面板501。
类似地,如果插入点615位于多线编辑控制器的下半部分(或者可选地,在工作区下半部分),那么用户接口判断装置205可以指导用户接口应用程序编程接口211在多线编辑控制器的最高端或者在工作区可提供位置的最高端处定位数据输入面板501。然而,本领域普通技术人员可以理解的是,在使用中最小化数据输入面板501的移动以避免困惑用户或者打断用户的工作流程和数据输入是有好处的。相应地,只有当从多线编辑控制器的上半部分到多线编辑控制器的下半部分,或者相反,重定位所示插入点615时,本发明的各种实施例才重定位数据输入面板501。
用户接口的外表
除了确定数据输入用户接口的大小和位置外,根据本发明各种实施例的用户接口判断装置205同样可以确定数据输入用户接口外表。这样,根据本发明各种实施例的用户接口判断装置205可以判断将会被包括在已显示的数据输入面板501中的特征。
现在回到图5,如前所述,数据输入面板501能够提供两个或者多个不同的数据输入表面。如图中所示,当数据输入面板501显示书写表面505时,数据输入面板501相应于在书写表面505上移动输入笔而产生电子墨迹。另一方面,如果数据输入面板501显示键盘表面,那么数据输入面板501相应于在软键盘上激活的每一键而将产生一个文本的字符。如前所述,用户通过激活表面按钮517和519可以在这些表面间来回切换。然而,在本发明的各种实施例中,当输入焦点转向控制器时,用户接口判断装置205能够确定数据输入面板501初始显示一个特定表面。
例如,应用程序可以包括用于接收诸如密码或产品型号数这样的字母和数字的随机组合的编辑控制器。对于使用这种数据,书写表面505可能不是用于输入数据的最佳表面。许多手写输入识别器在识别随机字符时有困难。而且,许多密码编辑控制器不能准确地显示这些数据,但相反,却仅能显示诸如“*”这样的单个字符,以防止旁观者无意中看到用户的密码。由此,如果用户的手写不能准确地识别,那么用户甚至就不能观察到结果以判断没有准确识别哪个或哪些字符。在本发明的各种实施例中,当插入位置追踪模块203判断插入位置位于这种控制器中时,因为用户接口判断装置205提供给用户一个用于输入分类的数字和字母的更可靠的技术,所以用户接口判断装置205可以指导用户接口应用程序编程接口211开始显示键盘表面。
除了确定书写表面505和键盘表面的初始显示外,用户接口判断模块205可以确定由共享组件所显示的任何表面的初始或永久显示。例如,图10示出用于亚洲语言使用者的数据输入面板1001。数据输入面板1001的书写表面取代了只有单个区域的书写表面505,它同时可以显示多个书写区域1003,以便用户可以在每一个区域1003中写入单个的亚洲语言字符。由此,如果插入位置追踪模块203检测到插入位置定位在配置为用于接收亚洲字符形式的编辑控制器中,那么用户接口判断模块205能够确定用户接口应用程序编程接口211开始显示亚洲语言数据输入面板1001。值得注意的是,除了拉丁语言写入表面505外,亚洲语言写入表面也可以包括在数据输入面板501中。由此,在本发明的各种实施例中,用户可以在亚洲语言写入表面1003、拉丁语言写入表面505和键盘表面间切换。
当然,仍有其它实施例可以应用许多不同的特殊化表面。例如,如果插入位置追踪模块203检测到插入位置位于配置为接收全球资源定位器地址的浏览器中的编辑控制器内,那么用户接口判断模块205能够规定用于包含字符串“WWW.,”“.com,”“.net,”“.org,”和“.gov.”的软键盘的画面。同样,用户接口判断模块205能够确定用于拉丁语言用户、带有分区的书写区域的用户表面的画面,以便,例如,帮助数据输入面板501在密码或者部分型号数中较好识别随机字符。同样,根据本发明的各种实施例,用户接口判断模块205能够确定包含一个表面的用户接口,所书表面无需将电子墨迹转换为文本而收集电子墨迹。例如,当捕捉用户原始签名时,该类表面是最有效的。
值得注意的是,由本发明的各种实施例使用的数据输入用户接口可以使用来自任何期望的信号源。例如,用户接口应用程序编程接口可以提供给用于用户接口的不同表面,所述用户接口应用程序编程接口响应于来自用户接口判断模块的指令而提供给用户接口。作为代替,应用程序可以给一个或多个用户接口提供用户接口判断模块,所述用户接口判断模块可以把表面提供给用户接口应用程序编程接口。在本发明的实施例中,用户接口应用程序编程接口可以是可执行的组件,所述组件用具体例子说明了用户接口自身。进而,本发明的实施例可以完全地忽略用户接口应用程序编程接口。在这些实施例中,用户接口判断模块可以提供数据输入图形用户接口本身。
除了确定显示接口画面外,本发明的各种实施例中,插入点控制工具201可以确定数据输入用户接口能够初始或永久地显示任何特性。例如,数据输入面板501包含了补充键盘按钮511和513。如图11所示,当激活了补充键盘按钮511和513时,数据输入面板501显示了包含数字0-9,“,”和“.”字符的补充键盘1101。类似地,如图12所示,当激活补充键盘按钮517时,数据输入面板501显示了包含各种符号键的补充符号键盘1201。本发明的各种实施例中,基于插入位置的状态,插入位置控制工具201可以确定数据输入面板50 1显示或不显示这些按钮,或者其它方便于用户的附加补充显示。
进而,根据本发明的各种实施例,插入位置控制工具201可以仅在数据输入用户接口内定义组件的安排。例如,图13所示的数据输入面板501的特性是从图5所示的数据输入面板501中的那些特征逆反的而得到的。通常这种安排是基于用户在书写时使用左手或右手的选择而确定的。然而,这种安排也可以由用户接口判定模块205指定。此外,基于检测到的插入位置的状态,插入点控制工具20 1可以指定使用factoid或者heuristics以便偏置数据输入面板的手写输入识别来提高特定控制器的准确性。例如,如果插入位置追踪模块203判断插入位置位于用于接收用户年龄的控制器内时,用户接口判断模块205可以确定用户接口应用程序编程接口211使用factoid,所述factoid偏置数据输入面板以便识别输入的电子墨迹为数字而不是字母。
值得注意的是,在本发明的各种实施例中,用户接口判断模块205可以提供给用于为用户显示的用户接口应用程序编程接口211一部分或整个接口。可选地,插入位置控制工具201可以将用于数据输入用户接口的特征提供给用户接口应用程序编程接口211。即,用户接口判断模块205将预定值提供给用户接口应用程序编程接口211,并且所述用户接口应用程序编程接口211接着基于这些特征而提供一个以前存储的用户接口。
例如,在本发明的各种实施例中,用户接口判断模块205可以为用户接口应用程序编程接口211提供高度值、宽度值、水平偏移值以及垂直偏移值。如前所述,用户接口应用程序编程接口211为用户接口应用程序编程接口211提供水平偏移值以及垂直偏移值,以便定义相对于包含了插入点的编辑控制器的数据输入面板的位置。例如,水平偏移值的默认值可以是与1/16英寸相应的象素,而垂直偏移值的默认值可以是与.25英寸相应的象素。高度值为用户接口应用程序编程接口211提供了文本面板用户接口的高度值。例如,在本发明的各种实施例中,如果用于96dpi的界面,高度属性值可以是157象素,如果用于120dpi的界面,其值为196.25象素,用于133dpi界面时,其值为217.51象素,以便为多种显示分辨率的面板提供一致的外观尺寸。类似地,宽度值为用户接口应用程序编程接口211提供数据输入面板的宽度。在本发明的各种实施例中,如果用于96dpi的界面,宽度属性值可以是570象素,如果用于120dpi的界面,其值为712.5象素,用于133dpi的界面时,其值为789.7象素,以便为多种显示分辨率的面板提供一致的外观尺寸。
用户接口判断模块205可以进一步的包括左值和顶部值,其中所述左值为用户接口应用程序编程接口211提供数据输入面板左边缘的水平位置,而所述顶部值为用户接口应用程序编程接口211提供数据输入面板顶部边缘的垂直位置。用户接口判断模块205包括可视的、可以查找或设置输入面板可视状态的属性。由此,如果插入位置追踪模块203判断插入点状态是这样以至于应用程序不能接收输入数据(例如,插入点定位于先前固定的菜单列表中),那么用户接口判断模块205可以改变可视值以使用户接口应用程序编程接口211隐藏输入面板。
除了列表中的属性外,应该理解的是,按照本发明各种实施例的插入位置控制工具基于插入位置的状态确定用于建立数据输入图形用户接口的特征的任何期望得到的属性。例如,插入位置追踪模块203可以确定使用用于用户接口的一个或多个识别语境特征,例如是一个特定的识别字典,用于偏置手写输入识别的factoid heuristics,使用特定的识别引擎,或者总体上用于识别插入到特定控制器的文本,或者是在无需等待用户停止新的手写输入的情况下指示用户接口执行手写输入的背景识别。进而,插入位置追踪模块203可以确定用于用户接口的属性,所述属性导致用户接口使用用于返回已识别文本的指定的识别超时值,特定电子墨迹厚度或颜色,以及键盘表面所突出的期望键。有插入位置控制工具201所规定的属性或方法可允许输入面板把墨迹直接插入到控制器中,或访问已经插入到控制器中的墨迹。插入位置控制工具201同样可以命令数据输入面板在书写表面上显示多线,或者判断用户是否自愿关闭数据输入面板。
同样地,除了上述所列的属性外,按照本发明各种实施例的插入位置控制工具201可以指导用户接口应用程序编程接口211执行各种动作。例如,插入位置控制工具201可以指导用户接口应用程序编程接口211在任何未处理的手写输入上立刻执行所述的手写识别,而且接着将识别结果发送到包含插入位置的编辑控制器中。例如,当插入位置追踪模块203检测到已经将插入位置移开现存的控制器时,或者当插入位置追踪模块203检测到已经关闭应用程序时,插入位置控制工具201可以使用这一动作。
此外,如果与操作系统一起使用插入位置控制工具201,所述操作系统提供文本服务构架,例如是微软视窗XP Tablet PC版操作系统,那么当插入位置追踪模块203判断插入位置位于rich编辑控制器或者墨迹编辑控制器(即,使用支持文本服务的编辑控制器)时,插入位置控制工具201可以启动文本服务构架。正如本领域普通技术人员所公知的,文本服务构架可以把文本和各种元数据联系起来。例如,如果从手写输入或者语音输入中识别文本,那么就会有可选的识别选择。如果应用程序支持文本服务构架,那么当应用程序接收文本时,它仍会接收和保持与文本相关的任何元数据。所以,插入位置控制工具201可以指导用户接口应用程序编程接口211在附属控制器上启动可应用的文本服务构架(例如与微软视窗XP Tablet PC版操作系统一起使用的通用文本框架)。
也可以提供校正功能,文本服务构架同样可以用于保证已经识别的输入数据与目的编辑控制器准确地匹配。更特别的,当rich编辑控制器或者墨迹编辑控制器调用通用文本构架时,所述通用文本构架创建用于顺序识别出的文本的元数据,所述文本将识别出的文本与控制器相关联。由此,即使输入焦点从控制器转移后,通用文本构架也能够将识别出的文本与控制器相匹配,并且保证已经识别出的文本插入到控制器中。然而,值得注意的是,使用通用文本构架,插入位置控制工具201需要保证为增强编辑控制器提供消息,所述消息指导增强编辑控制器向通用文本构架(即增强编辑控制器必须要求指向COM接口的指针访问COM特征)请求OLE接口。
用户接口的调用
除了判断诸如数据输入用户接口这样的用户接口的外表和其它属性外,同样可以应用插入位置特性或其它信息来控制如何调用用户接口。例如,在本发明的各种实施例中,插入位置追踪模块203可以监控与输入笔165的位置有关的事件消息,所述输入笔165相对于数字化仪166。基于这种信息,工具201可以判断所述输入笔或笔是否在与包含了插入位置的控制器相关的边界区域上方盘旋。作为响应,根据笔是否在边界区域内或外盘旋,用户接口判断模块205可以指导用户接口应用程序编程接口211自动显示或隐藏数据输入用户接口。边界区域可以与控制器的边界毗连,或者可选地覆盖一个更大的范围以至于笔不得不靠近可视的控制器边界。
仍进一步,当笔进入到包含了插入位置的控制器的范围内时,用户接口判断模块205可以指导用户接口应用程序编程接口211立刻或在延迟一会后显示数据输入用户接口。当以其它相邻的控制器为目标时,所述延迟允许用户在包含插入位置的控制器范围内拖拽所述的笔,以至于只有当用户明确地指示,希望通过瞬间在带有插入位置的控制器内或上方持有所述笔来访问数据输入用户接口时,才显示数据输入用户接口。在本发明的各种实施例中,只有当所述笔处于整个显示区域中时,用户接口判断模块205可以指导用户接口应用程序编程接口211显示数据输入用户接口,以至于只有当所述笔处于整个显示屏范围内时,数据输入用户接口才是可见的。
按照本发明的各种实施例,当插入位置定位于某种控制器内时,或者当插入位置是一种特定类型时,用户接口判断模块205可以创建数据输入用户接口显示目标。例如,如果插入位置是一个插入点,那么可能定位输入点以便在插入点后增加文本。相应地,假设用户希望访问数据输入面板以便插入新文本,那么用户接口判断模块205可以立刻为用户提供数据输入面板。然而,如果插入位置是选择现存的一个文本,那么用户可以仅希望删除或拷贝这个文本,或者以另一套已经拷贝的文本替换被选择的文本。由此,用户接口判断模块205可以不必立刻将数据输入面板呈现给用户,但相反却可以在稍后为用户提供用于访问数据输入面板的目标。由此,如果用户希望删除、拷贝被选择的文本或以先前拷贝的文本替换被选择的文本,那么数据输入面板的立刻显示不会中断用户的工作流程。
此外,在某些实施例中,用户接口判断模块205可以监控与笔或输入笔相关的事件消息以判断何时将所述的笔或输入笔(或其它定位装置)移动到或接近数据输入用户接口和显示目标。相应地,只有当笔(或者其它定位装置)定位在(或最接近于)目标或数据输入用户接口时,用户接口判断模块205才可以指导用户接口应用程序编程接口211显示数据输入用户接口。例如,在本发明的某些实施例中,数据输入用户接口显示目标可以采用正方形、圆形或者其它几何形状,而且可以将它定位于包含插入位置的控制器的上、下、左、右,和/或与所述控制器重叠。再者,当立刻或延迟一会后显示数据输入用户接口时,可以立刻或延迟一会后显示目标。
结论
尽管参照了包括实现本发明的各种特定模式的实施例而描述了本发明,但是本领域的普通技术人员可以理解对前述系统和技术的多种变化和置换。由此,如所附权利要求所阐述那样,应该广义地解释本发明的精神和范围。

Claims (30)

1、一种控制数据输入用户接口的方法,包括:
获得用于控制数据输入用户接口的插入位置的特性;以及
基于得到的插入位置的特性而控制数据输入用户接口。
2、如权利要求1所述的方法,进一步包括:
依据得到的插入位置的特性而判断插入位置位于用于接收字符随机排列的编辑控制器内;以及,
为数据输入用户接口提供用于输入字符的随机排列的键盘表面。
3、如权利要求1所述的方法,进一步包括:
依据得到的插入位置的特性而判断插入位置与一种语言类型相关;以及,
为数据输入用户接口提供用于接收以所述语言类型方式所撰写的电子墨迹。
4、如权利要求1所述的方法,进一步包括:
接收大量的插入位置消息,其中每一个消息包含插入位置的特性;以及
从所述大量的插入位置消息中的至少一个获得用于控制的特性。
5、如权利要求4所述的方法,进一步包括:
存储接收到的大量插入位置消息中的每一个;以及
从所述存储的大量插入位置消息中周期性地取样一个插入位置消息。
6、如权利要求5所述的方法,进一步包括:
使用第一编程线程以存储大量插入位置消息中的每一个;以及
使用第二编程线程以从所述存储的大量插入位置消息中周期性地取样一个插入位置消息。
7、如权利要求6所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
使用由软件应用程序保持的线程作为第一线程。
8、如权利要求6所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
使用由软件应用程序保持的线程作为第二线程。
9、如权利要求6所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
使用由软件系统程序保持的线程作为第一线程。
10、如权利要求6所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
使用由软件系统程序保持的线程作为第二线程。
11、如权利要求4所述的方法,进一步包括:
监控包括了所述接收到的大量插入位置消息的每一个的插入位置的特性;以及
基于所述接收到的大量插入位置特性的插入位置的特性的变化而控制数据输入用户接口。
12、如权利要求4所述的方法,进一步包括:
监控包括了所述接收到的大量插入位置消息的每一个的插入位置的特性;
基于发布插入位置消息的顺序而判断插入位置的当前特性;以及
基于所确定的插入位置的当前特性而控制数据输入用户接口。
13、如权利要求1所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
其中由软件应用程序提供插入位置的所述特性。
14、如权利要求1所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
其中由软件系统程序提供插入位置的所述特性。
15、如权利要求1所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;
接收与软件应用程序的数据输入焦点状态相关的焦点消息;以及
进一步的基于所述接收到的焦点消息而控制数据输入用户接口的操作。
16、如权利要求1所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;
接收与应用程序用户接口的应用程序用户接口状态相关的应用程序用户接口消息,所述应用程序用户接口是由软件应用程序提供的;以及
进一步基于接收到的应用程序用户接口消息而控制所述数据输入用户接口。
17、如权利要求1所述的方法,其中所述插入位置特性包括用于插入位置的位置信息。
18、如权利要求1所述的方法,进一步包括:
显示数据输入用户接口,所述数据输入用户接口用于将数据插入到由软件系统程序控制的软件应用程序;以及
其中所述插入位置的特性包括应用程序用户接口信息,所述信息能够识别插入位置所在的应用程序用户接口信息。
19、如权利要求1所述的方法,其中所述语言类型是包括字母数字。
20、如权利要求1所述的方法,其中所述语言类型是象形文字。
21、如权利要求1所述的方法,进一步包括:
依据得到的插入位置特性而判断插入位置最接近工作区的边界;以及
在某处提供数据输入用户接口以至于数据输入用户接口仍保持在工作区边界。
22、如权利要求1所述的方法,进一步包括:
依据得到的插入位置特性而判断插入位置最接近工作区的边界;以及
提供一定尺寸的数据输入用户接口以至于数据输入用户接口仍保持在工作区边界。
23、如权利要求1所述的方法,进一步包括:
依据得到的插入位置特性而判断插入位置位于用于接收因特网全球资源地址定位的编辑控制器范围内;以及
提供带有键盘表面的数据输入用户接口,所述键盘表面具有用于在包含字符串“www”“com”“net”“org”和“gov”的组中的一个或多个专用键。
24、如权利要求1所述的方法,进一步的包括:
依据得到的插入位置的特性而判断插入位置位于用于接收数字数据的编辑控制器范围内;以及
向数据输入用户接口提供带有数字键的键盘表面。
25、如权利要求1所述的方法,进一步包括:
依据得到的插入位置的特性而判断插入位置位于用于接收数字数据的编辑控制器范围内;以及
提供带有按钮的数据输入用户接口,当激活所述按钮时,所述按钮提供带有数字键键盘表面。
26、一种控制数据输入用户接口的方法,包括:
判断插入位置的状态;以及
提供基于所判断的插入位置状态而提供一个调用接口以调用数据输入用户接口。
27、如权利要求26所述的方法,进一步包括:
提供目标调用接口,以至于响应于经过目标调用接口的定位装置而调用数据输入用户接口。
28、如权利要求26所述的方法,进一步包括:
提供目标调用接口,以至于响应于经过目标调用接口的定位装置而调用数据输入用户接口。
29、如权利要求26所述的方法,进一步包括:
响应于检测到的插入位置的定位而提供目标调用接口。
30、如权利要求26所述的方法,进一步包括:
响应于在所期望的控制器范围内检测到的插入位置而提供目标调用接口。
CNB2004100059181A 2003-01-31 2004-01-29 用于控制用户接口的插入位置追踪 Expired - Lifetime CN100378659C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US45370103P 2003-01-31 2003-01-31
US60/453,701 2003-01-31
US10/431,049 US20040225965A1 (en) 2003-05-06 2003-05-06 Insertion location tracking for controlling a user interface
US10/431,049 2003-05-06

Publications (2)

Publication Number Publication Date
CN1525313A true CN1525313A (zh) 2004-09-01
CN100378659C CN100378659C (zh) 2008-04-02

Family

ID=32738231

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100059181A Expired - Lifetime CN100378659C (zh) 2003-01-31 2004-01-29 用于控制用户接口的插入位置追踪

Country Status (4)

Country Link
EP (1) EP1450244A3 (zh)
JP (2) JP4491249B2 (zh)
KR (1) KR100975505B1 (zh)
CN (1) CN100378659C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681751A (zh) * 2011-03-15 2012-09-19 联想(北京)有限公司 输入控制方法、输入识别方法及设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5229871B2 (ja) * 2008-01-10 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 使用者によるデータの入力を支援する技術
CN101751278B (zh) * 2009-12-17 2012-10-03 中兴通讯股份有限公司 一种数据延迟加载方法及装置
EP2360578B1 (en) * 2010-02-15 2013-04-24 Deutsche Telekom AG A method for detecting user screens in mobile devices working under symbian operating system
US8589950B2 (en) 2011-01-05 2013-11-19 Blackberry Limited Processing user input events in a web browser
US8941675B2 (en) 2011-04-05 2015-01-27 Blackberry Limited Backing store memory management for rendering scrollable webpage subregions

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361310A (en) * 1990-01-19 1994-11-01 Fujitsu Limited Handwriting entry processing system using keyboard and mouse interfaces requiring no modification of an application program
US5953735A (en) * 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
JP3190074B2 (ja) * 1991-09-11 2001-07-16 株式会社東芝 手書き入力装置
US6097392A (en) * 1992-09-10 2000-08-01 Microsoft Corporation Method and system of altering an attribute of a graphic object in a pen environment
JP3188039B2 (ja) * 1993-05-11 2001-07-16 三洋電機株式会社 手書き文字記入枠の制御方法
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
JPH09171429A (ja) * 1995-12-20 1997-06-30 Tsubasa Syst Kk データ入力装置
JPH09319503A (ja) * 1996-05-31 1997-12-12 Sanyo Electric Co Ltd 文書処理装置、文書処理方法、記憶媒体
US5914718A (en) * 1996-06-26 1999-06-22 Xerox Corporation Method and apparatus for organizing a work space for a computer controlled display system using borders and regions
JPH1049281A (ja) * 1996-07-29 1998-02-20 Kokusai Electric Co Ltd データ入力装置
US5889888A (en) * 1996-12-05 1999-03-30 3Com Corporation Method and apparatus for immediate response handwriting recognition system that handles multiple character sets
JP2000043484A (ja) * 1998-07-30 2000-02-15 Ricoh Co Ltd 電子黒板システム
JP2000148334A (ja) * 1998-11-10 2000-05-26 Canon Inc 文字処理装置及びその方法、及びそのプログラムを記憶した記憶媒体
US6411283B1 (en) * 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
WO2000073890A1 (en) * 1999-05-27 2000-12-07 Alexei Vladimirovich Afanasiev A method of inputting information into a computer device, a sticker keyboard and a computer device using this method
FI19992504A (fi) * 1999-11-24 2001-05-25 Nokia Mobile Phones Ltd Käsialan tunnistus matkaviestimessä
US7259753B2 (en) * 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
WO2002015004A2 (en) * 2000-08-14 2002-02-21 Transvirtual Technologies, Inc. Portable operating environment for information devices
US6941507B2 (en) * 2000-11-10 2005-09-06 Microsoft Corporation Insertion point bungee space tool
US20020063691A1 (en) * 2000-11-30 2002-05-30 Rich Rogers LCD and active web icon download
JP2002230466A (ja) * 2000-11-30 2002-08-16 Nippon Ics Kk 会計処理装置及び会計処理プログラムを記録した記録媒体
KR100433889B1 (ko) * 2001-04-24 2004-06-04 삼성전자주식회사 키패드를 이용한 인터넷주소 입력방법
US7490296B2 (en) * 2003-01-31 2009-02-10 Microsoft Corporation Utility object for specialized data entry

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681751A (zh) * 2011-03-15 2012-09-19 联想(北京)有限公司 输入控制方法、输入识别方法及设备

Also Published As

Publication number Publication date
CN100378659C (zh) 2008-04-02
KR100975505B1 (ko) 2010-08-11
JP2004234651A (ja) 2004-08-19
JP4868469B2 (ja) 2012-02-01
EP1450244A2 (en) 2004-08-25
JP4491249B2 (ja) 2010-06-30
JP2009076105A (ja) 2009-04-09
KR20040070001A (ko) 2004-08-06
EP1450244A3 (en) 2008-03-26

Similar Documents

Publication Publication Date Title
US20040225965A1 (en) Insertion location tracking for controlling a user interface
CN1525288A (zh) 用于专门数据输入的实用对象
US7966352B2 (en) Context harvesting from selected content
US6903730B2 (en) In-air gestures for electromagnetic coordinate digitizers
US7319454B2 (en) Two-button mouse input using a stylus
US6928619B2 (en) Method and apparatus for managing input focus and z-order
US20020080179A1 (en) Data transfer method and data transfer device
EP0394614A2 (en) Advanced user interface
CN1864155A (zh) 带自增长的文本输入窗
CN1856796A (zh) 框式和行式输入屏面
CN1758205A (zh) 轻击手势
CN1461986A (zh) 覆盖电子墨迹
CN1855009A (zh) 可搜索控制模板功能的基于任务的界面
CN1855041A (zh) 实现虚拟语音一键通功能的方法和多模式界面
JP2005339005A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP4868469B2 (ja) ユーザインタフェースを制御するための挿入位置の追跡
US20060172267A1 (en) Input device training and automatic assignment
JP2000122774A (ja) データ引き渡し装置、方法、及び記録媒体
JP4933721B2 (ja) 文書処理装置及び文書処理プログラム
JP6244676B2 (ja) 操作支援プログラム及び操作支援方法並びに情報処理装置
US20020054156A1 (en) Appartus and method for controlling a menu, and storage medium recording same
WO2007147247A1 (en) Grouped cascading user interface

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160727

Address after: Grand Cayman, Georgetown, Cayman Islands

Patentee after: Microsoft Corp.

Address before: Washington State

Patentee before: MICROSOFT TECHNOLOGY LICENSING, LLC

CX01 Expiry of patent term

Granted publication date: 20080402

CX01 Expiry of patent term