CN101331440B - 智能软键盘 - Google Patents
智能软键盘 Download PDFInfo
- Publication number
- CN101331440B CN101331440B CN2006800471910A CN200680047191A CN101331440B CN 101331440 B CN101331440 B CN 101331440B CN 2006800471910 A CN2006800471910 A CN 2006800471910A CN 200680047191 A CN200680047191 A CN 200680047191A CN 101331440 B CN101331440 B CN 101331440B
- Authority
- CN
- China
- Prior art keywords
- symbol
- soft
- selector switch
- key button
- touch
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 42
- 239000003607 modifier Substances 0.000 claims abstract description 32
- 230000008859 change Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- CDFKCKUONRRKJD-UHFFFAOYSA-N 1-(3-chlorophenoxy)-3-[2-[[3-(3-chlorophenoxy)-2-hydroxypropyl]amino]ethylamino]propan-2-ol;methanesulfonic acid Chemical compound CS(O)(=O)=O.CS(O)(=O)=O.C=1C=CC(Cl)=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC(Cl)=C1 CDFKCKUONRRKJD-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0236—Character input methods using selection techniques to select from displayed items
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
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)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
- Position Input By Displaying (AREA)
Abstract
公开了一种使用软键盘的方法。提供了具有一个或多个软按键的软键盘,其中符号显示在一个或多个软按键上。可通过选择软按键然后提供方向输入来对显示在软按键之一上的符号之一应用修饰键。在一实施例中,不同的方向输入与不同的修饰键相关联,从而取决于方向输入不同的符号被输入。在一实施例中,用户可用选择器在触摸敏感屏幕上的触摸和方向性拖曳来提供方向输入。在一实施例中,在选中软按键之后使与多个修饰键相关联的多个符号可见,使得用户可在视觉上确定哪个方向输入将提供所需符号。
Description
背景
便携式计算机,诸如图形输入板PC、膝上型计算机、PDA和袖珍PC有许多挑战性的设计问题。一方面,期望它们重量应较轻并易于携带且易于使用。另一方面,期望它们应具有长电池寿命、强有力且提供大显示器。这些潜在冲突的设计准则使得难以产生理想的便携式计算机。
为了最小化重量和空间,一种方法是在显示器上使用软键盘来进行数据输入。提供软键盘的一种方法是提供具有触摸敏感特征的显示器。显示器的一部分,它可以是从1到1/N的一分数,其中N为正整数,它可被配置来在类似于键盘的装置中的软按键上显示符号,诸如字母表中的字符。通过按压显示器上的适当位置,可选择符号。通过重复选择符号,个人可用已知方式输入数据。
然而,如可以理解的,便携式设备的显示器上可用的空间量有限。如果显示器的一部分要用于显示用户选择,则可用空间被进一步减小。此外,将符号大小减少到某一点以下是不切实际的,因为难以在视觉上区分符号的差异。从而,可能难以显示期望显示的所有符号。采用包括可能包括或可能不包括重音符的符号的某些语言,这个问题进一步恶化。
一个解决方案提供诸如shift(换档)键的修正健。通过选择适当的修正健,每一软按键可用的选择可改变。然而,这需要额外的选择。在常规硬键盘上使用修饰键一般不是问题,因为双手可同时使用。然而,通常使用同一手指或定点设备选择随后的软按键来操作软键盘。因此,要求用户首先选择修饰键然后选择所需键可能会不合期望地降低数据输入的速度。
概述
可在触摸敏感显示器上提供具有多个软按键的软键盘,且每一软按键可包括一符号。用户可通过按压触摸敏感屏幕上适当位置中的选择器来选择软按键之一。用户可通过以与修饰键对准的方向拖曳选择器来选择初始选中的符号的修饰版本。选择可通过在触摸敏感屏幕上抬起选择器来敲定(finalize)或输入。为了向用户提供反馈,与初始选中符号相关联的潜在符号可在初始选择周围显示,使得以所需符号的方向拖曳选择器将允许用户选择该符号。
提供该概述以简化形式介绍将在以下在详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于显示所要求保护的主题的范围。
附图简述
作为示例而非限制在附图中示出本发明,其中相同的参考标号指示相似的元素,附图中:
图1A示出了可在其中实现本发明的某些方面的通用数字计算环境的示意图。
图1B到1M示出支持本发明的一个或多个方面的通用计算机环境。
图2示出可在其中实现本发明的一个或多个方面的图形输入板计算环境的示意图。
图3示出了可在其中实现本发明的一个或多个方面的便携式计算机环境的示意图。
图4示出了可在其中实现本发明的一个或多个方面的显示器上的软键盘的实施例。
图5示出了可在其中实现本发明的一个或多个方面的显示符号的软按键。
图6a到6b示出了根据本发明的一个或多个方面的沿第一符号周界设置的一组符号的实施例。
图7到8示出了根据本发明的一个或多个方面的选择与第一符号相关联的符号的方法。
图9示出了根据本发明的一个或多个方面的输入符号的方法。
详细描述
使用软键盘具有一定的好处。首先,可提供API以允许其它应用程序控制和监控对屏幕上显示的使用。此外,可容易地定制软键盘的颜色和外观。此外,可对各种应用程序和硬件使用类似的软键盘,而仅对软按键的显示大小和用于符号的字体大小进行简单修改。根据以下公开,其它优点将变得显而易见。
通用计算环境
图1a示出了可在其上实现本发明的合适的计算***环境100的示例。计算***环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本发明可用众多其它通用或专用计算***环境或配置来操作。适合在本发明中使用的公知的计算***、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器***、基于微处理器的***、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述***或设备中的任一个的分布式计算机环境等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。本发明也可以在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1a,用于实现本发明的一个示例性***包括计算机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中元件之间传递信息的基本例程,它通常被存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1a示出了操作***134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1a示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境下使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口140等不可移动存储器接口连接至***总线121,磁盘驱动器151和光盘驱动器155通常由诸如接口150等的可移动存储器接口连接至***总线121。
以上描述和在图1a中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1a中,硬盘驱动器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、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1a中只示出存储器存储设备181。图1a中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的连网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至***总线121。在网络化环境中,相对于计算机110描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例,而非限制,图1a示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
编程环境
编程接口(或简称为接口)可被视为用于允许一个或多个代码段与一个或多个其它代码段所提供的功能通信或对其访问的任何机制、过程、协议。或者,编程接口可被视为***中能够通信上耦合至其它组件的一个或多个机制、方法、功能调用、模块等的一组件的一个或多个机制、方法、功能调用、模块、对象等。前述语句中的术语“代码段”旨在包括一条或多条指令或代码行,且包括例如代码模块、对象、子例程、函数等,而不考虑所应用的术语是什么或者代码段是否被单独编译、或者代码段是否作为源、中间或目标代码来提供、代码段是否在运行时***或进程中利用、或者它们是否位于相同或不同的机器上或跨多台机器分布、或者代码段所表示的功能是否全部使用软件实现、全部使用硬件实现或使用硬件和软件的组合。
概念上,编程接口一般可如图1B或图1C中所示地查看。图1B示出接口“接口1”为第一和第二代码段可经其通信的管道。图1C将接口示为包括接口对象I1和I2(它们可以是或可以不是第一和第二代码段的一部分),它们允许***的第一和第二代码段经由介质M来通信。在图1C的视图中,可将接口对象I1和I2认为是同一***的分开的接口,也可认为对象I1和I2加上介质M构成了接口。尽管图1B和1C示出双向流和位于流两侧的接口,但某些实现可使信息仅在一个方向上流动(或如下所述没有信息流),或仅在一侧有接口对象。作为示例,而非限制,诸如应用程序编程接口(API)、入口点、方法、函数、子例程、远程过程调用、以及组件对象模型(COM)接口等术语均被包含在编程接口的定义内。
这一编程接口的各方面可包括第一代码段将信息发送给第二代码段的方法(其中,“信息”按其最广义来使用,包括数据、命令、请求等);第二代码段接收信息的方法;以及信息的结构、序列、句法、组织、模式、定时和内容。在这一点上,底层传输介质本身对接口的操作而言是无关紧要的,无论该介质是有线还是无线的,或者是其组合,只要信息按照接口所定义的方式传输。在某些情况中,信息可以不在常规意义上的一个或两个方向上传递,因为信息传送或者是经由另一介质(例如,信息被置于与代码段之间的信息流分开的缓冲区、文件等中)或不存在,如当一个代码段仅访问第二代码段所执行的功能时。例如取决于代码段是否是松耦合或紧耦合配置的***中的一部分,任何或所有这些方面在给定情况中可能是重要的,因此该列表应被认为是说明性而非限定性的。
编程接口的概念为本领域的技术人员所知,并可从本发明的前述详细描述中清楚。然而,存在实现编程接口的其它方式,且除非明确排除,否则这些其它方式旨在包括在本说明书所附的权利要求书中。这些其它方式可能看似比图1B和1C的简单视图更高级或更复杂,但是它们仍执行完成相同的总体结果的类似功能。现在将简要描述编程接口的一些说明性替换实现。
A.分解(factoring)
从一个代码段到另一个代码段的通信可通过将通信分成多个离散通信来间接完成。这在图1D和1E中示意性描述。如图所示,某些接口可按照可分功能集来描述。因此,图1B和1C的接口功能可被分解来实现相同的结果,就如在数学上可提供24或2乘2乘3乘2一样。从而,如图1D中所示,接口“接口1”提供的功能可被细分以将接口的通信转换成多个接口“接口1A”、“接口1B”、“接口1C”等,而同时仍实现相同的结果。如图1E中所示,接口I1提供的功能可被细分成多个接口I1a、I1b、I1c等,同时仍实现相同的结果。类似地,从第一代码段接收信息的第二代码段的接口I2可被分解成多个接口I2a、I2b、I2c等。当分解时,随第一代码段所包括的接口的数目不必与随第二代码段所包括的接口的数目匹配。在图1D和1E中任一情况中,接口“接口1”和I1的功能本质分别与图1B和1C的保持相同。接口的分解也可遵循结合、交换和其它的数学性质,使得分解难以识别。例如,操作的顺序可能是不重要的,因此接口实现的功能可在到达该接口之前由另一代码或接口良好实现,或由***的单独组件执行。而且,程序设计领域的普通技术人员可以理解,存在进行实现相同的结果的不同功能调用的各种方式。
B.重定义
在某些情况中,有可能忽略、添加或重定义编程接口的特定方面(例如,参数)而仍实现预期的结果。这在图1F和1G中示出。例如,假定图1B的接口“接口1”包括函数调用Square(input,precision,output),即包括三个参数input(输入)、precision(精度)和output(输出),并从第一代码段向第二代码段发出的一个调用。如果中间参数precision在给定情形中无关紧要,则如图1F中所示,它可无妨被忽略甚至使用meaningless(无意义)(在该情况中)的参数来替换。也可添加无关紧要的附加参数。在任一情况中,square(求平方)的功能可被实现,只要在第二代码段对input求平方之后返回output。precision对计算***的某些下游或其它部分而言可能很好地作为有意义的参数;然而,一旦认识到precision对计算平方的狭窄用途而言不必要时,它可被替换或忽略。例如,可传递诸如生日等无意义的值来代替传递有效的precision值而不会对结果造成不利影响。类似地,如图1G中所示,接口I1被接口I1′替换,它被重定义来忽略参数或向接口添加参数。接口I2可类似地被重定义为接口I2′,它被重定义来忽略不必要的参数或可在别处处理的参数。此处的重点在于在某些情况中,编程接口可包括诸如参数等对某种用途而言不需要的各方面,因此它们可被忽略或重定义或在别处为其它用途而处理。
C.内联代码编写(inline coding)
将两个单独代码模块的某些或全部功能合并使得其间的“接口”改变形式也是可行的。例如,图1B和1C的功能可分别被转换成图1H和1I的功能。在图1H中,图1B的之前的第一和第二代码段被合并成包含两者的模块。在这种情况中,代码段仍可彼此通信,但接口可适应更适于单个模块的形式。因此,例如正式的Call和Return语句可能不再必需,但根据接口“接口1”的类似处理或响应仍有效。类似地,如图1I中所示,来自图1C的接口I2的一部分(或全部)可被内联地写入接口I1以形成接口I1″。如图所示,接口I2被划分成I2a和I2b,接口部分I2a与接口I1内联地编写代码来形成接口I1″。对一个具体的示例,考虑来自图1C的接口I1执行函数调用square(input,output),该函数调用由接口I2接收,在由第二代码段处理随input传递的值(对其求平方)之后,将求平方后的结果随output传回。在这样的情况中,第二代码段执行的处理(对input求平方)可由第一代码段在不调用接口的情况下执行。
D.脱离(divorce)
从一个代码段到另一个代码段的通信可通过将通信分成多个离散通信来间接完成。这在图1J和1K中示意性地示出。如图1J中所示,提供一个或多个中间件(脱离接口,因为它们将功能和/或接口函数从原始接口脱离)来转换对第一接口“接口1”的通信以使其遵循不同的接口,在该情况中为接口“接口2A”、“接口2B”和“接口2C”。这可例如在存在被设计成与例如根据接口1协议的操作***通信的应用程序库,而该操作***然后被改为使用不同的接口,在该情况中为接口2A、接口2B和接口2C时进行。重点在于第二代码段使用的原始接口被改变了,使得它不再与第一代码段使用的接口兼容,因此使用中介来使新老接口兼容。类似地,如图1K中所示,随脱离接口DI1可引入第三代码段来接收来自接口I1的通信,并使用脱离接口DI2将接口功能发送给例如被重新设计成与DI2一起工作但提供相同的功能结果的接口I2a和I2b。类似地,DI1和DI2可一起工作将图1C的接口I1和I2的功能转换到新操作***,而同时提供相同或类似的功能结果。
E.重写
又一可能的变型是动态重写代码以使用别的但实现相同的总体结果的东西来替换接口功能。例如,可能存在其中将以中间语言(例如,Microsoft IL、Java ByteCode等)呈现的代码段提供给执行环境(诸如由.Net框架提供的、Java运行时环境、或其它类似的运行时类型环境)中的运行时编译(Just-in-Time,JIT)编译器或解释器的***。可编写JIT编译器以便于将来自第一代码段的通信动态转换到第二代码段,即使其遵循如由第二代码段(原始或不同的第二代码段)所需的不同接口。这在图1L和1M中示出。如图1L中可见,该方式类似于上述脱离情形。它例如可在已安装的应用程序库被设计成与根据接口1协议的操作***通信,但该操作***然后被改为使用不同的接口时进行。JIT编译器可被用来使来自已安装应用程序库的运行时通信遵循操作***的新接口。如图1M中所示,动态重写接口的这种方式也可被应用于动态分解以及更改接口。
还注意到,也可按照各种方式、串行和/或并行地或使用其它介入代码来组合上述经由替换实施例实现与接口相同或类似的结果的情形。因此,以上呈现的替换实施例不是互斥的,而是可被混合、匹配和组合来产生与图1B和1C中所呈现的一般情形相同或等效的情形。还注意到,与大多数编程构造一样,存在此处未描述的实现接口的相同或类似功能的其它类似方式,但它们仍由本发明的精神和范围表示,即,注意到它们至少部分是由作为接口的值的基础的接口所表示的功能及其允许的有利结果。
便携式计算环境
图2示出了根据本发明的各方面可使用的说明性图形输入板PC 201。图1a的***中的任何或所有功能部件、子***和功能可被包括在图2的计算机中。图形输入板PC 201包括大显示表面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公司的WindowsCE操作***或其它操作***。
一个或多个应用程序366可被加载到存储器362中并运行在操作***364上。应用程序的示例包括电子邮件程序、日程安排程序、PIM(个人信息管理)程序、字处理程序、电子表程序、因特网浏览器程序、游戏和其它已知的应用程序。H/PC 320也可包括加载在存储器362中的通知管理器368,该管理器也可在处理器360上执行。通知管理器368可处理来自应用程序366的通知请求。
H/PC 320包括电源370,后者可被实现为一个或多个电池或诸如电容器或燃料电池等某种其它电源。电源370还可包括覆盖或对内建电池重新充电的外部电源,诸如AC适配器或供电支架。
如所述地,H/PC 320包括三种类型的外部通知机制: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。如可以理解地,这样的实施例可允许单个软按键提供除0以外的所有数字。提供0的一种可能的方法是要求用户移动,先在一个方向上提供方向拖曳然后在相反方向上提供。因此,如可以理解地,如有需要,复合移动可与附加的修饰键相关联。或者,与各个修饰键相关联的一个或多个符号可在一段时间的延迟之后改变。因此,在一实施例中,如果维持触摸而不提供方向输入,则符号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的定位对准。因此在一实施例中,将选择器置于符号上,然后以0度方向移动(例如,向上)将等同于按压“选择”软按键然后按压该符号。如可以理解地,按压符号然后提供方向性拖曳更加高效,且可比首先选择shift软按键然后选择所需按键更迅速地完成。尽管可能有许多变化,但要求用户瞄准至少45度的区域使得选择之间存在足够的分隔是有帮助的。
在一实施例中,向上(即0度)可与“shift”修饰键相关联,向下(即180度)与“control(控制)”修饰键相关联,向右(即270度)与“alt”修饰键相关联,而向左(即90度)与“功能”修饰键相关联。如可以理解地,可提供对此的变型,且与特定修饰键相关联的方向可由用户自定义。此外,对诸如上标或下标等符号的某些修改也可与方向性拖曳相关联。
应注意,某些软按键没有足够的变型来填充与显示在软按键上的符号相关联的所有方向。例如,可能没有任何东西与修饰键“alt”和英语符号“m”相关联。尽管这是应用专用且可通过上述API调整,但在一实施例中,第一符号正常地可仅有一个修饰键与之相关联,诸如但不限于shift修饰键。例如,在一实施例中,旨在用于键入英语的键盘可使向上方向与字母表的26个字母的大写版本相关联,且任何其它移动可被忽视。因此,大写“a”可通过选择“a”软按键然后提供0度方向或向量的方向拖曳来输入。在一替换实施例中,大写字母可以是正常类型的输入符号,且小写字母可通过选择大写字母然后沿180度向量拖曳来输入。
如上所述,不考虑与在软按键上描绘的符号相关联的符号的数目,允许用户使附加符号与第一符号相关联可能是有用的。因此,在一实施例中,用户可将符号分配给软按键和移动方向。在这样的实施例中,符号“§”可与对显示符号“s”的软按键的选择和向下移动相关联。如有需要,用户甚至可导入附加符号。因此,如可以理解地,用户的创造性是对可能变化的数目的主要限制因素。
在一实施例中,也可将一连串动作分配给特定的选择和移动方向。例如,使得将来的符号变为粗体的宏可与选择符号“b”和向右移动相关联。为了关闭粗体功能部件,可使用相同的操作,或用户可选择“b”并向左移动。因此,如可以理解地,存在众多变化,其中部分或全部可根据应用自定义。应注意到,更复杂的宏也可与对软按键的选择和方向输入相关联。
应注意到,某些语言基于之前输入的内容限制输入。此外,某些语言形成字母的组合。例如,对日语假名中的“n”的选择可向用户提供对na、ni、nu、ne和no的选择。因此,在输入或选择最初符号之后,人们将仅能够输入对应于之前输入或选择的符号的上下文的某些符号。因此,在一实施例中,与特定符号相关联的符号可根据书写文法规则和之前输入的符号来调整。
图9示出这样的方法的实施例。首先,在步骤910,用户输入第一符号。符号的输入可通过使用可以是指示笔的选择器来触摸和释放在触摸屏幕显示器的软键盘上设置的软按键来提供。接着,在步骤915,用户选择显示第二符号的软按键;第二符号与第一符号有关或旨在与第一符号一起使用。在一实施例中,选择通过继续用选择器在该软按键上按压来完成。因为第二符号可与多个潜在的变化相关联,所以在步骤920,在第二符号周围显示与第二符号中至少某些潜在变化有关的一组符号。在一实施例中,以所需方式在第二符号周围显示了与第一符号和第二符号相关联的所有符号。
在步骤925,用户提供方向输入。当符号设置在第二符号周围时,离开最初选择点的移动将一般朝向组中的符号之一。在一实施例中,方向输入可通过在最初在显示第二符号的软按键上按压之后在触摸敏感显示器上朝向组中的符号之一拖曳选择器来提供。在步骤930,用户停止选择和方向输入过程,且对来自符号组中的所选符号的选择被敲定(例如,输入)。在字处理应用程序中,输入可导致所选符号紧跟在之前输入的符号之后显示。在一实施例中,用户可在按所需符号的方向拖曳选择器之后从触摸敏感显示器抬起选择器来敲定选择。选择的敲定也可被称为输入或发送所选符号。在一实施例中,如上所述,显示器可突出显示当前所选的符号,以便向用户提供关于如果用户在此刻从显示器上抬起选择器则将输入哪一符号的反馈。
应注意到,尽管应用程序可通过API控制所公开的功能部件,但如有需要,操作***也可控制功能部件。然而,如果功能部件可由应用程序通过API控制,则潜在增加了灵活性程度。
按照本发明的优选和示例性实施例描述了本发明。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,上述特定特征和动作是作为实现权利要求书的示例形式而公开的。根据审阅本公开,本领域的普通技术人员可以想到所附权利要求书范围和精神内的众多其它实施例、修改和变化。
Claims (20)
1.一种用触摸敏感屏幕上的软键盘向运行在计算机上的应用程序输入数据的方法,所述方法包括:
接收所述触摸敏感屏幕上的选择器触摸;
显示与第一符号相关联的第二符号,所述显示包括,在接收所述选择器触摸之后,立即在所述触摸敏感屏幕的适当位置中生成与所述第一符号相关联的所述第二符号的图形描绘;
接收所述触摸敏感屏幕上的选择器方向性拖曳;
确定所述选择器触摸与描绘第一符号的第一软按键相关联且所述选择器方向性拖曳与第一修饰键相关联;
选择第二符号,所述第二符号与所述第一符号和第一修饰键相关联;以及
将所述第二符号发送给所述应用程序。
2.如权利要求1所述的方法,其特征在于,四个修饰键与所述第一符号相关联,且其中每一修饰键与从选自0度、90度、180度和270度的一组方向的一不同方向相关联,且所述选择器方向性拖曳指向0度方向。
3.如权利要求1所述的方法,其特征在于,所述确定与所述选择器触摸相关联的软按键包括:
确定所述选择器正在第一位置触摸所述触摸敏感显示器;以及
确定所述第一软按键与所述触摸敏感显示器上的所述第一位置相关联。
4.如权利要求1所述的方法,其特征在于,所述接收所述选择器方向性拖曳包括:
确定所述选择器触摸所述触摸敏感屏幕的第一位置;
确定当所述选择器停止触摸所述触摸敏感屏幕时的结束位置;以及
确定与所述第一位置和所述结束位置之间的位置的改变相关联的向量。
5.如权利要求4所述的方法,其特征在于,所述确定所述第一修饰键与所述选择器方向性拖曳相关联包括:
确定与所述第一软按键相关联的一组方向;
从所述一组方向中确定所述选择器方向性拖曳的所述向量最严格对准的第一方向;以及
确定所述第一修饰键与所述第一方向相关联。
6.如权利要求5所述的方法,其特征在于,所述接收选择器方向性拖曳还包括:
突出显示与所述第一修饰键相关联的所述第二符号。
7.如权利要求1所述的方法,其特征在于,还包括:
在接收所述选择器触摸之后但在接收所述选择器方向性拖曳之前,沿与所述第一修饰键相关联的向量可视地放置所述第二符号。
8.如权利要求1所述的方法,其特征在于,还包括:
在接收所述选择器触摸之后,立即在适当位置中生成与所述第一符号相关联的一个或多个附加符号的每一个的图形描绘;
确定所述选择器触摸与描绘第一符号的第一软按键相关联,且选择器方向性拖曳与相关于所述一个或多个附加符号之一的修饰键相关联;
选择所述一个或多个附加符号之一;以及
将所述一个或多个附加符号之一发送给所述应用程序。
9.一种用触摸敏感屏幕上的软键盘向运行在计算机上的应用程序输入数据的***,包括:
用于接收与具有第一符号的第一软按键相关联的第一选择的装置;
用于确定与所述第一软按键相关联的一组符号的装置;
用于接收选择器触摸一触摸敏感屏幕长达预定时间段的通知的装置;
在所述预定时间段之后,用于在所述第一符号周围显示所述一组符号的装置;
用于接收与所述第一选择相关联的方向性拖曳的装置;以及
用于从所述一组符号中发送第二符号的装置,所述第二符号与所述方向性拖曳和所述第一符号相关联。
10.如权利要求9所述的***,其特征在于,还包括:
用于突出显示与所述方向性拖曳输入相关联的所述第二符号的装置。
11.如权利要求9所述的***,其特征在于,所述用于在所述第一符号周围显示所述一组符号的装置包括:
用于确定用于在所述第一符号周围放置所述一组符号的周界的装置;以及
用于提供将所述一组符号中的每一符号放置在所述周界上的适当位置中的指令的装置。
12.如权利要求11所述的***,其特征在于,所述用于提供将所述一组符号中的每一符号放置在所述周界上的适当位置中的指令的装置包括:
用于确定与所述第一符号相关联的所述一组符号的装置;
用于确定与关联于所述一组符号的至少一个修饰键分别相关联的所述方向的装置;以及
用于提供将所述一组符号中的每一符号对应于相应的至少一个修饰键的所述方向放置的指令的装置。
13.如权利要求9所述的***,其特征在于,还包括用于提供在所述第一符号周围显示所述一组符号的指令的装置,所述组中的每一符号被置于对应于与所述相应的符号相关联的修饰键的方向中。
14.如权利要求9所述的***,其特征在于,所述用于接收与所述第一选择相关联的方向性拖曳的装置包括:
用于确定选择器在第一位置驱动了触摸敏感屏幕的装置;以及
用于确定所述选择器在所述触摸敏感屏幕上滑动到第二位置的装置。
15.在具有包括显示器的图形用户界面和用户界面选择设备的计算机***中,一种使用所述显示器上的一组软按键输入数据的方法,所述方法包括:
接收对所述一组软按键中第一软按键的选择,所述第一软按键包括第一符号;
在接收所述选择之后等待预定的一段时间;
在所述预定的一段时间逝去后,在所述显示器上的适当位置中生成与所述第一符号相关联的第二符号的图形描绘;
接收由所述用户界面选择设备提供的方向输入;以及
输入与所述方向输入和所述第一符号相关联的第二符号。
16.如权利要求15所述的方法,其特征在于,所述生成与所述第一符号相关联的所述第二符号的图形描绘包括:
在接收对所述第一软按键的选择之后,确定所述第二符号与所述软按键相关联;
确定与所述第二符号相关联的方向输入;以及
在所述显示器上显示所述第二符号的所述图形描绘,所述第二符号根据与所述第二符号相关联的所述方向输入放置。
17.如权利要求15所述的方法,其特征在于,所述接收由所述用户界面选择设备提供的方向输入包括:
注意所述用户界面选择设备在触摸敏感屏幕上的最初位置;
注意所述用户界面选择设备在所述触摸敏感屏幕上的最终位置;以及
确定所述用户界面选择设备相对于预定基准移动的方向。
18.如权利要求15所述的方法,其特征在于,还包括:
在显示器上按自定义排列提供所述一组软按键,其中应用程序从至少两个不同排列中的一个选择。
19.如权利要求15所述的方法,其特征在于,还包括:
在显示器上按自定义排列提供所述一组软按键,其中应用程序选择所述排列以及所述一组软按键。
20.如权利要求15所述的方法,其特征在于,还包括:
在接收对所述第一软按键的选择之后,确定一个或多个附加符号与所述软按键相关联;
确定与所述一个或多个附加符号的每一个相关联的方向输入;以及
在所述显示器上显示所述一个或多个附加符号的所述图形描绘,所述一个或多个附加符号根据与所述一个或多个附加符号相关联的所述方向输入放置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/304,240 | 2005-12-15 | ||
US11/304,240 US7554529B2 (en) | 2005-12-15 | 2005-12-15 | Smart soft keyboard |
PCT/US2006/044741 WO2007070223A1 (en) | 2005-12-15 | 2006-11-17 | Smart soft keyboard |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101331440A CN101331440A (zh) | 2008-12-24 |
CN101331440B true CN101331440B (zh) | 2011-10-12 |
Family
ID=38163250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800471910A Active CN101331440B (zh) | 2005-12-15 | 2006-11-17 | 智能软键盘 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7554529B2 (zh) |
EP (1) | EP1960860A4 (zh) |
JP (4) | JP5097121B2 (zh) |
KR (2) | KR101319746B1 (zh) |
CN (1) | CN101331440B (zh) |
BR (1) | BRPI0619245A2 (zh) |
RU (1) | RU2419833C2 (zh) |
WO (1) | WO2007070223A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520804A (zh) * | 2011-12-08 | 2012-06-27 | 周志农 | 触摸屏软键盘及输入方法 |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7614008B2 (en) | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
US8200475B2 (en) | 2004-02-13 | 2012-06-12 | Microsoft Corporation | Phonetic-based text input method |
US7752569B2 (en) * | 2005-09-09 | 2010-07-06 | Microsoft Corporation | Software key labeling on software keyboards |
US20070171196A1 (en) * | 2006-01-23 | 2007-07-26 | Thomas Robert Pfingsten | Controller user interface and method |
US7801722B2 (en) * | 2006-05-23 | 2010-09-21 | Microsoft Corporation | Techniques for customization of phonetic schemes |
KR100782927B1 (ko) * | 2006-06-27 | 2007-12-07 | 삼성전자주식회사 | 휴대용 단말기에서 문자 입력 장치 및 방법 |
US20100289750A1 (en) * | 2006-08-04 | 2010-11-18 | Hyung Gi Kim | Touch Type Character Input Device |
US7619584B2 (en) * | 2006-09-08 | 2009-11-17 | Generation One, Inc. | Messaging including active response feature |
US7978179B2 (en) * | 2006-12-06 | 2011-07-12 | International Business Machines Corporation | System and method for configuring a computer keyboard |
KR101060222B1 (ko) | 2007-01-30 | 2011-08-29 | 삼성전자주식회사 | 단말의 문자 입력 장치 및 방법 |
US9141283B2 (en) | 2007-01-30 | 2015-09-22 | Samsung Electronics Co., Ltd | Apparatus and method for inputting characters on touch screen of a terminal |
KR100933398B1 (ko) | 2007-06-11 | 2009-12-22 | 삼성전자주식회사 | 터치 스크린을 구비한 단말기에서 입력 모드를 자동으로전환하는 문자 입력 장치 및 방법 |
US8018441B2 (en) | 2007-06-11 | 2011-09-13 | Samsung Electronics Co., Ltd. | Character input apparatus and method for automatically switching input mode in terminal having touch screen |
US8661340B2 (en) | 2007-09-13 | 2014-02-25 | Apple Inc. | Input methods for device having multi-language environment |
US9110590B2 (en) | 2007-09-19 | 2015-08-18 | Typesoft Technologies, Inc. | Dynamically located onscreen keyboard |
US9454270B2 (en) | 2008-09-19 | 2016-09-27 | Apple Inc. | Systems and methods for detecting a press on a touch-sensitive surface |
US10203873B2 (en) | 2007-09-19 | 2019-02-12 | Apple Inc. | Systems and methods for adaptively presenting a keyboard on a touch-sensitive display |
US20120075193A1 (en) * | 2007-09-19 | 2012-03-29 | Cleankeys Inc. | Multiplexed numeric keypad and touchpad |
US9489086B1 (en) | 2013-04-29 | 2016-11-08 | Apple Inc. | Finger hover detection for improved typing |
US10126942B2 (en) * | 2007-09-19 | 2018-11-13 | Apple Inc. | Systems and methods for detecting a press on a touch-sensitive surface |
JP5207699B2 (ja) * | 2007-09-28 | 2013-06-12 | 京セラ株式会社 | 文字入力装置、文字入力方法および文字入力プログラム |
KR20090042342A (ko) * | 2007-10-26 | 2009-04-30 | 주식회사 메디슨 | 소프트 버튼을 포함하는 장치 및 그의 속성 변경 방법 |
KR20090047257A (ko) * | 2007-11-07 | 2009-05-12 | 강윤기 | 소프트웨어 키보드를 이용한 문자입력방법 |
KR100951802B1 (ko) * | 2007-12-18 | 2010-04-08 | 엔에이치엔(주) | 가이드 팝업을 표시하는 터치스크린 한글 입력 장치 |
TWI416399B (zh) * | 2007-12-28 | 2013-11-21 | Htc Corp | 手持式電子裝置及其操作方法 |
TWI393029B (zh) * | 2007-12-31 | 2013-04-11 | Htc Corp | 電子裝置以及於電子裝置上執行指令之方法 |
JP2009169456A (ja) * | 2008-01-10 | 2009-07-30 | Nec Corp | 電子機器、該電子機器に用いられる情報入力方法及び情報入力制御プログラム、並びに携帯端末装置 |
KR101102725B1 (ko) * | 2008-02-20 | 2012-01-05 | 삼성전자주식회사 | 문자 입력 장치 및 방법 |
US8289283B2 (en) * | 2008-03-04 | 2012-10-16 | Apple Inc. | Language input interface on a device |
US8908973B2 (en) | 2008-03-04 | 2014-12-09 | Apple Inc. | Handwritten character recognition interface |
KR100900087B1 (ko) * | 2008-03-31 | 2009-06-01 | 박병진 | 터치스크린을 이용한 버튼 확장형 문자 입력 방법 |
US8949743B2 (en) * | 2008-04-22 | 2015-02-03 | Apple Inc. | Language input interface on a device |
DE102008022395A1 (de) | 2008-05-06 | 2009-11-26 | Vodafone Holding Gmbh | Eingabegerät mit berührungsempfindlicher Anzeige |
US9355090B2 (en) | 2008-05-30 | 2016-05-31 | Apple Inc. | Identification of candidate characters for text input |
US8570279B2 (en) | 2008-06-27 | 2013-10-29 | Apple Inc. | Touch screen device, method, and graphical user interface for inserting a character from an alternate keyboard |
US8769427B2 (en) * | 2008-09-19 | 2014-07-01 | Google Inc. | Quick gesture input |
US9069390B2 (en) | 2008-09-19 | 2015-06-30 | Typesoft Technologies, Inc. | Systems and methods for monitoring surface sanitation |
US8750938B2 (en) | 2008-09-29 | 2014-06-10 | Microsoft Corporation | Glow touch feedback for virtual input devices |
KR100958309B1 (ko) * | 2008-10-17 | 2010-05-19 | 주식회사 네오모빌 | 문자입력장치 |
CN101727270B (zh) * | 2008-10-21 | 2012-10-10 | 联想(北京)有限公司 | 构建软键盘的方法、输入字符信息的装置及其方法 |
US20100177048A1 (en) * | 2009-01-13 | 2010-07-15 | Microsoft Corporation | Easy-to-use soft keyboard that does not require a stylus |
US8564541B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Zhuyin input interface on a device |
KR101136327B1 (ko) * | 2009-05-01 | 2012-04-20 | 크루셜텍 (주) | 휴대 단말기의 터치 및 커서 제어방법 및 이를 적용한 휴대 단말기 |
WO2011025200A2 (ko) * | 2009-08-23 | 2011-03-03 | (주)티피다시아이 | 확장키를 이용한 정보입력시스템 및 정보입력방법 |
US8806362B2 (en) * | 2010-01-06 | 2014-08-12 | Apple Inc. | Device, method, and graphical user interface for accessing alternate keys |
US20110302518A1 (en) | 2010-06-07 | 2011-12-08 | Google Inc. | Selecting alternate keyboard characters via motion input |
JP5849095B2 (ja) * | 2010-06-28 | 2016-01-27 | クリーンキーズ・インコーポレイテッド | タッチ及び振動センシティブの平らな表面に対するキー押下イベントを検出し位置を特定する方法 |
JP5858641B2 (ja) * | 2011-05-10 | 2016-02-10 | キヤノン株式会社 | 情報処理装置、情報処理装置と外部装置とを含むシステム、システムの制御方法、及びプログラム |
US20130111391A1 (en) * | 2011-11-01 | 2013-05-02 | Microsoft Corporation | Adjusting content to avoid occlusion by a virtual input panel |
KR101905038B1 (ko) * | 2011-11-16 | 2018-10-08 | 삼성전자주식회사 | 다중 어플리케이션 환경 하에서 터치스크린을 가지는 장치 및 그 제어 방법 |
US9104260B2 (en) | 2012-04-10 | 2015-08-11 | Typesoft Technologies, Inc. | Systems and methods for detecting a press on a touch-sensitive surface |
JP5888423B2 (ja) * | 2012-09-21 | 2016-03-22 | 富士通株式会社 | 文字入力装置、文字入力方法、文字入力制御プログラム |
CN103294222B (zh) * | 2013-05-22 | 2017-06-16 | 小米科技有限责任公司 | 一种输入方法和*** |
US10289302B1 (en) | 2013-09-09 | 2019-05-14 | Apple Inc. | Virtual keyboard animation |
RU2678044C2 (ru) * | 2013-10-08 | 2019-01-23 | Виктор Николаевич Зимин | Клавиатура, схема XSOIV, с систематизацией текстовых клавиш, повышающей характеристики компьютера |
US10108335B2 (en) * | 2015-06-05 | 2018-10-23 | Apple Inc. | Touch-based interactive learning environment |
WO2017193105A1 (en) * | 2016-05-06 | 2017-11-09 | Marksteiner Günter | Natural language application program for entering, storing, retrieving, validating and processing structured string data |
JP6525082B2 (ja) * | 2018-03-20 | 2019-06-05 | 日本電気株式会社 | 電子機器、該電子機器に用いられる情報入力方法及び情報入力制御プログラム、並びに携帯端末装置 |
KR102030582B1 (ko) | 2018-04-12 | 2019-10-10 | 주식회사 한글과컴퓨터 | 스프레드시트 편집 방법 및 이를 이용하는 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717425A (en) * | 1992-01-17 | 1998-02-10 | Ricoh Company, Ltd. | Input apparatus and method having improved operation behavior for input |
US5812117A (en) * | 1994-12-29 | 1998-09-22 | Samsung Electronics Co., Ltd. | Method for inputting information using a selectable soft keyboard |
CN1524212A (zh) * | 2001-05-25 | 2004-08-25 | 皇家菲利浦电子有限公司 | 文本输入方法及其装置 |
US6847706B2 (en) * | 2001-03-20 | 2005-01-25 | Saied Bozorgui-Nesbat | Method and apparatus for alphanumeric data entry using a keypad |
CN1648836A (zh) * | 2004-01-19 | 2005-08-03 | 徐新意 | 用于触摸屏输入的软键盘 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3546337B2 (ja) * | 1993-12-21 | 2004-07-28 | ゼロックス コーポレイション | 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法 |
JPH0981320A (ja) * | 1995-09-20 | 1997-03-28 | Matsushita Electric Ind Co Ltd | ペン入力式選択入力装置及びその方法 |
JP2001014103A (ja) * | 1999-06-30 | 2001-01-19 | Toshiba Corp | 文字入力装置及び文字入力方法 |
US6724370B2 (en) * | 2001-04-12 | 2004-04-20 | International Business Machines Corporation | Touchscreen user interface |
JP2002325965A (ja) * | 2001-04-27 | 2002-11-12 | Sega Corp | 入力文字処理方法 |
JP4084582B2 (ja) * | 2001-04-27 | 2008-04-30 | 俊司 加藤 | タッチ式キー入力装置 |
US20030074647A1 (en) * | 2001-10-12 | 2003-04-17 | Andrew Felix G.T.I. | Automatic software input panel selection based on application program state |
JP4027671B2 (ja) * | 2001-12-20 | 2007-12-26 | ミサワホーム株式会社 | キーボードシート |
JP2005535975A (ja) * | 2002-08-16 | 2005-11-24 | ユンキ カン | ソフトウェアキーボードを利用した文字入力方法 |
US7256769B2 (en) * | 2003-02-24 | 2007-08-14 | Zi Corporation Of Canada, Inc. | System and method for text entry on a reduced keyboard |
JP3797977B2 (ja) * | 2003-03-17 | 2006-07-19 | 株式会社クレオ | 文字入力装置、文字入力方法及び文字入力プログラム |
KR100682885B1 (ko) * | 2003-04-23 | 2007-02-15 | 삼성전자주식회사 | 공간형 정보 입력 장치 및 방법, 이를 위한 소프트 키매핑 방법 및 그에 따른 가상 키보드 |
JP2005092441A (ja) * | 2003-09-16 | 2005-04-07 | Aizu:Kk | 文字入力方法 |
KR100593993B1 (ko) * | 2003-10-22 | 2006-06-30 | 삼성전자주식회사 | 문자인식장치 및 방법 |
JP2005275635A (ja) | 2004-03-24 | 2005-10-06 | Fuji Photo Film Co Ltd | 仮名文字入力方法および仮名文字入力プログラム |
-
2005
- 2005-12-15 US US11/304,240 patent/US7554529B2/en active Active
-
2006
- 2006-11-17 RU RU2008123786/08A patent/RU2419833C2/ru active
- 2006-11-17 WO PCT/US2006/044741 patent/WO2007070223A1/en active Application Filing
- 2006-11-17 KR KR1020087014286A patent/KR101319746B1/ko active IP Right Grant
- 2006-11-17 JP JP2008545613A patent/JP5097121B2/ja active Active
- 2006-11-17 KR KR1020137019217A patent/KR101319638B1/ko active IP Right Grant
- 2006-11-17 BR BRPI0619245-9A patent/BRPI0619245A2/pt not_active Application Discontinuation
- 2006-11-17 CN CN2006800471910A patent/CN101331440B/zh active Active
- 2006-11-17 EP EP06837954A patent/EP1960860A4/en not_active Withdrawn
-
2012
- 2012-08-02 JP JP2012171761A patent/JP5433058B2/ja active Active
-
2013
- 2013-06-12 JP JP2013123459A patent/JP2013211917A/ja active Pending
- 2013-06-12 JP JP2013123462A patent/JP5632045B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717425A (en) * | 1992-01-17 | 1998-02-10 | Ricoh Company, Ltd. | Input apparatus and method having improved operation behavior for input |
US5812117A (en) * | 1994-12-29 | 1998-09-22 | Samsung Electronics Co., Ltd. | Method for inputting information using a selectable soft keyboard |
US6847706B2 (en) * | 2001-03-20 | 2005-01-25 | Saied Bozorgui-Nesbat | Method and apparatus for alphanumeric data entry using a keypad |
CN1524212A (zh) * | 2001-05-25 | 2004-08-25 | 皇家菲利浦电子有限公司 | 文本输入方法及其装置 |
CN1648836A (zh) * | 2004-01-19 | 2005-08-03 | 徐新意 | 用于触摸屏输入的软键盘 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520804A (zh) * | 2011-12-08 | 2012-06-27 | 周志农 | 触摸屏软键盘及输入方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2012230718A (ja) | 2012-11-22 |
EP1960860A4 (en) | 2012-01-25 |
RU2419833C2 (ru) | 2011-05-27 |
US20070139382A1 (en) | 2007-06-21 |
BRPI0619245A2 (pt) | 2011-09-20 |
WO2007070223A1 (en) | 2007-06-21 |
JP2013211917A (ja) | 2013-10-10 |
US7554529B2 (en) | 2009-06-30 |
KR101319638B1 (ko) | 2013-10-17 |
RU2008123786A (ru) | 2009-12-27 |
JP2009520271A (ja) | 2009-05-21 |
JP5632045B2 (ja) | 2014-11-26 |
KR20130093685A (ko) | 2013-08-22 |
KR20080075879A (ko) | 2008-08-19 |
CN101331440A (zh) | 2008-12-24 |
KR101319746B1 (ko) | 2013-10-17 |
JP2013229041A (ja) | 2013-11-07 |
JP5433058B2 (ja) | 2014-03-05 |
EP1960860A1 (en) | 2008-08-27 |
JP5097121B2 (ja) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101331440B (zh) | 智能软键盘 | |
CN101164054B (zh) | 自动提示列表和手写输入 | |
York et al. | Human–computer interaction issues for mobile computing in a variable work context | |
CN102929473B (zh) | 文档数据输入建议 | |
US20110209087A1 (en) | Method and device for controlling an inputting data | |
CN102141889A (zh) | 用于编辑的打字辅助 | |
CN101253474A (zh) | 用于命令的方法和计算机可读介质 | |
CN104603772A (zh) | 上下文敏感的自动纠正 | |
US20140278368A1 (en) | Morpheme-level predictive graphical keyboard | |
CN104769530A (zh) | 用于字符串替换的键盘手势 | |
Almusaly et al. | A syntax-directed keyboard extension for writing source code on touchscreen devices | |
US20140215397A1 (en) | Apparatus and Method Pertaining to Predicted-Text Derivatives | |
Alnfiai et al. | BrailleTap: Developing a calculator based on braille using tap gestures | |
KR100967321B1 (ko) | 속기 키보드의 키 및 문자 매핑 방법 및 장치 | |
US9250728B2 (en) | Apparatus and method pertaining to predicted-text entry | |
KR102355890B1 (ko) | 디코더 아키텍쳐, 그의 동작 방법 및 디코더를 이용하는 소프트 키보드 | |
Xu | An Input/Output Virtualization Platform for Mobile and Wearable Applications | |
Dosdall et al. | Toward In-Situ Authoring of Situated Visualization with Chorded Keyboards | |
EP2759912B1 (en) | Apparatus and method pertaining to predicted-text entry | |
Mukadah et al. | Mobile Interface Design with Predictive Algorithm for Improved Text Entry | |
Tamene et al. | Design of Virtual Keyboard for Ethiopic Text Entry on Mobile Devices | |
Sandin | IEEE VGTC Virtual Reality Technical Achievement Award 2007 (cont) | |
KR20070095668A (ko) | 양방향 언어를 사용한 문자메시지 입력방법 및 그 장치 | |
JP2015111197A (ja) | 語学学習装置およびプログラム | |
CA2840817A1 (en) | Apparatus and method pertaining to predicted-text derivatives |
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: 20150505 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150505 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |