智能软键盘的制作方法

文档序号:6570008阅读:289来源:国知局
专利名称:智能软键盘的制作方法
智能软键盘背景便携式计算机,诸如图形输入板PC、膝上型计算机、PDA和袖珍PC有 许多挑战性的设计问题。 一方面,期望它们重量应较轻并易于携带且易于使用。 另一方面,期望它们应具有长电池寿命、强有力且提供大显示器。这些潜在冲 突的设计准则使得难以产生理想的便携式计算机。为了最小化重量和空间,一种方法是在显示器上使用软键盘来进行数据输 入。提供软键盘的一种方法是提供具有触摸敏感特征的显示器。显示器的一部 分,它可以是从1至l」1/N的一分数,其中N为正整数,它可被配置来在类似于 键盘的装置中的软按键上显示符号,诸如字母表中的字符。通过按压显示器上 的适当位置,可选择符号。通过重复选择符号,个人可用已知方式输入数据。然而,如可以理解的,便携式设备的显示器上可用的空间量有限。如果显 示器的一部分要用于显示用户选择,则可用空间被进一步减小。此外,将符号 大小减少到某一点以下是不切实际的,因为难以在视觉上区分符号的差异。从 而,可能难以显示期望显示的所有符号。采用包括可能包括或可能不包括重音 符的符号的某些语言,这个问题进一步恶化。一个解决方案提供诸如shift (换档)键的修正健。通过选择适当的修正健, 每一软按键可用的选择可改变。然而,这需要额外的选择。在常规硬键盘上使 用修饰键一般不是问题,因为双手可同时使用。然而,通常使用同一手指或定 点设备选择随后的软按键来操作软键盘。因此,要求用户首先选择修饰键然后 选择所需键可能会不合期望地降低数据输入的速度。概述可在触摸敏感显示器上提供具有多个软按键的软键盘,且每一软按键可包 括一符号。用户可通过按压触摸敏感屏幕上适当位置中的选择器来选择软按键 之一。用户可通过以与修饰键对准的方向拖曳选择器来选择初始选中的符号的 修饰版本。选择可通过在触摸敏感屏幕上抬起选择器来敲定(finalize)或输入。为了向用户提供反馈,与初始选中符号相关联的潜在符号可在初始选择周围显 示,使得以所需符号的方向拖曳选择器将允许用户选择该符号。提供该概述以简化形式介绍将在以下在详细描述中进一步描述的一些概 念。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用 于显示所要求保护的主题的范围。附图简述作为示例而非限制在附图中示出本发明,其中相同的参考标号指示相似的 元素,附图中

