本专利申请要求题为“SYSTEMS AND METHODS FOR INTERFACING WITHCOMPUTER DEVICES”的No.60/433.914美国临时专利申请的权利,该专利于2002年12月16日归档(Atty.Docket No.MSFT-1643),并整体加入作为参考。
本专利在主题上涉及到下列也要求对上述临时专利有优先权的共同授予的专利中揭示的发明:题为“SYSTEMS AND METHODS FOR INTERFACING WITHCOMPUTER DEVICES”在同一天归档的美国专利申请,(尚未授予)(Atty.DocketNo.MSFT-1819);题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTERDEVICES”在同一天提交的美国专利申请,(尚未授予)(Atty.Docket No.MSFT-1820);题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTERDEVICES”在同一天提交的美国应用专利,(尚未授予)(Atty.Docket No.MSFT-1821);和题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTERDEVICES”在同一天提交的美国应用专利,(尚未授予)(Atty.Docket No.MSFT-1823)。
附图说明
当结合附图阅读时,上面的概述和随后的实施例的详述将被更好地理解。为了说明本发明的目的,在图中示出本发明的示例结构;但是本发明不限于所揭示的特定方法和手段。附图是:
图1是表示在其中能加入本发明的某些方面的计算机系统的方框图;
图2是表示在其中能加入本发明的某些方面的网络的原理图;
图3A是流程图,画出在本发明的某些实施例中对ENTER按键的逻辑;
图3B是流程图,画出在本发明的某些实施例中对ENTER按键的逻辑的变种:
图4A是流程图,画出在本发明的某些实施例中对UP按键的逻辑;
图4B是流程图,画出在本发明的某些实施例中对UP按键的逻辑的变种;
图5A是流程图,画出在本发明的某些实施例中对DOWN按键的逻辑;
图5B是流程图,画出在本发明的某些实施例中对DPWN按键的逻辑的变种;
图6A是流程图,画出在本发明的某些实施例中对OUT按键的逻辑;
图6B是流程图,画出在本发明的某些实施例中对OUT按键的逻辑的变种;
图7A示出在本发明的某些实施例中4个按键的排列;
图7B示出在本发明的另选的实施例,它具有4个按键垂直排列的类似方向;
图7C示出本发明的其他另选的实施例,它示出水平排列的按键;
图7D示出本发明的其他实施例,它示出以修改的垂直方式排列的按键;
图7E示出在本发明的某些实施例中另选的4按键的排列;
图8A示出在本发明的某些实施例中滚轮/按键组合;
图8B示出在本发明的某些实施例中滚轮/按键组合的实施例的另选的布置;
图8C示出在本发明的某些实施例中滚轮/按键组合的实施例的另选的布置;
图9示出单击滚轮;
图10示出摆动滚轮;
图11A示出在本发明的某些实施例中狗骨/按键的组合;
图11B示出在本发明的某些实施例中对狗骨/按键组合的实施例的另选的布置;
图11C示出在本发明的某些实施例中对狗骨/按键组合的实施例的另选的布置;
图12示出单击狗骨;
图13示出摆动狗骨;
图14A示出采用超级滚轮的本发明的一实施例;
图14B示出采用超级狗骨的本发明的一实施例;
图15A示出9个按键的设备;
图15B示出8个按键的设备;
图15C是列出对图15A中每个按键的直按命令(或逻辑输入)的表;
图16A示出带有附在右边的摆动的狗骨的以“右手画象(right-handportrait)”方向的显示设备;
图16B示出向右转动90度(一个象限)达到“底部景象-bottom landscape”方向后图16A的设备;
图16C示出向右再转动90度(总的180度或向右半周)形成“左手画象(left-handed portrait)”的图16B的设备;
图16D是再向右转动90度(现总的为270度或向右3个象限)形成“顶部景象(top landscape)”的图16C的设备;
图17是对于对固定的导航设备采用逻辑旋转方案的本发明的某些实施例的表格表示,使得逻辑按键根据在各种方向上命令到逻辑按键的确切映射的方向,对应于特定的命令;
图18A示出以前端景象“Front-end Landscape”方向的另选的显示设备,它带有集成在底部的摆动狗骨。
图18B示出向右转一象限的图18A的设备;
图18C示出向右转半周的图18A的设备;
图18D示出向右转3个象限的图18A的设备;
图19A示出以右手画象方向(原始方向)具有可转动的导航设备的显示设备;
图19B示出向右旋转90度的图19A的显示设备,同时从显示设备的视角,可旋转的导航设备向左旋转90度,因而保持同样的绝对方向;
图19C示出又旋转90度的图19B的设备,但在那里导航设备保持相同的绝对方向;
图19D示出又旋转90度的图19C的设备,但在那里导航设备保持相同的绝对方向;
图20A示出以菱形配置排列的4个按键;
图20B示出以一直线排列的4个按键;
图20C示出没有标记的图20A的按键;
图20D示出没有标记的图20B的按键;
图21A示出以“罗盘”配置排列没有标记的8个按键;
图21B示出带方向标记的图21A的按键;和
图21C示出带有罗盘标记的图21A的按键。
具体实施方式
引言
带着特殊性来描述主题,以满足法规的要求,但是描述本身不试图限止本专利的范围。相反,发明者考虑,权利要求的主题也能以其他方式实现,以便结合其他当前或未来技术包括与类似于此文档中描述的单元不同的单元或单元的组合。
计算机环境
本发明的各种实施例能在计算机上实现。图1和下面的讨论试图提供能实现本发明的合适计算环境的简明的描述。虽然不是必要,本发明在计算机可执行指令的一般情况中描述,诸如由如客户工作站式服务器那样的计算机执行的程序模块。通常,程序模块包括例行程序,程序,对象,组件,数据结构等,它们完成特定的任务或实现特定的抽象数据类型。此外,本专业的行家认识到,本发明能用其他计算系统配置实现,包括手持设备,多处理器系统,其于微处理器的或可编程的消费电子设备,网络PC,小型机,大型主机等。本发明也能在分布式计算环境中实现,在那里任务由通过通讯网络连接的远程处理设备完成,在分布式计算环境中,程序模块能放置在本地及远程存储器装置中。
如图1所示,示例的通用计算机包括传统的个人计算机等,它包括处理单元21,系统存储器22,和将包括系统存储器的各种系统组件连结到处理单元21的系统总线23。系统总线23能是若干类总线结构的任一种,包括存储总线,存储控制器,外围总线,和使用各种总线体系结构的任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存储器(RAM)25。包含存储在ROM24中的(如在起动时)帮助在个人计算机20中各单元之间传递信息的的基本例行程序的基本输入/输出系统26(BIOS)。个人计算机20还能包括用于读写硬盘的硬盘驱动器27(未示出),用于读写可移动磁盘29的磁盘驱动器28,和用于读写如CDROM或其他光介质的可移动光盘31的光盘驱动器30。硬盘驱动器27,磁盘驱动器28,和光盘驱动器30分别通过硬盘驱动器接口32,磁盘驱动器接口33,和光盘驱动器接口34连接的系统总线23。这些驱动器和它们相关的计算机可读介质为计算机提供计算机可读指令,数据结构,程序模块和其他数据的非易失性存储。虽然这里描述的示例环境采用硬盘,可移动磁盘29和可移动光盘31,本专业行家认识到,如盒式磁带,闪存卡,数字视频盘,Bernoll;卡式磁带,随机存储器(RAM),只读存储器(ROM)等那样的能存储可由计算机访问的数据的其他类型的计算机可读介质也能用于示例性操作环境中。
包括操作系统35,一个或多个应用程序36,其他程序模块37和程序数据38的若干程序模块能存储在硬盘,磁盘29,光盘31,ROM24或RAM25中。用户能通过如键盘40和定位设备42那样的输入设备将命令和信息输入到个人计算机20。其他输入设备(未示出)包括麦克风,操纵杆,游戏垫,卫星盘,扫描仪等。这些和其他输入设备常常通过连接到系统总线的串行接口连接到处理单元21,但能通过其他接口连接,如并行口,游戏口或通用串口总线(USB)。监视器47或其他类型的显示设备也通过如视频适配器48那样的接口连接系统总线23。除监视器47以外,个人计算机通常包括如扬声器和打印机那样的输出设备(未示出)。图1的示例系统还包括主适配器55,小型计算机系统接口(SCSI)总线56,和连接SCSI总线56的外部存储设备62。
个人计算机20能使用到如远程计算机49那样一个或多个远程计算机的逻辑连结,在网络环境中操作,远程计算机49能是另外的个人计算机,服务器,路由器,网络PC,对等设备或其他公共网络节点,并通常包括上面相对于个人计算机20描述的许多或所有单元,虽然在图1中只示出存储器设备50。在图1中画出的逻辑连接包括局域网(LAN)51和广域网(WAN)52。那样的网络环境在办公室,企业范围网络,内联网和因特网中是常见的。
在LAN网络环境中使用时,个人计算机20通过网路接口或适配器53连结到LAN51。在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于在如因特网那样的广域网52上建立通讯的其他装置。内置的或外接的调制解调器54通过串行接口43连接系统总线23。在网路环境中,相对于个人计算机20画出的程序模块或其部分能存储在远程存储器设备中。可以理解,示出的网络连接是示例性的,能使用在计算机之间建立通讯链路的其他方法。
虽然可以想象,本发明的许多实施例特别适合于计算机化的系统,在本文档中并不试图将本发明限于那些实施例。相反,这里使用的术语“计算机系统”试图涵盖包括按键,或能判断按键按下,或按键按下的等价物的任何和所有设备,而不论那样的设备是电子的,机械的,逻辑的或本质上是虚拟的。
图2示出示例性网络环境,其中能采用本发明的诸方面。当然实际的网络和数据库环境能以各种配置安排;然而这里示出的示例环境提供一框构,用于理解本发明操作的环境的类型。
网络能包括客户机20a,服务器计算机20b,数据源计算机20c,数据库70,72a,和72b。客户机20a和数据源计算机20c通过如内联网那样的通讯网络80与服务器计算机20b电子通讯。客户计算机20a和数据源计算20c借助通讯接口82连结到通讯网络。通讯接口82能是如以太网连结,调制解调器连接等众知的通讯接口的任一种。
服务器计算机20b借助下面更充分地描述的的数据库服务器系统软件,提供数据库70的管理。那样,服务器20b工作得好象从各种数据源来的数据的仓库,并将那些数据提供给各种数据消费者。
在图2的例中,由数据源计算机20c提供数据源。通过能是LAN,WAN,内联网,因特网等那样的通讯网络,数据源计算机20c将数据送到服务器计算机。数据源计算机20c将数据送到服务器计算机。数据源计算机20c将数据本地存储在数据库72a,72b,后者能是关系数据库,excel电子报表文件等。例如,数据库72a示出存储在表150,152,和154中的数据。由数据源20c提供的数据组合并存储在由服务器20b维持的数据仓库那样的大型数据库中。希望使用由服务器计算机20b存储的数据的客户机20a能经过通讯网络80访问数据库70,客户计算机20a借助对存储在数据库中的数据的SQL查询(如更新,插入,和删除)请求数据。
概况
对本发明的基本些实施例,下面描述的“对象”包括对话框,菜单,Wdb网页,文本页面,可移动缓图对象,或本专业的行家广泛认同并理解的计算机系统中某些其他那样的项,但不作限止。为描述本发明的目的,假设所有对象能方便地分成四个类别:(1)选择对象,如对话框,菜单等,其中用户从多个单元中选择一个单元;(2)内容对象,如可编辑的文本对象;(3)可移动的绘图对象(MDO);和(4)声频对象。虽然实际上更多的类别是可能且希望的,那样类别的内涵仅需要在相关技术领域中的熟练者来扩展这里描述的逻辑,以便适用那样的附加对象组的独特的特征,因此那样的扩展认为是本发明预期及揭示的。
当按下按键,或在输入设备上滚动,转动或摆动滚轮或狗骨(下面描述)时,这种基本的物理交互动作产生合适的电子信号,组成这里描述用于本发明的逻辑输入(那样的逻辑输入是由有关专业熟练人士广泛认同并理解的)。当然,从与按键,滚轮,或狗骨不同的输入设备的物理交互产生的逻辑输入(如语音识别输入,红外信号输入,模式识别输入等但不作限止)将适用于这里描述的本发明的实施例,因此这里绝不解释为将逻辑输入限止在仅仅是这里直接揭示的那组设备。然而,为方便起见,对于可用于物理交互的单元(如按键)的参考将组成对从每个那些物理交互得出的逻辑输入的直接参考。换言之,包括按键,滚轮,狗骨,和其他那样设备的输入设备单元在具体操作时组成对这里描述的实施例的逻辑输入。因此,借助于非限止性例子,“ENTER按键”是“ENTER的逻辑输入”的一个形式。
在本发明的各种实施例的核心部分是主要的按键/滚轮/狗骨的组,它们提供用户能以简单和一致的方式立即识别并用于导航信息的接口设备的基础。这些实施例通常包括对最低限度必要的命令组(核心组)的核心组逻辑按键,且在某些实施例中包括对次级导航命令组(次级命令)的附加的逻辑按键。能包括单独的按键或从滚轮或狗骨来的各别的输入事件的逻辑等价(后面作更完全的定义和描述),或甚至逻辑按键的组合的逻辑按键被各种实施例使用来产生核心命令和次级命令。在其他实施例中,包含相当少的物理组件但处理主要数目的逻辑按键,惊人的导航功能是可能的,这远远超出了核心命令和次级命令,但也能包括在某些情况能是对象,应用,或特定的和/或可修改的设备的一般命令。
在本发明的许多实施例中的核心命令粗略地是对UP,DOWN,ENTER和ESCAPE键盘键事件的等价,同为这些是与扫描和选择相关联的命令调用,这两个最基本的导航功能,即扫描观看和挑选,并在观看和挑选之中接收或拒绝。虽然Up和Down箭头键不是对扫描的仅有的方法,它们对此基本的用户任务是最好建立的,因为菜单,列表和滚动观看都沿垂直方向安排,并对已这两个键的使用作出响应。这种联系转而形成对本发明中关于扫描轴的用户的概念模型的基础。类似地,Enter键是计算机用户几乎共识为激活或执行在屏幕上(图形用户界面或GUI)当前选择的功能的十分可靠的方法,而Escape通常被认为是Enter的语义上的反面,处理许多共同的放弃情况,如关闭电子邮件报文或关闭对话框。然而,对本发明的许多实施例的重要方面是导航的功能可以根据被导航的情况及应用对象而变化,且导航的附加功能可以通过次级命令实现。
关于Escape功能,这个描述的本发明的各种实施例的另外重要方面在于,尽管传统的Escape功能至今已足够,Escape功能长期存在的实现实际上十分有限,事实上限于作为这里描述的本发明的许多实施例的核心命令。例如,作为关闭应用中的视窗对象,广泛地理解是大多数视窗实际上不响应Escape键,而只响应Alt-F4的键盘输入。而且关于具有导航“历史”的应用,一即其中导航是沿着一条某种排序的逻辑路径,而排序常常是任何类型树状结构数据或其他对象的导航结果)一关闭视窗的作用不是几乎象用户回退(Back)的需要和希望那样重要(也没有那样广泛地被使用)即保持视窗开差,并根据观看的历史回到当前情况中的以前的或不同的内容。因而在本发明的许多实施例中,我们用更强大的对OUT按键的“Out”(下面详述)来代替Escape的概念,虽然其他实施例继续在适当时候将Escape或Back映射到OUT。
根据此原理,本发明的各种实施例是用于带4个逻辑按键OUT,UP,DOWN和ENTER的设备,它们共同表示核心的导航命令,且此主要功能组是本发明使用次级命令的许多增强的实施例的基础。此基本的按键组和对应的关于核心命令的功能能裁剪成用户应用的无穷尽的变种。例如,4个基本导航按键功能,或“导航按键”,能应用到各种不同的控制界面,如无线显示,远程控制,关键船上交货(Key fobs),腕表、智能电话、音乐设备、和其他无穷尽的用户应用,而不管它们是否认为是传统的计算设备。
此外,对于揭示本质上可视的结果的实施例,也预期和包括在显示监视器上可视的效果及非视觉的效果。例如若一组按键被描述成在显示设备上下移动光标,可预期另选的实施例,在那里效果是不可见的,如声频效果(如增加或减少音量)或触觉效果(如加热表面的温度增加或降低)。因而,这里不理解成将本发明的各个实施例限止在面向可视的结果,因为这里完全期待非可视的结果。
最后,这里揭示的许多实施例虽然在独立的设备中是理想的,但也能作为更大的设备的一部分加入。例如可以预期,许多实施例能表现为一组键盘上的键(可能在一组箭头键和一组页面(Paging)键之间),及一个显示(以及其他按键和界面),表现为触摸屏中(或任何其他虚拟实施例)的虚拟键等而不作限止。在任何情况不解释为将本发明的任何方面限止在独立的实施例。
核心命令和有关实施例
下面命令包括这里使用的某些关键核心命令和在特定情况中它们如何由系统解释:
·UP:上移(步进)一个单元、行、单元格(cell)、滚动增量、页面,或屏;MS Windows APPCOMMAND-NAVPAD-UP事件;或USB HID NAVPAD-UP事件。
·DOWN:下移(步退)一个单元、行、单元格、动增量、页面。或屏;MS WindowsAPPCOMMAND-NAVPAD-DOWN事件;或USB HID NAVPAD-DOWN事件。
·NEXT:移动(跳)到下一对象、字段、链接或格子(Pane);MS WindowsAPPCOMMAND-NAVPAD-NEXT事件;或USB HID NAVPAD-DOWN事件。
·PREV:移动(跳)到前一对象、字段、链接或格子;MS WindowsAPPCOMMAND-NAVPAD-PREV事件;或USB HID NAVPAD-PREV事件。
·ENTER:在当前对象上采取动作(执行)(类似于在键盘上的Enter键或在其他情况的OK键);MS Windows APPCOMMAND-NAVPAD-ENTER事件;或USB HIDNAVPAD-ENTER事件。
·CENTER:在当前对象上采取动作(执行)(类似但不同于键盘上Enter键);MS Windows APPCOMMAND-NAVPAD-CENTER事件;或USB HID NAVPAD-CENTER事件。
·OUT:回到以前打开的对象、页面、或视图;关闭活动的对象(类似于这里在其他合适情况描述的Esc,Back,或串接的Esc/Back组合);MS WindowsAPPCOMMAND-NAVPAD-OUT事件;或USB HID NAVPAD-OUT事件。
·MORE:显示当前对象的细节,或执行,显示适用于当前对象的选项;MSWindows APPCOMMAND-NAVPAD-MORE事件;或USB HID NAVPAD-MORE事件。
·SWITCH:切换到下一窗口、屏、页面、应用或功能提供;MS WindowsAPPCOMMAND-NAVPAD-SWITCH事件;或USB HID NAVPAD-SWITCH事件。
图3A是流程图,画出在本发明的某些实施例中对ENTER按键的逻辑。当在框302处按下ENTER键时,在框304处的ENTER按键系统判断,该对象是否是一选择对象(且不是内容对象或可移动的绘图对象),且若不是,对本实施例不发生其他事件且系统在框350处返回。(如有关专业中具有足够知识的人理解,对内容对象和可移动绘图对象,本发明除空事件外的事件当然是可能)。另一方面,若该对象实际上是选择对象,在框306系统判断,是否已选择该对象中活动单元。若已选择活动单元,在框312发生“执行”事件,它等价于在键盘上按下Enter键(且这导致已选择的单元合适地成为Open,Accept,或OK,那些事件对本专业行家是熟知和理解的);系统随后返回到框350。另一方面,若当未选择活动的单元,则在框308系统作出判断,该对象的一个单元是否已标记成Initial Focus(作为默认选择单元),若是,则在框314标记为InitialFocus的单元被选中,并系统随后返回到框350。最后,若没有Inital Focus,则在框316系统选择该对象的第一列出单元,并返回到框350。
自然,在某些情况下在图3B中画出的逻辑流程的变种是可能且希望的。例如考虑图3B,它是图3A中画出的对ENTER按键的逻辑的变种的流程图。在此实施例中,且已判定:(a)在框304,该对象是选择对象,(b)在框306,尚未选择活动单元,和(c)在框308,该对象没有Initial Focus(等同于图3A的方法),则在框310图3B的系统进一步判断,是否任何活动单元是可见的,若是,则在框318选择第一可见单元,或若否,则在框316选择第一列表的单元。本发明在这里揭示了这个和其他的巧妙的逻辑的变种。
注意,通过使用这些特定实施例的方法以及其他方法,可以期望在某些实施例中用户能按ENTER键一次选择一单元(当它尚未被选择),然后再按一次ENTER键执行该单元(等价于在键盘上按Enrer键)。
图4A是流程图,画出在本发明的某些实施例中对UP键的逻辑。当在框402按下UP键时,在框404处UP按键系统判断,该对象是否是一选择对象。若否,在框422系统判断该对象是否为内容对象或可移动的绘图对象。若该对象是可移动绘图对象,在框432该系统简单地向上轻推(移动)该对象预定距离(例如一个象素)或,如在这里假设(以及在图中另外地方),若在那个方向不可能或不允许再移动则不做什么。虽然当在希望的方向上的移动不可能或不允许时,逻辑在这点上未表示出对该“空事件”处理,但这种逻辑的样本在图中用虚线框示出,并在后面只对内容对象描述,虽然那样的逻辑在图的合适的余下部分是可以并应该采用的和且隐含的。
再次回到图,若该对象实际上是内容对象,则在框424该系统判断,在该对象中的文本是否包括一行或多行。若文本对象包括多行,则(当如以前提到在希望方向的移动是不可能或不允许时表现出该逻辑处理“空事件”)在框426系统进一步判断,是否该插入点当前是在第一行,若是,则系统不做什么并在框450处返回,否则在框434系统将插入点上移一行,并随后在框450处返回。相反,若文本对象只包括一行,则在框428判断,该插入点当前是否在该行的第一字符前,若是,则系统不做什么,并在框450处返回;否则在框436,系统向左移动插入点一个字符,然后在框450处返回。
若在框404处系统判定,该对象确实是选择对象,则在框406处系统判断,在该对象中是否已选定活动单元。若已选择活动单元,在框412处系统选择列表中以前的单元(且实质上以前选中的单元是未选中的),且然后系统在框450处返回。另一方面,若活动单元尚未被选中,则随后在框408系统作出判断,该对象的一个单元是否已标记为Initial Focus(作为默认选择单元),且若是,则在框414处标记为Initial Focus的单元被选中,并随后系统在框450处返回。最后,若没有Initial Focus,则在框416处系统选择该对象的第一列表单元并在框450处返回。
图4B是流程图,根据以前引入的从图3A到图3B的类似的变种,画出对图4A画出的UP按键的逻辑的变种。在图4B的实施例中,且再次在在框404处已经判定(a),该对象是选择对象,(b)在框406,尚未选择活动单元,和(c)在框408,该对象没有Initial Focus(等同于图4A的方法)之后,在框410处图4B的系统进一步判断,任何活动的单元是否可视,若是,在框418处随后选择第一可视单元,或若否,在框416处系统随后选择第一列表单元。
图5A是流程图,画出在本发明的某些实施例中对DOWN按键的逻辑。当在框502处按DOWN键时,在框504处DOWN按键系统判断,该对象是否选择对象。若否,在框522系统判断,该对象是否是内容对象或可移动绘图对象。若该对象是可移动绘图对象,在框532处系统简单地向下轻推(移动)该对象一预定距离(如一个象素)或如这里假设(且在图中其他位置),若在该方向进一步移动是不可能或不允许时不做什么。另一方面,若该对象是内容对象,则在框524系统判断,该对象中的文本是否包括一行或多行。若文本对象包括多行,则在框526处系统进一步判断,插入点当前是否在最后行,且若是,则系统不做什么且在框550处返回;否则在框534,系统将插入点移下一行且随后在框550处返回。相反,若文本对象只包括一行,则在框528处判断,该插入点当前是否在该行的最后字符之后,若是则系统不做什么且在框550处返回;否则在框536,系统向右移动该插入点一个字符,并随后在框550处返回。
若在框504处系统判定,该对象确实是选择对象,则在框506系统判断,在该对象中是否已选定活动单元。若已选定活动单元,在框512处,系统选择列表中下一单元(且隐含了以前选定的单元未被选择),且系统在框550处返回。另一方面,若尚未选择活动单元,则在框508系统随后作出判断,该对象的一个单元是否已标记成Initial Focus(作为默认选择单元),若是,则在框514中选择标记成Initial Focus的单元,且随后系统在框550处返回。最后,若没有Initial Focus,则在框516处系统选择该对象的最后列出单元并在框550处返回。
图5B是流程图,根据以前引入的将图3A与图3B区分以及将图4A与图4B区分的类似的变种,画出对图5A画出的DOWN按键的逻辑的变种。在图5B的实施例中,且再次在已经判定(a)在框504,该对象是选择对象,(b)在框506尚未选择活动单元,和(c)在框508,该对象没有Initial Focus(等同于图5A的方法)之后,在框510处图5B的系统进一步判断,任何活动的单元是否可视,若是,在框518处随后选择最后可视单元,或若否,在框516处系统随后选择最后列表单元。
尽管传统的Escape功能已被长期使用,然而它是十分受限止且高度专门化的。例如为关闭一视窗,大多数视窗实际上完全不响应Escape键,相反只响应‘Alt-F4’的键入。而且关于具有导航“历史”的应用(即其中导航是沿着某种排序的逻辑路径),关闭视窗的作用不是象用户回退(Back)的需要和希望那样重要(也没有那样广泛被使用)(即保持视窗开着,并根据观看的历史回到当前情况中的以前的或不同的内容)。因而,对本发明的某些实施例中,我们用更强大的“Out”的概念代替Escape或Back的概念。
在某些串接的实施例中,OUT能是由Back和Escape命令调用提供的功能的逻辑及管理的组合。在视窗响应Escape的所有操作系统中,合并这两个按键是十分有益的,因为在各种应用情况这些键很少被充分和一致地使用。当然,在那些Back和Escape均被利用并每个具有分别的功能的少数应用场合,让用户猜测OUT按键重复哪个键盘键是不实际且无效的。由本发明的某些实施例提出的一个解决方法是在当Back键命令被所讨论的应用理解时使用OUT键产生Back键命令,且相反在Back键命令不被应用理解时产生Escape命令,即前后串联Back命令和Escape命令,以此方式,带有历史的应用(其中回退移动的能力比通过Escape关闭视窗更频繁和重要)获取Back键功能的更大的好处,虽然不带Back键功能的应用能自动获取由Escape键承担的无论什么功能。为了实现通过OUT按键作Back/Escape选择的方法,这里描述的本发明的某些实施例首先使用操作系统的外壳挂钩产生Bock键命令作为“应用命令(AppCommand)“(对该应用程序的应用命令),且若此Bock命令被应用拒绝,则产生Escape命令,等价于在键盘上按下Escape键。当然,其他实施例能简单地在适当时将Escape或Back映射到OUT,且这里没有试图限止OUT的基本功能;然而这里我们假设,OUT指的是Back/Escape的串接功能。
图6A是流程图,画出在本发明的某些实施例中对OUT按键的方法的逻辑。当在框602按下OUT键时,在框604处OUT按键系统使用操作系统外壳挂钩向该应用发出一应用命令,它等价于由用户在键盘上按下Back键产生的命令(它有时标记为Brower Back键或某个其他等价,其操作也有时作为鼠标上右单击实现)。然后在框606系统判断,Back应用命令是否被拒绝。若否,系统在框650处返回;否则在框608处系统发出Escape命令,且随后在框650处返回。
图6B是流程图,画出根据图6A中示出的方法对OUT按键的方法的更复杂的逻辑。在图6B中,在框602处当OUT键被按下时,在框610处系统首先确定该视窗是否在历史的开始(因此没有地方可“回退”(“Back”))。在那样情况,该方法能做两件事之一:(a)它能忽略Out键(空事件)并立即返回,或更好地(b)它能通过Escape关闭视窗。为实现后一种选择,能采用两种方法之一:(i)系统可进行发送Back命令,且当此应用命令估计被应用拒绝时(因为没有地方可“回退”),系统进行发送Escape命令(它是在图6A中反映的方法),或(ii)系统能立即发出Escape命令,这在现在图中画出。因此,若在框610中系统确实判定该视窗在历史的开始,由该系统立即进到框608并发出Escape命令,并随后在框650处返回。否则在框604处,再次使用操作系统处壳挂钩,该系统向该应用发出Back的应用命令,并随后在框606系统判断,Back应用命令是否被拒绝,若否,在框650处系统返回,否则在框608系统发生Escape命令并随后在框650处返回。
当然可能有与本发明不同的若干的具体实施例。在图7A中示出的一个实施例是如在一小键板或设备上的4个按键的布置,包括如图示的以菱形布置的ENTER702,OUT704,UP706和DOWN708按键。图7B是本发明具有类似方向的另外实施例,但4个按键垂直布置,如沿着计算设备的右沿。图7C是本发明的又一个另选实施例,示出水平布置的按键,如沿着计算设备的前端。另一方面,图7D是本发明又一个实施例,示出以修改的垂直方式布置的按键,其中ENTER702在中央,UP706和DOWN708分别在垂直的上方及下方,而OUT704在3个直线排列按键的左上方。当然,命令的不同组合适合4个某种4键设备,而图7E的设备示出类似图7A的设备,不同处在于此设备的4个按键对应于命令UP,DOWN,PREV,和NEXT。
然而,因为这里揭示的4按键方案是逻辑的而不物理的,本发明的某些实施例也能利用不同的物理组合。例如,如图8A中示出的本发明的一个实施例包括带一个垂直滚轮802和二个按键804和806,滚轮802逻辑上能以类似于鼠标设备上滚轮的方式操作,使得滚轮每个上下微小滚动构成输入,这在本专业中是熟知并理解的。图8B示出对滚轮/按键组合的实施例的另选布置,而图8C示出实施例的又一布置。
图9示出本发明的又一个另选实施例,其中滚轮902不仅支持对应于UP和DOWN的上下移动,而且在施加预定最小阈值的压力时,象ENTER按键那样作用。此压力输入特征使得这里称为单击滚轮的滚轮902接收3个不同输入,而第4输入OUT对应于靠近单击滚轮902的按键904。
如图10所示,在本发明的另外实施例中,通过摆动滚轮1002那样单个物理单元应用4按键方案。摆动滚轮1002类似于常规滚轮,不同处在于还支持一侧到另一侧的摆动而不影响垂直滚动。带着此能力,左摆动关系到ENTER,而右摆动关系到OUT,同时UP和DOWN仍然从滚轮1002的上下滚动导出(如图所示)。此外,若对本发明示出的摆动滚轮还加入图9中的单击滚轮的压力输入,这样的实施例将获取第5按键的能力,它能在某些5+按键的配置中采用,提供某些附加的感兴趣的实施例,这将在后面详细讨论。
图11A示出类似于图8A揭示的本发明的另外实施例,但替代传统的滚轮,使用狗骨1102。狗骨1102实质上是用人机工程修改的滚轮设备,它特别好适用于由姆指操作,而传统的滚轮更适合于用食指。在此实施例中,狗骨1102的垂直上下滚动逻辑上分别等同于UP和DOWN的功能(如图中所示),而按键1104和1106在压下时分别关系到ENTER和OUT。图11B示出对狗骨/按键组合的实施例的另外布置,在图11C中示出实施例的又一个布置。
图12示出本发明的又一个另选实施例,其中狗骨1202不仅支持对应于UP和DOWN的上下移动,且当施加预定的最小阈值压力时,象对ENTER的按键那样作用。此压力输入特征使这里称为单击狗骨的狗骨1202接收3个不同的输入,而第4输入OUT,对应于靠近单击狗骨1202的按键1204。
最后,在图13中示出的本发明又一个实施例中,通过摆动狗骨1302的单个物理单元应用4-按键方案。摆动狗骨1302类似于图10中示出的摆动滚轮1002,还支持一侧到另一侧的摆动而不影响垂直滚动。带着此能力,向左摆动狗骨1302关系到ENTER,而向右摆动狗骨关系到OUT,而UP和DOWN仍然从狗骨1302的上下滚动导出(如图所示)。而且,若对本实施例示出的摆动狗骨再加入图12中单击狗骨的压力输入,这样的实施例获得第5按键能力,它将在某些5+按键配置中利用,提供某些附加的感趣的下面将详细讨论的实施例。
扩展命令和有关的实施例
至今这里揭示的本发明的实施例着眼于直接映射到4个基本命令ENTER、UP、DOWN和OUT的包括4个按键的方案(或对在滚轮和狗骨情况按键的逻辑等价)。不否认包括最有用的用于导航对象的命令的简单方案的能力的同时,通过以下列4个方法之一扩展按键的功能可得到远为广泛范围的功能:物理上、时间上、逻辑上和其组合。例如,另外的命令确认实施例,除了4个基本命令ENTER、UP、DOWN、OUT外,对6-逻辑-按键实施例包括PREV和NEXT,对8-逻辑-按键实施例包括PREV,NEXT,MORE和SWITCH。
扩展逻辑的4-命令安排的一个方法是通过简单地增加更多按键(或按键的逻辑等价)并映射到另外的命令来扩展物理的4按键安排。例如,若图10中示出的摆动滚轮的4-按键功能还包括在图9中单击滚轮的压力输入功能,此加强的滚轮(后面称为超级滚轮)在逻辑上表现为第5按键并因而能直接应用第5命令(或在逻辑上或如下讨论在组合方案中利用)。类似地,若在图12中示出的摆动狗骨的4-按键功能还包括图13中单击滚轮(狗骨)的压力输入功能,此加强的狗骨(以后称为超级狗骨)在逻辑上表现为第5按键,因而能直接应用第5命令(再次或在逻辑上或在如下讨论在组合方案中利用)。图14A示出应用超级滚轮的本发明的实施例,而图14B示出应用超级狗骨的本发明的实施例。
当超级滚轮或超级狗骨与另外的按键组合时,得出能用一个手(或甚至一个指头或姆指)操作的功能强大的导航设备。例如,在某些实施例中,设备能使用摆动狗骨加2个按键(总共6个逻辑按键)或摆动狗骨加4个按键(总共8个逻辑按键),每个带有映射到逻辑按键的对应命令。类似地,在每个这些实施例中通过用超级狗骨替代摆动狗骨,你分别获得7-按键设备及9-按键设备。
图15A示出导航设备的一个实施例,它利用超级狗骨和以超级狗骨为中心垂直排列的4个另外的物理按键。那样的9-按键设备在后面称为九物(niner)。参考图15A,垂直的九物1502包括超级狗骨1504和上面两个按键1506和1508以及下面两个按键1510和1512。对每个按键的直接命令(或逻辑输入)被列在图15C的表中。注意,在此实施例中ENTER,UP,DOWN和OUT具有与以前描述的相同的功能,而ENTER对应于两个逻辑按键(虽然不需要但是允许的)。类似地,如图15B所示,另选的实施例能包括8-按键设备,它具有类似的命令映射,而ENTER只对应单个逻辑按键。还注意到,对应于Tab和Alt-Tab命令调用的PREV和NEXT被实现以替代左箭头和右箭头功能,因为在导航的情况,PREV和NEXT功能更有用;然而在某些实施例中能希望以类似于组合Escape和Back到OUT命令的方式,将如PREV和左箭头命令组合起来。
扩展逻辑按键的功能的另外方法是当一按键压下并“保持压下”预定的时间周期时,提供特殊的功能。例如若用户压下并持续压下UP按键,对本发明的某些实施例能在逻辑上解释成不同的命令,如复制键盘上PageUP键的PAGEUP命令。另选地,系统也能很快地自动重复UP命令,类似于在键盘上压下并保持压下UP箭头键的效果。
扩展对描述的按键方案的功能的另外方法是区分不同类型的“移动”,类似于鼠标单击和双击的方法。例如,当利用滚轮或狗骨时考虑突然向上或向下移动滚轮(突然移动是在短时间内大的移动)为分别的逻辑按键,这是逻辑的扩展。例如,虽然狗骨的正常上下滚动分别导致UP或DOWN命令,突然上下移动滚轮分别能得到PAGEUP或PAGEDOWN命令,它转而分别等价于键盘上PageUP和PageDown键。
扩展按键功能的另外强有力的方法是考虑按键的各种组合,当同时按下时,它们能用于表示与单独按键正常相联系的命令不同的命令。例如,本发明的一个实施例能包括4个物理的导航按键,一个摆动狗骨或一个摆动滚轮作为主要的导航逻辑,可能外加修改器按键,它使4个逻辑按键具有次级映射。该修改器按键在很多方面等价于在如膝上机,输入板PC等那样许多计算机化设备上的“Fn”键。此外,修改器也能是“双抽头的(double-tapped)”以实现附加命令,如调用专用菜单,这对于实现上设备上在画象与景象方向之间滚动的菜单的特定计算机化设备方面特别有用,在那些设备中那样的功能特别有关和有用(在下面作更详细讨论)。
到此,讨论的实施例很大程序上根据在给定情况按不同的物理的用户交互,映射不同的逻辑结果。然而另选的实施例也能使单个特定的物理交互在不同情况(如文本文档,虚拟书籍,或幻灯片演示等)导致不同的逻辑结果(如步进,滚动,或换页)。例如,使用摆动狗骨,向下摆动能等价于在一种情况向下步进一行,在另一种情况向下滚动一页,在又一种情况向下翻一页,而向上摆动在每种情况对应于相反的逻辑结果。类似地再次使用摆动狗骨,向左摆动在一种情况能在格子间跳动,在另一种情况进入树状层次结构的下一分支,而向右摆动再次在每种情况对应于相反的逻辑结果。其他实施例按此方法操作,类似地使用:摆动滚轮、超级狗骨、超级滚轮、安排成菱形的4个按键、象罗盘点沿着圆等分安排的8个按键、操纵杆、D-Pad、触摸垫、触摸条等等,没有限止。除了步进,滚动,和翻页以外,其他命令能包括ENTER和OUT(一起“访问”),以及任何其他两部分抽象上相反的命令(通常的“抽象”)。
灵活的取向
在画象和景象方向之间滚动显示的菜单特别有关和有用的设备上,本发明的另外重要的要素加入到各个实施例中,那是对物理的按键重定向逻辑按键命令的能力。例如考虑图16A的设备,它以“右手画象”方向示出如输入板PC那样的显示设备1602,并带有附在右沿的摆动狗骨1604。为方便起见,对摆动狗骨1504的每个逻辑按键的功能,即摆动上、摆动下动左、和摆动右分别标记为A、B、C、D(标记),并对摆动狗骨1604保持一致,而对UP、DOWN、PREN和NEXT命令分别标记为U、D、P、N的滚动狗骨的每个逻辑按键的命令实际上关系到在特定物理方向(即右手画象方向)的摆动狗骨1604,且对逻辑按键到命令的逻辑映射能如下表达(标记在左,命令在右):
A=U
B=D
C=P
D=N
然而对本发明的某些实施例,当显示设备1602转动时,逻辑按键的分配被适当地重新映射。例如考虑图16B,它示出在向右旋转90度(一个象跟)到“按键景象”方向之后的设备1602。这能在用户操纵该设备以改变显示的方向之后发生,而命令到逻辑按键的后续的重新映射甚至能自动发生。在此旋转后的方向,摆动狗骨1604的逻辑映射能如下表示(标记在左,命令在右):
A=D
B=U
C=P
D=N
注意,虽然对逻辑按键A和B的命令换位了(即,UP和DOWN命令换位了),对逻辑按键C和D的命令仍然相同。对此的理由是狗骨1604实际上只沿着一根轴,这显示出最初垂直方向,滚动,且此轴最好在显示上映射到垂直方向,因为垂直显示移动比水平显示移动更重要日更常利用,且因此狗骨1604的旋转能力总是在逻辑上映射到垂直移动,当然在此情况向右滚动等价于在显示上的向下移动(或至少与读文本文档的其他方向和方式一致)。类似地,重新映射摆动是自然的(或至少与读文本文档的其他方向及方式一致),在此情况向上摆动等价于显示上向左移动。通过重新映射(实际上部分地重新映射)在逻辑按键与调用的命令之间的逻辑关系,用户能改变设备的方向,但仍能够从一个方向到另一方向以很大程度上一致的方式利用该用户界面。
图16C是又向右转90度(现总的为180度,或向右半周)的同样设备及最终的重新映射的图示,这是当显示器从此设备方向看,本身自动或手动地重新定向时发生的。在此方向,对摆动狗骨1604的逻辑映射能如下表达(标记在左,命令在右):
A=D
B=U
C=N
D=P
此“左手画象”的方向对左手用户特别有用。还注意到,与以前方向比较时,对逻辑按键C和D的命令换位,而对逻辑按键A和B的命令保持不变。而且虽然此重新映射(180度)实际上只是从以前方向(向右90度)的部分重新映射,它也是从原始方向的完全重新映射。
图16D是又向右转90度(现总的为270度,或向右3个象限)形成“顶部景象-top landscape”的同样设备及最终的重新映射的图示,这是当显示器从此设备方向看,本身自动或手动地重新定向时发生的。在此方向,对摆动狗骨1604的逻辑映射能如下表达(标记在左,命令在右):
A=U
B=D
C=N
D=P
注意,与以前方向比较时,现在对逻辑按键A和B的命令已换位,而对逻辑按键C和D的命令保持不变。若设备再多转动一次,回到原始位置,则对逻辑按键C和D的命令换位,而对逻辑按键A和B的逻辑命令保持不变。总之,本发明的某些实施例利用对固定导航设备的逻辑转动方案,使得这些逻辑按键根据它们的方向对应于特定的命令,其确切的映射示于图17的表中。此映射最适合于沿一个物理轴对称的设备,如在滚轮和狗骨的情况。
图18A示出另外的显示设备1802,在那里作为非限止性的例子有口袋大小的显示设备,以“前端景象(front-end landscape)”方向带着集成在设备底部的摆动狗骨1804,所述设备随后向右转动一个象限3次,且所述设备以类似于图16A-D示出的方式重新映射逻辑命令。
解决旋转显示设备的难点的另外方法也是旋转物理的用户界面本身。图19A示出具有能旋转的导航设备1904的显示设备1902,所述显示设备是在右手画象方向。图19B示出向右旋转90度的显示设备1902,而从显示设备1902的视角看,能旋转的导航设备1904向左旋转90度,因此保持同样的绝对方向。图19C和19D示出每个又转90度的同样的设备。在每种情况,导航设备1904保持同样的绝对方向。
以类似的方式,转动也能对某些导航设备是虚拟的,那些设备在转动时物理上是不能区分的,因此只需要发生逻辑旋转。虽然此方法不适用于使用具有主要滚动轴的滚轮或狗骨的导航设备,如图7A所示以菱形方式排列的4按键的导航设备使能容易地指引物理键中的重新映射(逻辑旋转),以便在旋转设备中达到类似于如图19A-D中揭示的带有可转动导航设备的显示设备达到的功能。在物理按键中命令的旋转非常适合于在垂直及水平上对称的任何导航设备,如以前讨论带有菱形排列的情况。
导航不相关的维度
在至今描述的许多实施例中,尤其在包含对称的各个按键的实施例,逻辑按键的功能对应于那样按键的物理位置,即逻辑的维度反映物理的维度。然而本发明的另选实施例打破了在物理和逻辑之间的这种关联,以便进一步扩展这种用户界设备的功能
对称的多个按键是一组逻辑按键(它能或不能组成该设备的所有逻辑按键)和它们的物理等价(如按钮,滚轮,或狗骨),其中后者以多维度方式物理地安排在设备上以提示,按键的功能在逻辑上互相关联并可从物理的的布置确定。例如,考虑包括以不同物理配置方式排列的4个按键的图20A和20B,此两实施例均有相同的按键,但图20A的按键沿着两个轴多维度地排列(UP和DOWN垂直排列,而LEFT和RIGHT水平排列),而图20B的按键沿单个水平轴单维度地排列。图20A的每个按键由于其物理布置提示了按键之间的互相关系;然而图20B的按键的功能大体上能独立的。例如,关于图20C的按键布置,它类似于图20A的布置但没有清楚的标记,这些按键的每一个的功能自然认为是互相关联的(A和C相反,B和D相反,前者关系的垂直轴而后者关系到水平轴),且还对应于在每个按键的相对方向上的移动。然而,图20D的按键布置,它类似于图20B但没有清楚的标记,不提供这种关系提示,也不提示功能与两个维度(垂直和水平)上的移动有关。
确实,图20A和20C的4按键“菱形”排列及它们的等价(如包括摆动滚轮和摆动狗骨)是那样强烈地提示沿水平和垂直轴的多维度移动,使得常常自动假设有那样的功能。此外,在按键间任何那样的物理关系(如水平和垂直排列)很容易提示对应于那些键的基本功能(如水平和垂直移动),且以前的技术被评为多个维度自动地提示(并限于)在空间的多维度移动(关系到X、Y和轴,以及各种对角线)。例如考虑图21A中的“罗盘”形按键排列,即使没有标记,它自然地提示为与两维空间中沿4根轴的方向有关,如由图21B和21C类似的排列明确提示的那样。然而在许多用户导航的情况,仅根据按键的物理关系的互相关联的功能不能最大地有效,如当垂直移动是重要而水平移动不重要,或相反的情况即是如此。
为了最大化单个用户界面设备在各种不同情况的通用性和适用范围,本发明的另外实施例包括对称的多个按键(物理上互相关联),它们对应于非对称的(不是对称的)关联的(即逻辑上互相无关联的)逻辑按键。例如在如图7A具有4-按键多维排列的本发明的一个实施例中,虽然垂直按键对应于垂直移动,而水平按键对应于不是水平移动的其他事项(在此情况ENTER和OUT)。类似地在本发明的另外实施例中,水平按键对应于水平移动而垂直按键对应于不是垂直移动的其他事项。当然,在又一个实施例中,水平按键对应于不是水平移动的其他事项,而垂直按键对应于不是垂直移动的其他事项。利用此方法的另外实施例包括各种对称的多个按键,包括4-按键菱形安排,8-按键罗盘形排列,摆动狗骨(和超级狗骨),摆动滚轮(和超级滚轮),D-Pad,操纵杆,各种按键排列和/或以上述的任何组合及其等价,且不限于此。此外,此方法不限于二维物理的或逻辑的实施例,而关于物理单元和逻辑功能是真正多维的。
结论
这里描述的各种技术能用软件或软件实观,在合适处用软硬件组合实现。因此,本发明的方法和装置,或其某些方面及部分能采取包含在有形介质,如软盘、CD-ROM、硬盘、或任何其他计算机可读存储介质中的程序代码(即指令)的形式,其中当程序码加载到如计算机那样的机器中并由其执行时,该机器成为实现本发明的装置。在可编程的计算机上执行程序码的情况,计算机通常将包括处理器,由处理器可读的存储介质(包括易失和非易失存储器和/或存储单元),至少一个输入设备,和至少一个输出设备。一个或多个程序最好在高级过程语言或面向对象的编程语言中执行以便与计算机系统通讯。然而在需要时程序能以汇编或机器语言实现。在任何情况,语言应是编译的或解释的语言,并结合硬件实现。
本发明的方法和装置也能以程序代码方式体现,它能经某些传输介质传输,如经电线,电缆,通过光纤或通过任何其他其他传输形式,其中当程序代码由如EPROM,门阵列,可编程逻辑设备(PLD),客户计算机,视频记录器等机器接收,加载并执行时,该机器就成为实现本发明的装置。当在通用处理器上执行时,程序代码与处理器结合,提供完成本发明的索引功能的单独装置。
虽然本发明已结合各种图的实施例序以描述,能理解,其他类似的实施例能被使用,或能对已描述的实施例作出修改或增加,以完成本发明的同样功能而不编离本发明。例如,虽然本发明的示例实施例在模拟个人计算机的功能的数字设备情况描述,本专业行家认识到,本发明不限于那样数字设备,在本专利中描述的内容能应用到任何数目现有或新出现的计算设备或环境,如游戏控制台,手持计算机,便携机,移动电话,手表,音乐播放器,某些机械设备等,不论是有线或无线的,并能应用到任何数目经通讯网络连接的那些计算设备,且通过网络交互。又例如,为达到某些人机工程的优点,“按键”(或其他这里使用的物理设备)能改变尺寸,形状,间距等。类似地,每个按键能用文字符号标记,或不标记,且每个按键能具有不同颜色,形状或其他特征(或没有),以相互区别。
应该强调,包括手持设备操作系统和其他应用专用的操作系统那样的各种计算机平台是预期的,尤其是随着无线网络的数量继续在激增。因而本发明不限于任何单个实施例,而是按附后的权利要求的广度和范围中构成。