图1A示出了可在其中实现本发明的某些方面的通用数字计算环境的示意图。图IB到1M示出支持本发明的一个或多个方面的通用计算机环境。 图2示出可在其中实现本发明的一个或多个方面的图形输入板计算环境 的示意图。图3示出了可在其中实现本发明的一个或多个方面的便携式计算机环境的示意图。图4示出了可在其中实现本发明的一个或多个方面的显示器上的软键盘的实施例。图5示出了可在其中实现本发明的一个或多个方面的显示符号的软按键。 图6a到6b示出了根据本发明的一个或多个方面的沿第一符号周界设置的一组符号的实施例。图7到8示出了根据本发明的一个或多个方面的选择与第一符号相关联的符号的方法。图9示出了根据本发明的一个或多个方面的输入符号的方法。 详细描述使用软键盘具有一定的好处。首先,可提供API以允许其它应用程序控制 和监控对屏幕上显示的使用。此外,可容易地定制软键盘的颜色和外观。此外, 可对各种应用程序和硬件使用类似的软键盘,而仅对软按键的显示大小和用于符号的字体大小进行简单修改。根据以下公开,其它优点将变得显而易见。通用计算环境图la示出了可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境ioo只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境 100中示出的任一组件或其组合有任何依赖性或要求。本发明可用众多其它通用或专用计算系统环境或配置来操作。适合在本发 明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算 机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、 机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述系统 或设备中的任一个的分布式计算机环境等。本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用语 境中描述。 一般而言,程序模块包括例程、程序、对象、组件、数据结构等, 它们执行特定任务或实现特定抽象数据类型。本发明也可以在分布式计算环境 中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介 质中。参考图la,用于实现本发明的一个示例性系统包括计算机110形式的通 用计算设备。计算机110的组件可以包括,但不限于,处理单元120、系统存 储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统 总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器 总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总 线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总 线、微通道体系结构(MCA)总线、扩展的ISA (EISA)总线、视频电子技 术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine 总线)。计算机110通常包括各种计算机可读介质。计算机可读介质可以是能够被 计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质 和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算 机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、 ROM、 EEPROM、 闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、 磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以 由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传 输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数 据,且包含任何信息传递介质。术语"已调制数据信号"指的是这样一种信号, 其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例,而非 限制,通信介质包括诸如有线网络或直接线连接的有线介质,以及诸如声学、 RF、红外线和其它无线介质的无线介质。上述中任一个的组合也应包括在计算 机可读介质的范围之内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质, 诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出 系统133 (BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的 基本例程,它通常被存储在ROM131中。RAM 132通常包含处理单元120可 以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制, 图la示出了操作系统134、应用程序135、其它程序模块136和程序数据137。计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图la示出了从不可移动、非易失性磁介质中读取或向 其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的 磁盘驱动器151,以及从诸如CDROM或其它光学介质等可移动、非易失性光 盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境下使用的 其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒 式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。 硬盘驱动器141通常由诸如接口 140等不可移动存储器接口连接至系统总线 121,磁盘驱动器151和光盘驱动器155通常由诸如接口 150等的可移动存储 器接口连接至系统总线121。以上描述和在图la中示出的驱动器及其相关联的计算机存储介质为计算 机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例 如,在图la中,硬盘驱动器141被示为存储操作系统144、应用程序145、其 它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用 程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应 用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是 为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定 点设备161 (通常指鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。其 它输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、 扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口 160连 接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端 口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接 口,诸如视频接口 190连接至系统总线121。除监视器以外,计算机也可以包 括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围 接口 195连接。计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑 连接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由 器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机 IIO描述的许多或所有元件,尽管在图la中只示出存储器存储设备181。图la 中所示逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可以包 括其它网络。这样的连网环境在办公室、企业范围计算机网络、内联网和因特 网中是常见的。当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连 接至LAN 171。当在WAN联网环境中使用时,计算机IIO通常包括调制解调 器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器 172可以是内置或外置的,它可以通过用户输入接口 160或其它合适的机制连 接至系统总线121。在网络化环境中,相对于计算机110描述的程序模块或其 部分可以存储在远程存储器存储设备中。作为示例,而非限制,图la示出了 远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。编程环境编程接口 (或简称为接口)可被视为用于允许一个或多个代码段与一个或 多个其它代码段所提供的功能通信或对其访问的任何机制、过程、协议。或者, 编程接口可被视为系统中能够通信上耦合至其它组件的一个或多个机制、方 法、功能调用、模块等的一组件的一个或多个机制、方法、功能调用、模块、 对象等。前述语句中的术语"代码段"旨在包括一条或多条指令或代码行,且 包括例如代码模块、对象、子例程、函数等,而不考虑所应用的术语是什么或 者代码段是否被单独编译、或者代码段是否作为源、中间或目标代码来提供、 代码段是否在运行时系统或进程中利用、或者它们是否位于相同或不同的机器 上或跨多台机器分布、或者代码段所表示的功能是否全部使用软件实现、全部 使用硬件实现或使用硬件和软件的组合。概念上,编程接口一般可如图1B或图1C中所示地查看。图1B示出接口 "接口 1"为第一和第二代码段可经其通信的管道。图1C将接口示为包括接口对象Il和12 (它们可以是或可以不是第一和第二代码段的一部分),它们 允许系统的第一和第二代码段经由介质M来通信。在图1C的视图中,可将接 口对象II和12认为是同一系统的分开的接口,也可认为对象II和12加上介 质M构成了接口。尽管图1B和1C示出双向流和位于流两侧的接口,但某些 实现可使信息仅在一个方向上流动(或如下所述没有信息流),或仅在一侧有 接口对象。作为示例,而非限制,诸如应用程序编程接口 (API)、入口点、 方法、函数、子例程、远程过程调用、以及组件对象模型(COM)接口等术语 均被包含在编程接口的定义内。这一编程接口的各方面可包括第一代码段将信息发送给第二代码段的方 法(其中,"信息"按其最广义来使用,包括数据、命令、请求等);第二代 码段接收信息的方法;以及信息的结构、序列、句法、组织、模式、定时和内 容。在这一点上,底层传输介质本身对接口的操作而言是无关紧要的,无论该 介质是有线还是无线的,或者是其组合,只要信息按照接口所定义的方式传输。 在某些情况中,信息可以不在常规意义上的一个或两个方向上传递,因为信息传送或者是经由另一介质(例如,信息被置于与代码段之间的信息流分开的缓 冲区、文件等中)或不存在,如当一个代码段仅访问第二代码段所执行的功能 时。例如取决于代码段是否是松耦合或紧耦合配置的系统中的一部分,任何或 所有这些方面在给定情况中可能是重要的,因此该列表应被认为是说明性而非 限定性的。编程接口的概念为本领域的技术人员所知,并可从本发明的前述详细描述 中清楚。然而,存在实现编程接口的其它方式,且除非明确排除,否则这些其 它方式旨在包括在本说明书所附的权利要求书中。这些其它方式可能看似比图1B和1C的简单视图更高级或更复杂,但是它们仍执行完成相同的总体结果的类似功能。现在将简要描述编程接口的一些说明性替换实现。丄分,Ofector/"gJ 从一个代码段到另一个代码段的通信可通过将通信分成多个离散通信来 间接完成。这在图1D和1E中示意性描述。如图所示,某些接口可按照可分 功能集来描述。因此,图1B和1C的接口功能可被分解来实现相同的结果, 就如在数学上可提供24或2乘2乘3乘2—样。从而,如图1D中所示,接口 "接口 1"提供的功能可被细分以将接口的通信转换成多个接口 "接口 1A"、 "接口 1B"、"接口 1C"等,而同时仍实现相同的结果。如图1E中所示, 接口Il提供的功能可被细分成多个接口Ila、 Ilb、 Ilc等,同时仍实现相同的 结果。类似地,从第一代码段接收信息的第二代码段的接口 12可被分解成多 个接口 I2a、 I2b、 I2c等。当分解时,随第一代码段所包括的接口的数目不必 与随第二代码段所包括的接口的数目匹配。在图1D和1E中任一情况中,接 口 "接口 1"和II的功能本质分别与图1B和1C的保持相同。接口的分解也 可遵循结合、交换和其它的数学性质,使得分解难以识别。例如,操作的顺序 可能是不重要的,因此接口实现的功能可在到达该接口之前由另一代码或接口 良好实现,或由系统的单独组件执行。而且,程序设计领域的普通技术人员可 以理解,存在进行实现相同的结果的不同功能调用的各种方式。5.置定义在某些情况中,有可能忽略、添加或重定义编程接口的特定方面(例如,参数)而仍实现预期的结果。这在图1F和1G中示出。例如,假定图1B的接 口"接口 l"包括函数调用Square(i叩ut, precision, output),即包括三个参数input (输入)、precision (精度)和output (输出),并从第一代码段向第二代码 段发出的一个调用。如果中间参数precision在给定情形中无关紧要,则如图 IF中所示,它可无妨被忽略甚至使用meaningless (无意义)(在该情况中) 的参数来替换。也可添加无关紧要的附加参数。在任一情况中,square (求平 方)的功能可被实现,只要在第二代码段对i叩ut求平方之后返回output。 precision对计算系统的某些下游或其它部分而言可能很好地作为有意义的参 数;然而, 一旦认识到precision对计算平方的狭窄用途而言不必要时,它可被 替换或忽略。例如,可传递诸如生日等无意义的值来代替传递有效的precision 值而不会对结果造成不利影响。类似地,如图1G中所示,接口 II被接口 II' 替换,它被重定义来忽略参数或向接口添加参数。接口 12可类似地被重定义 为接口 12',它被重定义来忽略不必要的参数或可在别处处理的参数。此处的重 点在于在某些情况中,编程接口可包括诸如参数等对某种用途而言不需要的各 方面,因此它们可被忽略或重定义或在别处为其它用途而处理。C. /^凝/f碍编写6'"/Z"e coW"gJ 将两个单独代码模块的某些或全部功能合并使得其间的"接口"改变形式 也是可行的。例如,图IB和1C的功能可分别被转换成图1H和II的功能。 在图1H中,图IB的之前的第一和第二代码段被合并成包含两者的模块。在 这种情况中,代码段仍可彼此通信,但接口可适应更适于单个模块的形式。因 此,例如正式的Call和Return语句可能不再必需,但根据接口 "接口 1"的类 似处理或响应仍有效。类似地,如图II中所示,来自图1C的接口 12的一部 分(或全部)可被内联地写入接口 II以形成接口 11"。如图所示,接口 12被划 分成I2a和I2b,接口部分I2a与接口I1内联地编写代码来形成接口 11"。对一 个具体的示例,考虑来自图1C的接口 II执行函数调用square(i叩ut, output), 该函数调用由接口I2接收,在由第二代码段处理随i叩ut传递的值(对其求平 方)之后,将求平方后的结果随output传回。在这样的情况中,第二代码段执行的处理(对i叩Ut求平方)可由第一代码段在不调用接口的情况下执行。D.厲蓐"hwceJ 从一个代码段到另一个代码段的通信可通过将通信分成多个离散通信来 间接完成。这在图1J和1K中示意性地示出。如图1J中所示,提供一个或多 个中间件(脱离接口,因为它们将功能和/或接口函数从原始接口脱离)来转换 对第一接口 "接口 1"的通信以使其遵循不同的接口,在该情况中为接口 "接 口 2A"、"接口 2B"和"接口 2C"。这可例如在存在被设计成与例如根据 接口 1协议的操作系统通信的应用程序库,而该操作系统然后被改为使用不同 的接口,在该情况中为接口2A、接口2B和接口2C时进行。重点在于第二代 码段使用的原始接口被改变了,使得它不再与第一代码段使用的接口兼容,因 此使用中介来使新老接口兼容。类似地,如图1K中所示,随脱离接口DI1可 引入第三代码段来接收来自接口 II的通信,并使用脱离接口 DI2将接口功能 发送给例如被重新设计成与DI2 —起工作但提供相同的功能结果的接口 12a和 12b。类似地,DI1和DI2可一起工作将图1C的接口 II和12的功能转换到新 操作系统,而同时提供相同或类似的功能结果。五.群又一可能的变型是动态重写代码以使用别的但实现相同的总体结果的东 西来替换接口功能。例如,可能存在其中将以中间语言(例如,MicrosoftIL、 Java ByteCode等)呈现的代码段提供给执行环境(诸如由.Net框架提供的、Java 运行时环境、或其它类似的运行时类型环境)中的运行时编译(Just-in-Time, JIT)编译器或解释器的系统。可编写JIT编译器以便于将来自第一代码段的通 信动态转换到第二代码段,即使其遵循如由第二代码段(原始或不同的第二代 码段)所需的不同接口。这在图1L和1M中示出。如图1L中可见,该方式类 似于上述脱离情形。它例如可在已安装的应用程序库被设计成与根据接口 1协 议的操作系统通信,但该操作系统然后被改为使用不同的接口时进行。JIT编 译器可被用来使来自已安装应用程序库的运行时通信遵循操作系统的新接口。 如图1M中所示,动态重写接口的这种方式也可被应用于动态分解以及更改接口。还注意到,也可按照各种方式、串行和/或并行地或使用其它介入代码来 组合上述经由替换实施例实现与接口相同或类似的结果的情形。因此,以上呈现的替换实施例不是互斥的,而是可被混合、匹配和组合来产生与图1B和1C 中所呈现的一般情形相同或等效的情形。还注意到,与大多数编程构造一样, 存在此处未描述的实现接口的相同或类似功能的其它类似方式,但它们仍由本 发明的精神和范围表示,即,注意到它们至少部分是由作为接口的值的基础的 接口所表示的功能及其允许的有利结果。便携式计算环境图2示出了根据本发明的各方面可使用的说明性图形输入板PC 201。图 la的系统中的任何或所有功能部件、子系统和功能可被包括在图2的计算机 中。图形输入板PC201包括大显示表面202,例如数字化平板显示器,优选的 是液晶显示器(LCD)屏幕,其上显示多个窗口 203。使用指示笔204,它是 选择器的一个示例,用户可在数字化显示表面202上选择、突出显示和/或书写。 合适的数字化显示表面202的示例包括电磁笔数字化仪,诸如Mutoh或Wacom 笔数字化仪。也可使用其它类型的笔数字化仪,例如光数字化仪。图形输入板 PC 201解释使用指示笔204作出的姿势以便操纵数据、输入文本、创建绘图和 /或执行常规计算机应用程序任务,诸如电子表、文字处理程序等。指示笔204可配备有一个或多个按钮或其它功能部件以增加其选择能力。 在一个实施例中,指示笔204可被实现为"铅笔"或"笔",其中一端构成书 写部分,另一端构成"擦除器"端,且当其在显示器上移动时,指示显示器中 要擦除的部分。可使用其它类型的输入设备,诸如鼠标、跟踪球等。此外,用 户自己的手指可以是指示笔204,并用于或指示触摸敏感或接近敏感显示器上 所显示的部分。因此,如此处所使用的,术语"用户输入设备"旨在具有宽泛 的定义,并涵盖诸如指示笔204的公知输入设备的各种变体。区域205示出允 许用户确定何处为指示笔204接触显示表面202的反馈区或接触区。因此,指 示笔204在本发明的各方面中可用作有效的选择器。在各个实施例中,系统提供墨水平台作为应用程序可用来捕捉、操纵和存储墨水的一组COM (组件对象模型)服务。 一个服务允许应用程序使用所公 开的墨水表示来读取和书写墨水。墨水平台也可包括标记语言,即包括如可扩展标记语言(XML)的语言。此外,系统可使用DCOM作为另一实现。可使 用又一实现,包括Microsoft公司的Win32程序设计模型和.Net程序设计模型。图3示出了手持计算设备("H/PC" ) 320的功能组件。如所描述地, H/PC 320包括处理器360、存储器362、显示器368和键盘332。存储器362 可包括易失性存储器(例如,RAM)和非易失性存储器(例如,ROM、 PCMCIA 卡等)。操作系统364可驻留在存储器362中,且可在处理器360上执行。在 一实施例中,H/PC 320包括操作系统,诸如Microsoft公司的Windows CE 操作系统或其它操作系统。一个或多个应用程序366可被加载到存储器362中并运行在操作系统364 上。应用程序的示例包括电子邮件程序、日程安排程序、PIM (个人信息管理) 程序、字处理程序、电子表程序、因特网浏览器程序、游戏和其它已知的应用 程序。H/PC320也可包括加载在存储器362中的通知管理器368,该管理器也 可在处理器360上执行。通知管理器368可处理来自应用程序366的通知请求。H/PC 320包括电源370,后者可被实现为一个或多个电池或诸如电容器或 燃料电池等某种其它电源。电源370还可包括覆盖或对内建电池重新充电的外 部电源,诸如AC适配器或供电支架。如所述地,H/PC320包括三种类型的外部通知机制LED 340、振动设备 372和音频生成器374。这些设备可直接耦合至电源370,从而在激活时,即使 H/PC处理器360和其它组件可能关闭以降低能耗,它们也可在由通知机制指 示的持续时间内保持开启。在一实施例中,LED 340可保持开启直到用户采取 动作。振动设备372和音频生成器374的当前版本使用了当今H/PC电池的过 多电力,因此它们可被配置成在系统其余部分关闭时或在激活之后某个有限持 续时间关闭。应用程序转向图4,描述了便携式计算机401的实施例。可如上所述配置的便携式 计算机包括其中设置显示器405的外壳402。如所述地,设置了包括软按键410 的排列408的软键盘406。应注意,也可设置其它排列408。如有需要,软键盘406的排列408可由应用程序通过上述的API控制。在 一实施例中,可使用参数来调整软按键410的排列408。参数可包括可被修改 以便调整排列408的默认值,由此不同的应用程序可按需调整软按键410的排 列408。在一实施例中,软键盘406可包括可由应用程序选择的一组排列408, 每一排列将软按键410放置在不同的预定位置中。在另一实施例中,排列408 可完全自定义,使得应用程序可按需放置各个软按键410。为了使人能将数据输入到计算设备中,每一软按键410可与诸如英语语言中使用的字符"a"的一符号相关联。在一实施例中,如图5中所示,软按键410可包括位于软按键410的中心附近的符号505。 一旦选中软按键410,这可通过按压触摸敏感显示器的表面上的选择器来实现,就可调整与该软按键相关联的显示。如可以理解地,如果软按键足够大,则可在软按键上显示一个以上的符号,且选择软按键使得用户然后能够选择期望选择所显示符号中的哪一 个。在一实施例中,如图6a中所示,对软按键410的选择使得附加符号505 显示。应当注意到,选择可以是按压触摸敏感显示器上处于与所需软按键对准 位置上的选择器。在一实施例中,可显示符号505a到505h。符号505也可继 续显示。符号505a-505h表示符号505连同不同的修饰键。因此,符号505a 与符号505和第一修饰键相关联。图6b示出替换实施例。符号505是"5"的表示。通过提供方向输入,可 选择另一数字,诸如1-4或6-9。如可以理解地,这样的实施例可允许单个软 按键提供除O以外的所有数字。提供O的一种可能的方法是要求用户移动,先 在一个方向上提供方向拖曳然后在相反方向上提供。因此,如可以理解地,如 有需要,复合移动可与附加的修饰键相关联。或者,与各个修饰键相关联的一 个或多个符号可在一段时间的延迟之后改变。因此,在一实施例中,如果维持 触摸而不提供方向输入,则符号505可在某个预定时间段之后从"5"变为"0"。在一实施例中,用户可选择软按键505,且各个符号可立即变为可见。在 一替换实施例中,各个符号仅当用户对软按键505作出延长接触时才可出现。 如可以理解的,使附加符号显示所需的与软按键505接触的时间段可通过如上 所述的API调整。在一实施例中,表示对符号505的最常见修改的某些符号可首先出现。因 此,可提供分层的响应。此外,在其它位置之前,可用符号填充某些位置。如可以理解地,众多变化是可能的,且在一实施例中,这些变化可通过API调整。 因此,例如但非限制,符号505a可首先出现,然后是符号505e等等。如可以 理解地,如果符号505缺少足够的可能修改,则可显示的符号505a-505e的数 目可相应地减少。而且,某些符号可被分配给用户定义事件和动作,且可由应 用程序或用户或两者来自定义。在一实施例中,可响应于应用确定显示在软按键上的第一符号和与最初显 示的符号相关联的符号。因此,某些最初显示的符号可具有较多数目的相关联 符号,而其它符号则可具有较少数目的相关联符号。在一实施例中,第一符号 可具有表示受到与之相关联的修饰键作用的第一符号的单个第二符号。在这样 的实施例中,时间长于编程时间段(可以是大于0的任何时间段)的接触可引 起第二符号显示。为了增加与这样的符号相关联的选项的数目,用户可使附加 符号与第一符号相关联。在一实施例中,用户可或者通过置换现有符号或者通 过选择目前不与第一符号相关联的位置以及方向输入来选择附加符号的位置。 在一替换实施例中,位置可由应用程序根据算法来自动选择。 一个这样的算法 可以是首先以顺时针方式填充如图6中示为符号505a、 505c、 505e和505g的 位置。如可以理解地,这样的算法中的变化是无数的,且可包括对用户动作的 统计分析,还可包括来自可用性研究的输入。为选择一符号,用户可按符号方向移动选择器,选择器可以是指示笔或手 指或适于提供方向输入的某种其它设备。如图6中所示,最初选择之后的8个 方向的移动可提供与第一符号505相关的八个不同的符号。然而,如果用户没 有提供方向输入(或如果方向输入低于预定阈值),则将选择第一符号505。 应注意到,尽管示出了8个不同的符号,但可显示附加的符号。然而,人们有 可能难以始终如一地提供八个以上方向上的精确移动,因此如果8个以上的修 饰键要与单个软按键相关联,则某些附加步骤可能是有用的。在一实施例中,附加符号可沿软按键505的边界外的周界显示,或可被分 隔开。为了帮助用户选择所需符号,符号方向上的移动可引起图形改变,诸如 潜在选中符号的颜色或梯度改变。用户然后可按不同方向移动以突出显示沿周界的不同符号。如可以理解地,相关联符号的数目、周界的大小、反馈的类型、 以及敏感度仅是可随软按键或随应用程序变化的参数中的某些,且这些参数可 由应用程序通过API控制。图7示出了根据本发明的一方面选择符号的方法。如所示地,在步骤710中,用户选择第一符号。在一实施例中,选择涉及用选择器在触摸敏感显示器 的表面上按压,与所需软按键对准的触摸显示适当的符号。接着在步骤715,与第一符号相关联的一组符号变为可见。在一实施例中, 该组包含一个符号。在一替换实施例中,该组包含8个符号。如可以理解地, 组中提供的符号的数目的变化可按需变化。在一实施例中,符号可逐渐变为可 见,或以某种其它方式出现,诸如从右边滑入、从中央滑出、或仅是突然出现。 如可以理解地,对于如何填充符号以及使符号可见的这种图形控件可变化,且 可通过API控制。逐渐淡入可能是有用的,因为它允许用户接收关于哪些符号 与最初选中符号相关联的暗示而不在屏幕上提供不期望的杂乱。在步骤720,用户提供方向输入以从与最初选中的符号相关联的一组符号 中选择一符号。方向输入可通过按所需符号的方向移动选择器来提供。在一实 施例中,方向输入可通过按与一组符号中的一符号对准的方向沿触摸敏感显示 器的表面滑动选择器来提供。这种滑动可被称为选择器的方向拖曳。如上所述, 方向输入可引起与特定方向输入相关联的符号变为突出显示。在一实施例中, 突出显示的符号可改变大小,可改变颜色或对比度,或可提供包括动画在内的 某种其它种类的图形反馈。在一实施例中,可在组中设置多个符号。在一个在 组中设置了多个符号的实施例中,用户提供的最初方向输入可选择组中的符号 之一。在组中具有多个符号的替换实施例中,用户可按不同方向自由移动,以 便突出显示或选择除基于所提供的初始方向输入而被选择的符号以外的符号。然后在步骤725,在突出显示了所需符号之后,用户敲定选择,并使突出 显示的符号被发送(例如,将所需符号输入到应用程序)。在一实施例中,对 符号选择的敲定可通过从显示器的表面移去选择器来实现。如可以理解地,诸 如输入设备的驱动等其它方法也可用于敲定对突出显示的符号的选择。在一实 施例中,对按钮的驱动可引起选择的敲定和当前突出显示的符号的发送。这样 的方法对处于其中用户正体验大量振动或因诸如医学状况的某种其它原因而不能稳定持有选择器的情况中的便携式设备可能是有用的。图8示出了选择符号的方法的另一实施例。如可以理解地,图7和图8中所示的方法之间的差异在于,略去了使与第一符号相关联的符号变为可见的 步骤。因此,在一实施例中,与第一符号相关联的符号将不会变为可见,但仍 可由用户提供的适当的选择和方向性输入选择。在一替换实施例中,对符号的 选择不会使相关联的符号变为可见,除非有延长时间段的延迟(例如,用户继 续在触摸敏感显示器上按压长达延长的时间段)。在另一替换实施例中,相关 联的符号不会变为可见,除非用户提供辅助输入。如可以理解地,相关联的符 号是否变为可见可由应用程序控制,且可被设置成由用户通过打开或关闭应用 程序中的这个功能部件来控制。图8中所示方法的优点在于,显示器不会因附加符号而杂乱,且取决于显示器的类型可能需要较少的电力,因为对显示并未作出任何改变。此外,这样 的方法从图形角度而言较不复杂。然而,如可以理解地,这样的方法的确要求 用户了解什么符号与第一符号相关联以及选择所需相关联符号所需的移动方 向。对其中众多二级符号与第一符号相关联的某些语言,不显示二级符号的配置可能稍微更加困难。从而,这样的配置最适于有能力的或专家用户。如可从以上讨论中理解地,当有多个符号与每一符号相关联时,就变得难 以向用户提供足够的信息而不会不合期望地使显示杂乱。根据本发明的各方面 可使用的一个潜在的解决方案是使特定的修饰键与特定方向相关联。例如,如果可能的方向与范围在0到359度(因为360度将与0相同)的度数中的一个 值相关联,则沿0度向量的移动可与shift键相关联。应注意到,0度的方向取 决于基准点,从而可按需调整。再参看图6, 0度可以与符号505a的定位对准。 因此在一实施例中,将选择器置于符号上,然后以O度方向移动(例如,向上) 将等同于按压"选择"软按键然后按压该符号。如可以理解地,按压符号然后 提供方向性拖曳更加高效,且可比首先选择shift软按键然后选择所需按键更迅 速地完成。尽管可能有许多变化,但要求用户瞄准至少45度的区域使得选择 之间存在足够的分隔是有帮助的。在一实施例中,向上(即0度)可与"shift"修饰键相关联,向下(即180 度)与"control (控制)"修饰键相关联,向右(即270度)与"alt"修饰键相关联,而向左(即90度)与"功能"修饰键相关联。如可以理解地,可提 供对此的变型,且与特定修饰键相关联的方向可由用户自定义。此外,对诸如 上标或下标等符号的某些修改也可与方向性拖曳相关联。应注意,某些软按键没有足够的变型来填充与显示在软按键上的符号相关联的所有方向。例如,可能没有任何东西与修饰键"alt"和英语符号"m"相 关联。尽管这是应用专用且可通过上述API调整,但在一实施例中,第一符号 正常地可仅有一个修饰键与之相关联,诸如但不限于shift修饰键。例如,在一 实施例中,旨在用于键入英语的键盘可使向上方向与字母表的26个字母的大 写版本相关联,且任何其它移动可被忽视。因此,大写"a"可通过选择"a" 软按键然后提供O度方向或向量的方向拖曳来输入。在一替换实施例中,大写 字母可以是正常类型的输入符号,且小写字母可通过选择大写字母然后沿180 度向量拖曳来输入。如上所述,不考虑与在软按键上描绘的符号相关联的符号的数目,允许用 户使附加符号与第一符号相关联可能是有用的。因此,在一实施例中,用户可 将符号分配给软按键和移动方向。在这样的实施例中,符号"§"可与对显示 符号"s"的软按键的选择和向下移动相关联。如有需要,用户甚至可导入附 加符号。因此,如可以理解地,用户的创造性是对可能变化的数目的主要限制 因素。在一实施例中,也可将一连串动作分配给特定的选择和移动方向。例如, 使得将来的符号变为粗体的宏可与选择符号"b"和向右移动相关联。为了关 闭粗体功能部件,可使用相同的操作,或用户可选择"b"并向左移动。因此, 如可以理解地,存在众多变化,其中部分或全部可根据应用自定义。应注意到, 更复杂的宏也可与对软按键的选择和方向输入相关联。应注意到,某些语言基于之前输入的内容限制输入。此外,某些语言形成 字母的组合。例如,对日语假名中的"n"的选择可向用户提供对na、 ni、皿、 ne和no的选择。因此,在输入或选择最初符号之后,人们将仅能够输入对应 于之前输入或选择的符号的上下文的某些符号。因此,在一实施例中,与特定 符号相关联的符号可根据书写文法规则和之前输入的符号来调整。图9示出这样的方法的实施例。首先,在步骤910,用户输入第一符号。符号的输入可通过使用可以是指示笔的选择器来触摸和释放在触摸屏幕显示器的软键盘上设置的软按键来提供。接着,在步骤915,用户选择显示第二符 号的软按键;第二符号与第一符号有关或旨在与第一符号一起使用。在一实施 例中,选择通过继续用选择器在该软按键上按压来完成。因为第二符号可与多 个潜在的变化相关联,所以在步骤920,在第二符号周围显示与第二符号中至 少某些潜在变化有关的一组符号。在一实施例中,以所需方式在第二符号周围 显示了与第一符号和第二符号相关联的所有符号。在步骤925,用户提供方向输入。当符号设置在第二符号周围时,离开最 初选择点的移动将一般朝向组中的符号之一。在一实施例中,方向输入可通过 在最初在显示第二符号的软按键上按压之后在触摸敏感显示器上朝向组中的 符号之一拖曳选择器来提供。在步骤930,用户停止选择和方向输入过程,且 对来自符号组中的所选符号的选择被敲定(例如,输入)。在字处理应用程序 中,输入可导致所选符号紧跟在之前输入的符号之后显示。在一实施例中,用 户可在按所需符号的方向拖曳选择器之后从触摸敏感显示器抬起选择器来敲 定选择。选择的敲定也可被称为输入或发送所选符号。在一实施例中,如上所 述,显示器可突出显示当前所选的符号,以便向用户提供关于如果用户在此刻 从显示器上抬起选择器则将输入哪一符号的反馈。应注意到,尽管应用程序可通过API控制所公开的功能部件,但如有需要, 操作系统也可控制功能部件。然而,如果功能部件可由应用程序通过API控制, 则潜在增加了灵活性程度。按照本发明的优选和示例性实施例描述了本发明。尽管用结构特征和/或 方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主 题不必限于上述特定特征或动作。相反,上述特定特征和动作是作为实现权利 要求书的示例形式而公开的。根据审阅本公开,本领域的普通技术人员可以想 到所附权利要求书范围和精神内的众多其它实施例、修改和变化。
权利要求
1.一种用触摸敏感屏幕上的软键盘向运行在计算机上的应用程序输入数据的方法,包括(a)接收所述触摸敏感屏幕上的选择器触摸和选择器方向性拖曳;(b)确定所述选择器触摸与描绘第一符号的第一软按键相关联且所述选择器方向性拖曳与第一修饰键相关联;(c)选择第二符号,所述第二符号与所述第一符号和第一修饰键相关联;以及(d)将所述第二符号发送给所述应用程序。
2. 如权利要求1所述的方法,其特征在于,四个修饰键与所述第一符号 相关联,且其中每一修饰键与从选自0度、卯度、180度和270度的一组方向 的一不同方向相关联,且所述选择器方向性拖曳指向O度方向。
3. 如权利要求l所述的方法,其特征在于,(b)中所述确定与所述选择 器触摸相关联的软按键包括(i) 确定所述选择器正在第一位置触摸所述触摸敏感显示器;以及(ii) 确定所述第一软按键与所述触摸敏感显示器上的所述第一位置 相关联。
4. 如权利要求l所述的方法,其特征在于,(a)中所述接收所述选择器 方向性拖曳包括(i) 确定所述选择器触摸所述触摸敏感屏幕的所述第一位置;(ii) 确定当所述选择器停止触摸所述触摸敏感屏幕时的结束位置;以及(iii) 确定与所述第一位置和所述结束位置之间的位置的改变相关联 的向量。
5. 如权利要求4所述的方法,其特征在于,(b)中所述确定所述第一修 饰键与所述选择器方向性拖曳相关联包括(i) 确定与所述第一软按键相关联的一组方向;(ii) 从所述一组方向中确定所述选择器方向性拖曳的所述向量最严格对准的第一方向;以及(iii)确定所述第一修饰键与所述第一方向相关联。
6. 如权利要求5所述的方法,其特征在于,所述接收还包括突出显示与所述第一修饰键相关联的所述第二符号。
7. 如权利要求l所述的方法,其特征在于,还包括(e)在接收所述触摸之后但在接收所述方向性拖曳之前,沿与所述第一修饰键相关联的向量可视地放置所述第二符号。
8. —种包括用于执行以下步骤的计算机可读指令的计算机可读介质(a) 接收与具有第一符号的第一软按键相关联的第一选择;(b) 确定与所述第一软按键相关联的一组符号;(C)接收与所述第一选择相关联的方向性拖曳;以及(d) 从所述一组符号中发送第二符号,所述第二符号与所述方向输入和 所述第一符号相关联。
9. 如权利要求8所述的计算机可读介质,其特征在于,还包括用于执行以下步骤的计算机可读指令(e) 接收选择器已触摸一触摸敏感屏幕长达预定时间段的通知;以及(f) 在所述第一符号周围显示所述一组符号。
10. 如权利要求9所述的计算机可读介质,其特征在于,还包括用于执行以下步骤的计算机可读指令(g) 在接收所述方向性拖曳之后,突出显示与所述方向输入相关联的所 述第二符号。
11. 如权利要求9所述的计算机可读介质,其特征在于,(f)中的显示包括(i) 确定用于在所述第一符号周围放置所述一组符号的周界;以及(ii) 提供将所述一组符号中的每一符号放置在所述周界上的适当位 置中的指令。
12. 如权利要求ll所述的计算机可读介质,其特征在于,(ii)中指令的提供包括(1)确定与所述第一符号相关联的所述一组符号;(2) 确定与关联于所述一组符号的至少一个修饰键分别相关联 的所述方向;以及(3) 提供将所述一组符号中的每一符号对应于相应的至少一个修饰键的所述方向放置的指令。
13. 如权利要求8所述的计算机可读介质,其特征在于,还包括用于执行 以下步骤的计算机可读指令(e)提供在所述第一符号周围显示所述一组符号的指令,所述组中的每 一符号被置于对应于与所述相应的符号相关联的修饰键的方向中。
14. 如权利要求8所述的计算机可读介质,其特征在于,(c)中的所述 接收包括(i) 确定选择器在第一位置驱动了触摸敏感屏幕;以及(ii) 确定所述选择器在所述触摸敏感屏幕上滑动到第二位置。
15. 在具有包括显示器的图形用户界面和用户界面选择设备的计算机系统 中, 一种使用所述显示器上的一组软按键输入数据的方法,所述方法包括以下 步骤(a) 接收对所述一组软按键中第一软按键的选择,所述第一软按键包括 第一符号;(b) 接收由所述用户界面选择设备提供的方向输入;以及(c) 输入与所述方向输入和所述第一符号相关联的第二符号。
16. 如权利要求15所述的方法,其特征在于,还包括以下步骤(d) 在接收所述方向输入之前显示与所述第一符号相关联的所述第二符号。
17. 如权利要求16所述的方法,其特征在于,步骤(d)中的所述显示包括(i) 在接收所述选择之后等待可感知的一段时间;以及(ii) 在所述显示器上的适当位置中生成与所述第一符号相关联的所 述第二符号的图形描绘。
18. 如权利要求17所述的方法,其特征在于,步骤(ii)包括(1)在接收对所述第一软按键的选择之后,确定所述第二符号与所述软按键相关联;(2) 确定与所述第二符号相关联的所述方向输入;以及(3) 在所述显示器上显示所述第二符号的所述图形描绘,所述 第二符号根据与所述第二符号相关联的所述方向输入放置。
19. 如权利要求15所述的方法,其特征在于,(b)中的所述接收包括(i) 注意选择器在触摸敏感屏幕上的最初位置;(ii) 注意所述选择器在所述触摸敏感屏幕上的最终位置;以及(iii) 确定所述选择器相对于预定基准移动的方向。
20. 如权利要求15所述的方法,其特征在于,还包括以下步骤(d)在显示器上按自定义排列提供所述一组软按键,其中应用程序可从 至少两个不同排列中的一个选择。
全文摘要
公开了一种使用软键盘的方法。提供了具有一个或多个软按键的软键盘,其中符号显示在一个或多个软按键上。可通过选择软按键然后提供方向输入来对显示在软按键之一上的符号之一应用修饰键。在一实施例中,不同的方向输入与不同的修饰键相关联,从而取决于方向输入不同的符号被输入。在一实施例中,用户可用选择器在触摸敏感屏幕上的触摸和方向性拖曳来提供方向输入。在一实施例中,在选中软按键之后使与多个修饰键相关联的多个符号可见,使得用户可在视觉上确定哪个方向输入将提供所需符号。
文档编号G06F3/048GK101331440SQ200680047191
公开日2008年12月24日 申请日期2006年11月17日 优先权日2005年12月15日
发明者K·V·科蒂帕利 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1