CN1685394A - 导航控制设备的事件处理 - Google Patents

导航控制设备的事件处理 Download PDF

Info

Publication number
CN1685394A
CN1685394A CNA2003801000070A CN200380100007A CN1685394A CN 1685394 A CN1685394 A CN 1685394A CN A2003801000070 A CNA2003801000070 A CN A2003801000070A CN 200380100007 A CN200380100007 A CN 200380100007A CN 1685394 A CN1685394 A CN 1685394A
Authority
CN
China
Prior art keywords
instruction
navpad
enter
button
subsystem
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.)
Pending
Application number
CNA2003801000070A
Other languages
English (en)
Inventor
E·J·G·贝尔
W·H·冯
L·B·基利
B·E·提斯利
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1685394A publication Critical patent/CN1685394A/zh
Pending 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0238Programmable keyboards
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
    • 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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode

Abstract

本发明针对经由应用收集使用(ACU)唯一地标识导航控制设备的系统和方法,ACU具有使用(Usage)值,使导航按钮启用知道导航控制设备的软件应用来监视特定的按钮相关的事件。本发明的各个实施例针对具有USB功能的导航控制设备的新的UsagePage和Usage。在本发明一实施例中,会从ConsumerPage(0x0c)分配新的顶级使用(Usage)码(导航块=0x07)。

Description

导航控制设备的事件处理
相关申请的相互引用
本申请要求第60/467,367号美国临时申请的优先权,该申请题为“EVENTPROCESSING FOR A NAVIGATION CONTROL DEVICE”,于2003年5月2日提交(代理人记录号MSFT-2193),并且通过引用被完全结合于此。
该申请是是美国专利申请号10/430990(代理人记录号MSFT-1823)的部分延续,后者于2003年5月5日提交,题为“SYSTEMS AND METHODS FOR INTERFACINGWITH COMPUTER DEVICES”,其通过引用被完全结合于此。
该申请的主题与以下通常给定的申请中公开的发明内容有关,以下申请也要求上述临时申请的优先权:美国专利申请号(尚未指定)(代理人记录号MSFT-1819),与此申请一同提交,题为“SYSTEMS AND METHODS FOR INTERFACING WITHCOMPUTER DEVICES”;美国专利申请号(尚未指定)(代理人记录号MSFT-1820),与此申请一同提交,题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTERDEVICES”;美国专利申请号(尚未指定)(代理人记录号MSFT-1821),与此申请一同提交,题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTER DEVICES”;以及美国专利申请号(尚未指定)(代理人记录号MSFT-1822),与此申请一同提交,题为“SYSTEMS AND METHODS FOR INTERFACING WITH COMPUTER DEVICES”。
                         技术领域
本发明一般涉及用户界面的领域,尤其涉及导航控制设备的事件处理,所述导航控制设备比如与计算机系统环境结合使用的设备。然而,本发明不限于计算机中的使用。相反,本发明可以用在广泛种类的日常设备中,或者用于使用这里所公开的本发明各实施例的其它这样的系统中。
                         背景技术
计算机工业长期关注于使用按键、滚轮以及屏幕上按钮进行导航,实际上为了支持如今采用的各种和多样的导航模型,全尺寸的键盘、专用指令按钮、鼠标以及多种屏幕上界面都是必要的。然而,现有的导航设备不适用于新的和创新的计算机化技术,比如正在成为便携式电脑的改良继任者的Tablet PC,而对这些新的和发展中的技术的导航不被键盘、鼠标或其它现有设备或其组合所完全或充分地支持。简言之,计算机工业尚未充分解决为了本领域中对用于导航的较简单模型的容易明显的需求,以补充或代替其它现有模型。
一个或多个有关发明(已经在上面的交叉引用中标识的专利申请)针对一种用户导航界面,其在各实施例中都非常适用于计算机系统环境中,然而本发明不限于计算机中的使用。这些有关发明为增强的用户导航提供了一种系统和方法,通过提供一个比鼠标稳健(robust)但没键盘复杂的单个用户导航界面来补充(不必要代替)计算机键盘和鼠标。在许多实施例中,预期会使用本发明作为仅要求一只手使用的设备(像鼠标),但具有目前仅可经由计算机键盘直接调用的实质性功能。
有关发明的某些实施例还关于一种用户界面系统,其包括一界面,使用户能为了向一对象应用一组指令之一而产生一逻辑输入,所述指令组包括一组最低程度必要的指令。在另一实施例中,该组最低程度必要的指令包括用户界面系统的四个用户指令,比如ENTER(输入)、UP(向上)、DOWM(向下)和OUT(跳出)。在其它实施例中,可以用滚轮或骨状体(dogbone)设备(稍后描述)的变体来实现特定的指令。
本发明的其它实施例公开了把一组至少两个指令调用(包括但不限于键盘键)的功能组合成单个逻辑按钮的方法,在某些实施例中,通过从第一到最后对该组指令调用区分优先级,然后使用操作系统外壳挂钩(shell hook)以优先级顺序为除最后一指令以外的所有指令作出应用程序指令调用,直到一个被“接受”(被识别并执行),或者如果除最后一指令以外的所有指令都被“拒绝”(未被识别),则发布最后一指令作为操作系统指令。例如,当时,当OUT(跳出)会等同于某些其它实施例中的Back(后退)或Escape(退出)指令调用时,本发明许多其它实施例中使用的一个重要组合是把Back(后退)和Escape(退出)指令调用合并为一个OUT(跳出)指令。这种指令级联方法通过使用操作系统外壳挂钩向应用程序发布一指令作为应用程序指令,并且如果该应用程序指令被拒绝,则直接向操作系统发布一不同的指令,该方法在许多实施例中对于相对简单的、单手导航设备中的成功功能是关键的。其它实施例采用其它策略来扩展有限数量的逻辑按钮所提供的核心指令功能。
有关发明的其它实施例公开了以下作用的方法和系统:通过首先确定显示设备的方向、然后根据显示设备的方向把指令逻辑地重映射到逻辑按钮,从而把指令逻辑地重映射到导航设备的按钮,所述导航设备与物理上可旋转的显示设备相耦合。在某些实施例中,如果显示设备上的显示改变为不同的方向,假定与显示设备物理方向上的变化相匹配,则指令到逻辑按钮的逻辑映射自动发生。在其它实施例中,显示方向的确定是基于显示设备自身上显示器的方向。在某些专门的实施例中,其中导航解码从垂直到水平是不对称的,逻辑重映射以预定的方式把指令重新映射到逻辑按钮,所述预定方式与终端用户的使用相一致。
对于有关发明的各种实施例,以及对于本发明的几个实施例,某些级联组合尤其有益于本发明的许多实施例。某些级联事件用它们的逻辑按钮名称和它们相应的级联指令来表示(高优先级指令到逐渐较低的优先级指令),如下所示:
·UP(向上):APPCOMMAND_UP→Up Arrow(上箭头)→Scroll Up(上卷)→PageUp(向上翻页)
·DOWN(向下):APPCOMMAND_DOWN→Down Arrow(下箭头)→Scroll Down(下卷)→Page Down(向下翻页)
·NEXT(下一个):APPCOMMAND_NEXT→Tab(制表键)→Right Arrow(右箭头)
·PREV(上一个):APPCOMMAND_PREV→Shift-Tab(换档-制表键)→LeftArrow(左箭头)
·ENTER(回车):APPCOMMAND_ENTER→Return(返回键)→Enter(回车)→“Play”(播放)
·OUT(跳出):APPCOMMAND_OUT→Browser Back(浏览器返回)→Escape(退出)→“Stop”(停止)→Alt-F4
·SWITCH(切换):APPCOMMAND_SWITCH→Alt-Escape→Alt-Tab→WindowsKey(Windows键)→Home
·MENU(菜单):APPCOMMAND_MENU→Shift-F10→“Settings”(设置)
如这里所使用的,“Play(播放)”和“Stop(停止)”是像媒体应用等特定环境的特殊指令,“Settings(设置)”也是其它特定环境中的设置菜单等等的特殊指令。
有关发明的其它实施例、以及本发明的各种实施例公开了用于扩展导航控制设备的功能的系统和方法,其实现是通过:当按钮以预定方式接合而不是以逻辑按钮接合的主要方式(如双击、轻打、按下并保持等等)接合时,把替代指令映射到逻辑按钮,从而实际上可以发出替代指令。
                         发明内容
本发明的各种实施例针对经由应用收集使用(ACU)唯一地标识导航控制设备的系统和方法,ACU具有使用(Usage)值,使导航按钮启用知道导航控制设备的软件应用来监视特定的按钮相关的事件。导航控制设备与软件应用进行通信有两种方式:在一般环境中使用WM_INPUT作为HID(“人类界面设备”),或者在专用环境中使用WM_APPCOMMANDS,这里将详细讨论。本发明的各个实施例针对具有USB功能的导航控制设备的新的UsagePage和Usage。在本发明一实施例中,会从ConsumerPage(0x0c)分配新的顶级使用(Usage)码(导航块=0x07)。
                        附图说明
结合附图可以更好地理解上述发明内容以及下面实施例的详细描述。为了说明本发明,图中示出本发明的示例性构造;然而,本发明不限于所公开的特定方法和手段。图中:
图1是表示其中可结合本发明各方面的计算机系统的框图;
图2是表示其中可结合本发明各方面的网络的示意图;
图3A是描述本发明特定实施例中ENTER按钮的逻辑的流程图;
图3B是描述本发明特定实施例中ENTER按钮逻辑中变化的流程图;
图4A是描述本发明特定实施例中UP按钮的逻辑的流程图;
图4B是描述本发明特定实施例中UP按钮逻辑中变化的流程图;
图5A是描述本发明特定实施例中DOWN按钮的逻辑的流程图;
图5B是描述本发明特定实施例中DOWN按钮逻辑中变化的流程图;
图6A是描述本发明特定实施例中OUT按钮的逻辑的流程图;
图6B是描述本发明特定实施例中OUT按钮逻辑中变化的流程图;
图7A说明了本发明特定实施例中的四个按钮排列;
图7B说明了本发明另一实施例,其具有类似的方向,但四个按钮垂直排列;
图7C说明了本发明的另一替代实施例,其示出水平排列的按钮;
图7D说明了本发明的另一实施例,其说明了以经修改的垂直方式排列的按钮;
图7E说明了本发明特定实施例中的替代的四按钮排列;
图8A说明了本发明特定实施例中的滚轮/按钮组合;
图8B说明了本发明特定实施例中的滚轮/按钮组合的实施例的另一布局;
图8C说明了本发明特定实施例中的滚轮/按钮组合的实施例的另一布局;
图9说明了一点击滚轮;
图10说明了一摇摆滚轮;
图11A说明了本发明特定实施例中的骨状体/按钮组合;
图11B说明了本发明特定实施例中的骨状体/按钮组合的实施例的另一布局;
图11C说明了本发明特定实施例中的骨状体/按钮组合的实施例的另一布局;
图12说明了一点击骨状体;
图13说明了一摇摆骨状体;
图14A说明了采用超级滚轮的本发明一实施例;
图14B说明了采用超级骨状体的本发明一实施例;
图15A说明了一个九按钮设备;
图15B说明了一个八按钮设备;
图15C是列出图15A中各按钮的直接指令(或逻辑输入)的表格;
图16A说明了在“惯用右手的肖像”方向上的显示设备,其右侧附着了一个摇摆骨状体;
图16B说明了图16A的设备在向右旋转90度(四分之一圆)后,达到“底面版图”方向;
图16C是图16B的设备又向右旋转90度(现在总共是180度,或者向右二分之一圆),形成“惯用左手的肖像”;
图16D是图16C的设备又向右旋转90度(现在总共是270度,或者向右四分之三圆),形成“顶端版图”;
图17是表示指令到各个方向上逻辑按钮的实际映射的表格,这是对于本发明的特定实施例,其采用固定导航设备的逻辑旋转方案,使得逻辑按钮根据它们的方向而对应于特定的指令;
图18A说明了在“前端版图”方向上的另一显示设备,其中在设备底部结合有一摇摆骨状体;
图18B说明了图18A的设备向右旋转90度;
图18C说明了图18A的设备向右旋转180度;
图18D说明了图18A的设备向右旋转270度;
图19A说明了在惯用右手的肖像方向(原始方向)上有一可旋转导航设备的显示设备;
图19B说明了图19A的显示设备向右旋转90度,而同时从显示设备的角度看,可旋转的导航设备向左旋转90度,因此保持相同的绝对方向;
图19C说明了图19B的设备又旋转90度,但导航设备保持相同的绝对方向;
图19D说明了图19C的设备又选择90度,但导航设备保持相同的绝对方向;
图20A说明了菱形排列的四个按钮;
图20B说明了直线排列的四个按钮;
图20C说明了没有标记的图20A的按钮;
图20D说明了没有标记的图20B的按钮;
图21A说明了没有标记的以“罗盘”排列的八个按钮;
图21B说明了有方向标记的图21A的按钮;以及
图21C说明了有罗盘标记的图21A的按钮。
                         具体实施方式
简介
特别描述了本发明主题以满足规定要求。然而,描述自身不限制本发明。发明人认为:连同现在或将来的技术,所要求保护的主题也可以以其它方式被包含,从而包括不同的元件或者与该文档中描述的元件类似的元件组合。
计算机环境
本发明的许多实施例可以在图1的计算机上执行,下列讨论提供了对其中可实现本发明的适当计算环境的一般简要描述。尽管不需要,仍会以计算机可执行指令的一般上下文来描述本发明,比如由客户端工作站或服务器这样的计算机所执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员会理解,本发明可以用其它计算机系统配置来实现,包括手提设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机等等。本发明还可以在分布式计算环境中实现,其中由通过通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块既可位于本地内存存储设备中,又可位于远程内存存储设备中。
如图1所示,示例性的通用计算系统包括常规的个人计算机20等等,个人计算机20包括:处理单元21、系统内存22、及把包括系统内存在内的各种系统组件耦合至处理单元21的系统总线23。系统总线23可能是多种类型总线结构的任一种,包括内存总线或内存控制器、外围总线、及使用任一多种总线结构的局域总线。系统内存包括只读内存(ROM)24和随机存取内存(RAM)25。基本输入/输出系统26(BIOS)一般存储在ROM 24内,它包含例如启动期间帮助在个人计算机20内的元件间传输信息的基本例程。个人计算机20还可以包括:用于向硬盘(未示出)读写的硬盘驱动器27、用于向可移动磁盘29读写的磁盘驱动器28、以及用于向诸如CD ROM等可移动光盘3 1或其它光学媒质进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连到系统总线23。驱动器及它们相关的计算机可读媒质为个人计算机20的计算机可读指令、数据结构、程序模块及其他数据提供非易失性存储。尽管这里所述的示例性环境采用了硬盘、可移动磁盘29和可移动光盘31,然而本领域的技术人员应该理解,在示例性操作环境中也可以使用其它类型的计算机可读媒质,其存储可由计算机存取的数据,比如磁带盒、闪存卡、数字视频盘、Bernoulli盒带、随机存取内存(RAM)、只读内存(ROM)等等。
许多程序模块可以被保存在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38。用户可以通过诸如键盘40和指示设备42这样的输入设备将指令和信息输入到个人计算机20中。其它输入设备(未示出)可包括麦克风、游戏杆、游戏板、卫星式圆盘天线、扫描仪等等。这些和其它输入设备经常通过与系统总线耦合的串行端口接口46与处理单元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与LAN 51相连。当用于WAN网络环境中时,个人计算机20一般包括用于在诸如因特网这样的广域网52上建立通信的调制解调器54或其它装置。调制解调器54可以是内部或外部的,它通过串行端口接口46与系统总线23相连。在网络化环境中,关于个人计算机20所述的程序模块或其部分可以被保存在远程的内存存储设备中。可以理解,所示网络连接是示例性的,也可以使用在计算机间建立通信连接的其它装置。
虽然预计本发明的各个实施例尤其适用于计算机化的系统,然而该文档中的任何内容都不使本发明限制于这样的实施例。相反,这里使用的术语“计算机系统”包含有按钮、或能确定按钮或按钮等价物的任何及所有的设备,而无论这种设备的性质是电子的、机械的、逻辑的还是虚拟的。
网络环境
图2说明了其中可采用本发明各方面的示例性网络环境。当然,实际的网络和数据库环境可以有多种组态;然而,这里所示的示例性环境提供了一种框架,便于理解本发明工作的环境类型。
网络可以包括客户计算机20a、服务器计算机20b、数据源计算机20c以及数据库70、72a和72b。客户计算机20a和数据源计算机20c经由如内联网这样的通信网络80与服务器计算机20b进行电通信。客户计算机20a和数据源计算机20c通过通信接口82连到通信网络。通信接口82可以是任一公知的通信接口,比如以太网连接、调制解调器连接等等。
服务器计算机20b通过数据库服务器系统软件提供数据库70的管理,下面详细描述。这样,服务器20b充当来自多个数据源的数据的仓库,并且将数据提供给多个数据用户。
在图2的例子中,数据源由数据源计算机20c提供。数据源计算机20c经由通信网络80把数据传递到服务器计算机20b,通信网络80可以是局域网、广域网、内联网、因特网等等。数据源计算机20c把数据逻辑地保存在数据库72a、72b中,数据库72a、72b可以是有关的数据库服务器、电子制表软件、文件等等。例如,数据库72a示出保存在表格150、152和154中的数据。由数据源20c提供的数据被组合并保存在大型数据库中,比如由服务器20b所维持的数据仓库。希望使用服务器计算机20b所保存的数据的客户计算机20a可以经由通信网络80来存取数据库70。客户计算机20a通过对数据库70上保存的数据进行SQL查询(例如更新、插入和删除)来请求数据。
综述
这里为了本发明特定实施例描述的“对象”其组成有(不加限制):对话框、菜单、网页、文本页、可移动制图对象、或者本领域技术人员已知且理解的计算机系统中某些其它这样的项目。为了描述本发明,假定所有对象可以方便地被分成四类之一:(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。
根据这种基本原理,本发明的各个实施例用于一设备,其具有用于OUT、UP、DOWN和ENTER的四个逻辑按钮,一起表示核心导航指令,这组主要功能是本发明许多使用辅助指令的增强实施例的基础。这组基本按钮和相应的功能关于核心指令可以被编制成无穷多种用户应用。例如,四个基本导航按钮功能,即“导航按钮(navbutton)”可用于各种各样的控制表面,比如无线显示屏、远程控制、按键表链、腕表、智能电话、音乐设备以及其它这样的用户应用(不加限制),无论这些是否被视为传统的计算设备。
而且,对于公开了一性质上可见的结果的实施例,比如在显示监视器上可见的效果,也预期并包括了非可见的效果。例如,如果一组按钮被描述为在显示设备上上移或下移光标,则预期另一实施例,其中该效应是不可见的,比如听觉效应(如增加或减小音量)或者触觉效应(例如加热表面温度增加或降低)。因此,这里的任何内容都不应被解释为把本发明的各实施例限制为视觉定向的结果,因为这里完全预计了不可见的结果。
最后,这里所公开的许多实施例虽然在单独设备中是理想的,但也可以被结合为较大设备的一部分。例如,预计许多实施例会表明自身是键盘上按钮的集群(可能在箭头键群集和调页键群集之间)、在显示屏旁边(与其它按钮和界面一起)、是触摸屏(或任何其它虚拟实施例)上的虚拟按钮等等,不加限制。在任一事件中,这里的任何内容都不应被解释为把本发明的任一方面限制为独立的实施例。
核心指令和相关实施例
下列指令包括本文中使用的某些按键核心指令,以及它们怎样由系统在特定的环境中解释:
·UP:向上移动(步进)一单位、线、单元、滚动增量、页面或屏幕;MS WindowsAPPCOMMAND_NAVPAD_UP事件;或者USB HID NAVPAD_UP事件。
·DOWN:向下移动(步进)一单位、线、单元、滚动增量、页面或屏幕;MS WindowsAPPCOMMAND_NAVPAD_DOWN事件;或者USB HID NAVPAD_DOWN事件。
·NEXT:移到(跳到)下一个对象、字段、链接或窗格;MS WindowsAPPCOMMAND_NAVPAD_NEXT事件;或者USB HID NAVPAD_NEXT事件。
·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 Windows APPCOMMAND_NAVPAD_OUT事件;或者USB HID NAVPAD_OUT事件。
·MORE:显示与可用于当前对象的选项有关的细节,或者执行可用于当前对象的选项;MS Windows APPCOMMAND_NAVPAD_MORE事件;或者USB HIDNAVPAD_MORE事件。
·SWITCH:切换到下一个窗口、屏幕、页面、应用、或功能提供;MS WindowsAPPCOMMAND_NAVPAD_SWITCH事件;或者USB HID NAVPAD_SWITCH事件。
图3A是描述本发明特定实施例中ENTER按钮的逻辑的流程图。当在方框302中按下ENTER按钮时,ENTER按钮系统在方框304确定对象是否是一选择对象(而不是内容对象或可移动的制图对象),如果不是,则在方框350中,对于本实施例不发生任何其它事件,系统返回。(相关领域的熟练技术人员可以理解,除本发明空事件以外的事件对于内容对象和可移动制图对象当然是可能的。)相反,如果对象的确是选择对象,则在方框306,系统确定是否已经选择了对象中的活动元件(active element)。如果已经选择了活动元件,则在方框312发生“执行”事件,其等价于按下键盘上的Enter键(适当地导致所选元件的Open(打开)、Accept(接受)或OK(同意),因为这类事件是本领域的技术人员已知且理解的);然后系统在方框350返回。相反,如果尚未选择活动元件,则在方框308中,系统作出关于对象的元件是否已经被标记为Initial Focus(初始焦点)(作为缺省的选择元件)的确定,如果是,则在方框314中,选择被标记为初始焦点的元件,然后系统在方框350返回。最后,如果没有初始焦点,则在方框316中,系统选择对象的第一个列出的元件,然后在方框350返回。
当然,在某些情况下会需要图3B所述逻辑流程的变化形式。例如,考虑图3B是一流程图,仅仅为图3A所述的ENTER按钮描述了这种逻辑上的变化。在该实施例中——并且在已经确定如下之后:(a)在方框304确定对象是一选择对象,(b)在方框306确定尚未选择活动元件,以及(c)在方框308确定对象没有初始焦点(与图3A的方法相同)——则在方框310,图3B的系统进一步确定是否有任何活动元件可见,如果是,则在方框318就选择第一个可见的元件,否则,如果不是,系统会接着在方框316选择第一个列出的元件。本发明在此公开了逻辑上的这个变化及其它这样的微小变化。
注意到通过使用这些特定实施例的方法以及这里的其它方法,可以预期,在某些情况下,用户可以按下ENTER按钮一次以选择一元件(当尚未选择元件时),然后再次按下ENTER按钮以执行该元件(等价于按下键盘上的Enter键)。
图4A是描述本发明特定实施例中UP按钮的逻辑的流程图。当在方框402按下UP按钮时,UP按钮系统在方框404确定对象是否是一选择对象。如果不是,系统就在方框422确定该对象是内容对象还是可移动的制图对象。如果对象是可移动的制图对象,系统就在方框432简单地向上轻推(移动)该对象一预定距离(例如一个像素),或者如这里所假定的(以及图中的其它地方),如果该方向上的进一步位移不可能或不被允许,则不做任何事情。尽管当期望方向上的位移不可能或不被允许时,这里未说明该逻辑用于处理这种“空事件”,然而图中用散列方框说明了这种逻辑的一例,并且稍后仅为内容对象而描述该例,然而在其它图中也应假定或隐含这种逻辑。
再次回到该附图,如果对象实际上是一内容对象,则系统在方框424确定对象中的文本由一行组成还是由不止一行组成。如果文本对象由不止一行组成,则(为了说明上述当期望方向上的位移不可能或不被允许时用于处理“空事件”的逻辑)系统在方框426进一步确定第一行上是否已有插入点,如果是,则系统不做任何事情并在方框450返回;否则,系统在方框434把插入点上移一行,然后在方框450返回。相反,如果文本对象仅由一行组成,则系统在方框428确定插入点是否在该行的第一个字符前已经存在,如果是,则系统不做任何事情并在方框450返回;否则,系统在方框436把插入点左移一个字符,然后在方框450返回。
如果系统在方框404确定该对象实际上是一选择对象,则系统在方框406确定是否已经选择该对象内的活动元件。如果已经选择了活动元件,则系统在方框412选择列表中的前一元件(且隐含着前面选择的元件被去除选择),系统然后在方框450返回。相反,如果尚未选择活动元件,则系统接着在方框408作出有关对象的元件是否已被标记为初始焦点(作为缺省的选择元件)的确定,如果是,则在方框414中,选择被标记为初始焦点的元件,然后系统在方框450返回。最后,如果没有初始焦点,则系统在方框416选择对象的第一个列出的元件,然后在方框450返回。
图4B是根据前面介绍的用于区分图3B和图3A的类似变化,描述图4A中所述的UP按钮的逻辑变化的流程图。在图4B的实施例中——这里又是在已经确定如下以后:(a)在方框404确定对象是一选择对象,(b)在方框406确定尚未选择活动元件,以及(c)在方框408确定对象没有初始焦点(与图4A的方法相同)——则在方框410,图4B的系统进一步确定是否有任何活动元件可见,如果是,则在方框418就选择第一个可见的元件,否则,如果不是,系统会接着在方框416选择第一个列出的元件。
图5A是描述本发明特定实施例中DOWN按钮的逻辑的流程图。当在方框502按下DOWN按钮时,DOWN按钮系统在方框504确定对象是否是一选择对象。如果不是,系统就在方框522确定该对象是内容对象还是可移动的制图对象。如果对象是可移动的制图对象,系统就在方框0532简单地向下轻推(移动)该对象一预定距离(例如一个像素),或者如这里所假定的(以及图中的其它地方),如果该方向上的进一步位移不可能或不被允许,则不做任何事情。相反,如果对象实际上是一内容对象,则系统在方框524确定对象中的文本由一行组成还是由不止一行组成。如果文本对象由不止一行组成,则系统在方框526进一步确定最后一行上是否已有插入点,如果是,则系统不做任何事情并在方框550返回;否则,系统在方框534把插入点下移一行,然后在方框550返回。相反,如果文本对象仅由一行组成,则系统在方框528确定插入点是否在该行的第一个字符前已经存在,如果是,则系统不做任何事情并在方框550返回;否则,系统在方框536把插入点右移一个字符,然后在方框550返回。
如果系统在方框504确定该对象实际上是一选择对象,则系统在方框506确定是否已经选择该对象内的活动元件。如果已经选择了活动元件,则系统在方框512选择列表中的下一元件(且隐含着前面选择的元件被去除选择),系统然后在方框550返回。相反,如果尚未选择活动元件,则系统接着在方框508作出有关对象的元件是否已被标记为初始焦点(作为缺省的选择元件)的确定,如果是,则在方框514中,选择被标记为初始焦点的元件,然后系统在方框550返回。最后,如果没有初始焦点,则系统在方框516选择对象的最后一个列出的元件,然后在方框550返回。
图5B是根据前面介绍的用于区分图3B和图3A以及图4B和图4A的类似变化,描述图5A中所述的DOWN按钮的逻辑变化的流程图。在图5B的实施例中——这里又是在已经确定如下以后:(a)在方框504确定对象是一选择对象,(b)在方框506确定尚未选择活动元件,以及(c)在方框508确定对象没有初始焦点(与图5A的方法相同)——则在方框510,图5B的系统进一步确定是否有任何活动元件可见,如果是,则在方框518就选择最后一个可见的元件,否则,如果不是,系统会接着在方框516选择最后一个列出的元件。
尽管实际上传统的Escape功能长期被使用,然而它仍是很受限制且高度专用的。例如,为了关闭一窗口,实际上大多数窗口根本不对Escape键响应,而是对“Alt-F4”键响应。同样,关于具有导航“历史”的应用——也就是导航沿着某类逻辑路径进行——关闭窗口的动作不很重要(也不广泛使用),因为用户需要且希望后退(Back)(也就是,保持窗口打开并根据观察到的历史返回当前环境内的以前的或不同的内容)。因此,关于OUT按钮,对于本发明的特定实施例,我们用更强大的“Out”概念来代替Escape或Back的概念。
在特定的级联实施例中,OUT可以是由Back和Escape指令调用两者所提供的功能的逻辑和受管理的组合,这两个按钮的合并非常有利,因为在各种应用环境中,很少完全和一致地使用这些按键。当然,在使用Back和Escape两者且各具有不同功能的少数应用环境中,希望用户猜测OUT按钮复制哪个键盘按键是不实际也是低效率的。本发明特定实施例给出的一种解决方案是当Back键指令被争论中(atissue)的应用所理解时使用OUT按钮来产生一Back键指令,以及当Back键指令不被应用所理解时产生Escape键指令。这样,具有历史的应用比Back键功能有更多好处,因为其中移动Back的能力比通过Escape关闭窗口更频繁也更重要,而没有Back键功能的应用自动地获取这里由Escape键所提供的各种功能。为了通过OUT按钮实现这个Back/Escape键的选择方法,这里所公开的本发明的某些实施例首先使用了操作系统外壳挂钩来产生一Back键指令作为“应用指令”(应用程序的应用指令),然后,如果该Back指令被应用拒绝,则产生与按下键盘上的Escape键等价的Escape指令。当然,其它实施例可以简单地把Escape或Back映射到OUT,这里所包含的任何内容都不意图限制OUT的基本功能;而这里我们会假定OUT是指Back/Escape的级联功能。
图6A是描述本发明特定实施例中OUT按钮的方法逻辑的流程图。当在方框602按下OUT按钮时,OUT按钮系统在方框604使用操作系统外壳挂钩向应用发布一应用指令,该指令等价于由用户按下键盘上的Back键所产生的指令(有时也被标记为Browser Back(浏览器后退)键或者某些其它等价键,这些键的操作有时也用鼠标上的右键点击来实现)。然后,系统在方框606确定Back应用指令是否被拒绝,如果没有,则系统在方框650返回;否则,系统在方框608发布一Escape指令,然后在方框650返回。
图6B是一流程图,根据图6A所述的方法描述了OUT按钮方法的更复杂的逻辑。图6B中,当在方框602按下OUT按钮时,系统在方框610首先确认窗口是否在其历史的开始处(因此没有可“后退”之处)。在这种情况下,该方法可以做以下两件事情之一:(a)它会忽视OUT按钮(空事件)并且立即返回,(b)它会通过Escape关闭该窗口。为了实现后一种选项,可采用以下两种方法之一:(i)系统会继续发送一Back指令,当假定该应用指令被应用拒绝时(因为没有可“后退”之处),系统就继续发送一Escape指令(它是图6A所反映的方法),或者(ii)系统会立即发送一Escape指令,这在本图中描述。因此,如果系统在方框610的确确定了该窗口处在其历史的开始处,系统就立即进行到方框608,并且发布一Escape指令,然后在方框650返回。否则,在方框604处,系统再次使用操作系统外壳挂钩向应用发布一用于后退(Back)的应用指令,然后在方框606处,系统确定该Back指令是否被拒绝,如果不是,则系统在方框650返回,否则系统在方框608发布一Escape指令然后在方框650返回。
本发明的几个不同的物理实施例当然是可行的。图7A所述的一个这样的实施例是四按钮排列,比如在垫板或设备上,其包括以所示菱形排列的ENTER 702、OUT704、UP 706和DOWN 708。图7B是本发明的另一实施例,其具有类似的方向但四个按钮垂直排列,比如沿着计算设备的右边缘。图7C是本发明的另一替代实施例,示出沿着计算设备的前沿垂直排列的按钮。相反,图7D是本发明还有一个实施例,说明了一种以经修改的方式排列的按钮,其中ENTER 702在中心,UP 706和DOWN 708分别在ENTER 702垂直的上方和下方,OUT 704在这三个直线排列的按钮的上左侧。当然,对于特定的四按钮设备,不同的指令组合是适当的,图7E的设备说明了类似于图7A的设备,除了该设备的四个按钮对应于指令UP、DOWN、PREV和NEXT以外。
然而,由于这里公开的四按钮模式是逻辑的而不是物理的,因此本发明的特定实施例还可以使用不同的物理组件。例如,图8A所述的本发明的一个实施例包括一种滚轮/按钮组合,其具有一个垂直滚轮802以及两个按钮804和806,其中滚轮802根据其被旋转的方向而等同于UP和DOWN功能(如图所示分别向上或向下),而按钮804和806在被按下时分别与ENTER和OUT相关联。该实施例中的滚轮802可以以与鼠标设备上的滚轮类似的方法进行操作,使得滚轮向上或向下的各微小滚动都组成输入,这是本领域公知且理解的。图8B说明了滚轮/按钮组合的一个实施例中的另一布局,图8C说明了一实施例的还有一个这样的布局。
图9说明了本发明的另一替代实施例,其中滚轮902不仅支持与UP和DOWN相对应的向上和向下移动,而且当应用预定的最小压力阈值时,充当ENTER的按钮。该按下输入特征使滚轮902(在此成为点击滚轮)能接收三个不同的输入,而第四个输入OUT对应于点击滚轮902附近的按钮904。
在本发明另一实施例中,如图10所示,单个物理元件摇摆滚轮902采用了四按钮模式。摇摆滚轮1002类似于常规的滚轮,除了它进一步支持左右摇摆移动而不损害垂直滚动以外。根据这个能力,向左摇摆对应于ENTER,向右摇摆对应于OUT,而UP和DOWN继续从滚轮1002的向上和向下滚动得出(如图所示)。此外,如果为本实施例所述的摇摆滚轮还结合了图9中点击滚轮的按下输入,这一实施例会获得第五个按钮能力,这可以在某些5+按钮配置中采用,这些配置提供了下面详述的某些附加实施例。
图11A说明了本发明的另一实施例,它与图8A所公开的发明类似,但是使用了骨状体1102而不是传统的滚轮。骨状体1102基本上是一人体工学的改进滚轮设备,它尤其适合与拇指啮合,而传统的滚轮最佳适用于食指。在该实施例中,骨状体1102的垂直向上或向下的滚动逻辑上分别等价于UP和DOWN功能(如图所示),而按钮1104和1106在按下时分别对应于ENTER和OUT。图11B说明了骨状体/按钮组合的一个实施例的另一布局,图11C说明了一实施例的还有一个这样的布局。
图12说明了本发明的另一替代实施例,其中骨状体1202步进支持与UP和DOWN对应的向上和向下移动,而且当应用预定的最小压力阈值时,充当ENTER的按钮。这种按下输入特征使骨状体1202(在此称为点击骨状体)能接收三个不同的输入,而第四个输入OUT对应于点击骨状体1202附近的按钮1204。
最后,在图13所示的本发明还有一个实施例中,单个物理元件摇摆骨状体1302采用四按钮模式。摇摆骨状体1302类似于图10所示的摇摆滚轮1002,其进一步支持左右摇摆移动而不损害垂直的滚动位移。根据该能力,向左摇摆骨状体1302对应于ENTER,向右摇摆对应于OUT,而UP和DOWN继续从骨状体1302的向上和向下滚动而得出(如图所示)。此外,如果为本发明说明的摇摆骨状体还结合了图12中点击骨状体的按下输入,这一实施例会获得第五个按钮能力,它会在某些5+按钮配置中被采用,这些配置提供了下面详细讨论的某些其它实施例。
扩展指令和相关实施例
目前公开的本发明实施例集中于一模式,其包括四个按钮(或者与滚轮和骨状体的情况下按钮的逻辑等价形式)直接映射到四个基本指令ENTER、UP、DOWN和OUT。虽然毫无疑问这一简单模式的能力包括用于导航对象的大多数有用的指令,然而,通过以以下四种方式之一来扩展按钮的功能使功能有更宽泛的范围:物理地、时间地、逻辑地以及组合方式。例如,特定的实施例可以映射除四个基本指令ENTER、UP、DOWN和OUT以外的附加指令,对于六逻辑按钮的实施例包括PREV和NEXT,对于八逻辑按钮的实施例包括PREV、NEXT、MORE和SWITCH。
一种扩展逻辑的四指令排列的方式是通过简单地添加更多按钮(或按钮逻辑等价形式)并映射附加的指令来扩展物理的四按钮排列。例如,如果图10所示的摇摆滚轮的四按钮功能还包括图9中点击滚轮的按下输入功能,这个增强的滚轮(在此称为超级滚轮)逻辑上表明第五个按钮,因此可以直接采用第五个指令(或者在下面讨论的逻辑或组合模式中使用)。同样,如果图12所示的摇摆骨状体的四按钮功能还包括图13中点击骨状体的按下输入功能,这个增强的骨状体(在此称为超级骨状体)逻辑上表明第五个按钮,因此可以直接采用第五个指令(或者在下面讨论的逻辑或组合模式中使用)。图14A说明了采用超级滚轮的本发明一实施例,而图14B说明了采用超级骨状体的本发明一实施例。
当超级滚轮或超级骨状体与附加的按钮组合时,功能强大的导航设备能够用一只手(或甚至一个手指或拇指)来操作。例如,在特定实施例中,设备可以使用摇摆骨状体加上两个按钮(总共六个逻辑按钮),或者摇摆骨状体加上四个按钮(总共八个逻辑按钮),各个按钮都有被映射到逻辑按钮的相应指令。同样,通过在各个这些实施例中取代摇摆骨状体的超级骨状体,可以分别获得七按钮设备和九按钮设备。
图15A说明了导航设备的一个这样的实施例,其使用了一个超级骨状体和四个垂直排列的附加物理按钮,超级骨状体在排列的中心。这种九按钮设备下文中被称为垂直九单元器(niner)。参照图15A,垂直九单元器1502包括一个超级骨状体1504,其具有两个按钮1506和1508在上方,两个按钮1510和1512在下方。各个按钮的直接指令(或逻辑输入)在图15C的表格中列出。注意到在该实施例中,ENTER、UP、DOWN和OUT具有如前述相同的功能,ENTER对应于两个逻辑按钮(这是允许的,尽管不需要)。同样,另一实施例可包括一个八按钮设备,比如图15B所示的设备,它具有类似的指令映射但其中ENTER仅对应于单个逻辑按钮。同样注意到代替左箭头和右箭头功能的PREV和NEXT,它们对应于Tab和Alt-Tab指令调用,这因为在导航的环境下,PREV和NEXT功能更加有用;然而在特定的环境中,可能期望以Escape和Back在OUT指令中组合的类似方式把PREV和左箭头指令组合在一起。
扩展逻辑按钮的功能的另一种方法是当按下按钮并且“压住”一段预定的时间时提供特殊功能。例如,如果用户按下并压住UP按钮,则对于本发明特定实施例它是逻辑的以解释为不同的指令,例如,PAGEUP指令复制键盘上的PageUp(向上翻页)键。或者,系统还可以快速地自动重复UP指令,类似于按下和压住键盘上的上箭头键的作用。
扩展这里所示按钮模式功能的另一种方法是分辨不同种类的“运动”,类似于鼠标区分单击和双击之间差别的方式。例如,当使用滚轮或骨状体模式时,逻辑上的扩展是把滚轮向上或向下轻推(轻推是短时间内的大位移)视为分开的逻辑按钮。例如,鉴于骨状体向上或向下的正常滚动分别导致UP和DOWN指令,因此向上或向下轻推滚轮会分别得到PAGEUP或PAGEDOWN指令,后者又分别等价于键盘上的PageUp和PageDown键。
扩展按钮功能的另一功能强大的手段是任何按钮的各种组合(在被同时按下时)可用于表示一指令,该指令不同于与单独按钮正常相关的指令。例如,本发明的一个实施例可包括四个物理导航按钮、一个摇摆骨状体或者摇摆滚轮作为初级导航逻辑按钮组,可能除了修改量(modifier)按钮以外,修改量按钮使四个逻辑按钮能具有次级映射。修改量按钮在许多方面等价于许多计算机化设备上的“Fn”键,计算机设备有便携式电脑、Tablet PC等等。此外,修改量还可以是“双抽头的”,以实现附加的指令,比如调用一特殊菜单,该特殊菜单对于其实现所在的特殊计算机化设备可能特别有用——例如,在设备上的肖像和版面方向之间旋转显示屏的菜单,这种功能在此处特别相关和有用(这些下面进一步详述)。
至此描述的实施例大大基于:根据给定环境内的不同物理用户交互而映射不同的逻辑结果。然而,其它实施例还可以使单个特定的物理交互在不同环境(例如分别是文本文档、虚拟书或放映幻灯片)中导致不同的逻辑结果(例如步进、滚动或调页)。例如,通过使用摇摆骨状体,向下滚动会等价于在一环境中向下步进一行、在另一环境中向下滚动一页、以及在还有一环境中向下翻页一篇文档。同样,又是使用摇摆骨状体,向左摇摆可以在一环境中的窗格间跳转、在另一环境中的链接间跳跃、或是在还有一实施例中进入树型分层结构中一较低的分支,向右摇摆又具有在各个这样的环境中相应的相对逻辑结果。沿着这些行的其它实施例使用以下类似地操作:摇摆滚轮、超级骨状体、超级滚轮、以菱形配置的四个按钮、沿着像罗盘点的圆周均匀配置的八个按钮、游戏杆、D-Pad、触摸板、触摸条等等,不加限制。除了步进、滚动和调页以外,其它指令可包括ENTER和OUT(总称为“存取”)、以及任何其它的两部分抽象相对的指令(一般称为“抽象”)。
灵活方向
在其中菜单在肖像和版面方向间旋转显示屏特别相关和有用的设备上,本发明的另一重要元件在各实施例中结合了把逻辑按钮指令重定向到物理按钮的能力。例如,考虑图16A的设备,说明了显示设备1602,比如Tablet PC,其与附着在其右侧的摇摆骨状体1604处在“惯用右手的肖像”方向。为了简便,摇摆骨状体1604的各逻辑按钮的功能(也就是对于向上滚动、向下滚动、向左摇摆以及向右摇摆)被标记为A、B、C和D(标签),并且对于摇摆骨状体1604保持一致,而摇摆骨状体1604的各逻辑按钮的指令(对于UP、DOWN、PREV和NEXT指令分别被标记为U、D、P、N)实际上与该特定物理方向(即,惯用右手的肖像方向)上的摇摆骨状体1604有关,逻辑按钮到指令的逻辑映射表示如下(标记在左面,指令在右面):
A=U
B=D
C=P
D=N
然而,对于本发明的特定实施例,当显示设备1602被旋转时,逻辑按钮分配被适当地重映射。例如,考虑图16B,它说明了设备1602被向右旋转90度(四分之一圆)后到达“底面版图”方向。这会在用户指示设备改变显示屏的方向后发生,因此指令到逻辑按钮的随后重映射也会自动发生。在该旋转后的方向上,摇摆骨状体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的指令保持不变。而且,虽然该重映射(一百八十度)实际上仅仅是自前一方向的部分重映射(向右90度),但它也是从原始方向的完全重映射。
图16D是同一设备又向右旋转90度的说明(现在总共270度,向右四分之三圆),当从该设备方向上看显示器被重定向时,所产生的重映射自动或手动地发生。在该方向上,摇摆骨状体1604的逻辑映射可以表示如下(标记在左面,指令在右面):
A=U
B=D
C=N
D=P
注意到,当与前一方向相比较时,逻辑按钮A和B的指令现在已调换,而逻辑按钮C和D的指令保持不变。如果设备再被旋转一次回到原始位置,逻辑按钮C和D的指令会调换,而逻辑按钮A和B的指令会保持不变。总之,本发明的特定实施例为固定的导航设备采用了逻辑旋转方案,使得逻辑按钮根据它们的方向对应于特定指令,其实际映射在图17的表格中说明。该映射最适用于沿一条物理轴对称的设备,比如滚轮和骨状体。
图18A说明了另一显示设备1802,这里小型显示设备作为无限制的例子,在设备底部集成了摇摆骨状体1804的“前端版面”上,所述设备再向右旋转90度三次,所述设备以类似于图16A-D的设备的方式重映射逻辑指令。
旋转显示设备的困境的另一解决方式是同时也旋转物理的用户界面自身。图19A说明了具有可旋转的导航设备1904的显示设备1902,所述显示设备处在惯用右手的肖像方向。图19B说明了显示设备1902被向右旋转90度,而从显示设备1902的角度看,可旋转的导航设备1904被向左旋转90度,因此保持相同的绝对方向。图19C和19D说明了同意设备各自另外被旋转90度。在各个情况下,导航设备1904保持相同的绝对方向。
以类似的方式,旋转对于在旋转时物理上不可分辨的某些导航设备来说也是虚拟的,因此仅需要发生逻辑旋转。虽然该方法不适用于使用滚轮或骨状体的导航设备,所述导航设备具有主要的滚动轴,但是其它实施例,比如图7A所示的四按钮导航设备,其中按钮以菱形排列,也允许物理按钮间容易的直接重映射(逻辑旋转),从而实现旋转后的设备中的功能,该功能类似于如图19A-D公开的可旋转导航设备所实现的功能。指令在物理按钮间的这种旋转适用于垂直和水平方向上均对称的任何导航设备,比如在前面讨论的菱形排列中。
导航无关的维(dimensions)
在目前描述的许多实施例中,尤其在包括多个对称按钮的那些实施例中,逻辑按钮的功能对应于这些按钮的物理位置——也就是,逻辑维反映出物理维。然而,本发明的另一实施例打破了物理和逻辑间的这种关联,以便进一步扩展这种用户界面设备的功能。
多个对称按钮是一组逻辑按钮(可能或可能不包括设备的所有逻辑按钮)以及它们的物理等价物(例如,按钮、滚轮或骨状体),其中后者以多维方式物理地排列在设备上,表示按钮的功能在逻辑上相关关联并且可从物理布局来确定。例如,考虑图20A和20B,包括以不同物理配置排列的四个按钮;这两个实施例都有相同的按钮,但图20A的按钮沿着两条轴线多维地排列(UP和DOWN垂直排列,而LEFT和RIGHT水平排列),而图20B的按钮仅沿一条水平轴一维地排列。根据物理布局,图20A的各按钮的功能由按钮间的相互关系提出;然而,图20B的按钮的功能很大程度上不可确定。例如,关于图20C的按钮布局,这类似于图20A的布局但没有清楚的标记,这些按钮中每一个的功能都可自然地假定为相互关联(A和C相对,B和D相对,前者与纵轴有关,后者与水平轴有关),而且对应于各按钮的相对方向上的位移。然而,图20D的按钮布局,它类似于图20B的布局但没有清楚的标记,没有提供这种关系的表示,或者该功能与两个方向(垂直和水平)上的位移有关。
实际上,图20A和20C的四按钮“菱形”排列和它们的等价物(包括例如摇摆滚轮、摇摆骨状体)强有力地表示了沿横轴和纵轴的多维位移,这种功能通常自动被假定。而且,按钮间任何这样的物理关系都被容易地假定为对应于那些按钮的基本功能(比如水平和垂直位移),且筛选现有技术,自动地假定(限制)多维是空间上的多维位移(与X、Y轴以及各条对角线有关)。例如,考虑图21A中的“罗盘”按钮排列,即使没有标记,也会假定其与沿二维空间上的四条轴线有关,这由图21B和图21C清楚表示。然而,在许多用户导航环境中,这种仅仅基于按钮物理关系的相互关联的功能可能不是最有效的,比如当垂直位移重要但水平位移不重要时,反之亦然。
为了使各个不同的环境中单个用户界面设备的多样性和可应用性最大化,本发明的其它实施例包括对称的多个按钮(物理上彼此相关),其对应于不对称相关(即逻辑上彼此无关)的逻辑按钮。例如,在本发明一实施例中,其具有如图7A的四按钮多维排列,而垂直按钮对应于垂直位移,水平按钮对应于除垂直位移以外的指令(在该情况中为ENTER和OUT)。类似的,在本发明另一个这样的实施例中,其中水平按钮对应于水平位移,垂直按钮对应于除水平位移以外的指令。当然,在还有一个这样的实施例中,水平按钮对应于除水平位移以外的指令,垂直按钮对应于除垂直位移以外的指令。可采用该方法的其它实施例包括各种对称的多个按钮,包括但不限于:四按钮菱形排列、八按钮罗盘排列、摇摆骨状体(以及超级骨状体)、摇摆滚轮(以及超级滚轮)、D-Pad、游戏杆、各种按钮排列以及/或者任一上述及其等价物的组合。此外,该方法不限于二维的物理或逻辑的实施例,但关于物理元件以及逻辑功能实际上是多维的。
事件处理
本发明的各种实施例针对经由应用收集使用(ACU)唯一地标识导航控制设备的系统和方法,ACU具有使用(Usage)值,使导航按钮启用知道导航控制设备的软件应用来监视特定的按钮相关的事件。
通用串行总线(USB)是支持许多设备类型的非常多样化的端口,包括支持导航控制设备。虽然大多数设备需要特殊的驱动,然而操作系统(例如MS Windows和Mac操作系统)中的内嵌驱动支持USB设备的一个子类,称为“人类界面设备”(HID),比如有USB功能的导航控制设备。导航控制设备的输入可以由基于视窗的计算机系统进行如下处理:(a)传感器从该设备接收一信号并将其转发至计算机系统上的设备驱动;(b)设备驱动把输入转换成WM_INPUT、WM_APPCOMMAND、WM_KEYDOWN、WM_KEYPRESS或WM_KEYUP消息;(c)操作系统将这些消息放在要被应用程序的主窗口程序处理的消息队列中;以及(d)前台程序处理所关心的消息。例如,数字媒体流程序会处理与通用远程控制上的特定功能按钮(例如暂停、播放、停止、快进以及倒带)相对应的消息,但是忽略从所述通用远程控制的数字键区而来的消息。
导航控制设备与软件应用进行通信有两种方式:或者在一般环境中使用WM_INPUT作为HID使用;或者在专用环境中使用WM_APPCOMMANDS。在这一点上,本发明的各实施例针对有USB功能的导航控制设备的新UsagePage和Usage。
在本发明的一个实施例中,—比如图15A中表示的九按钮设备,除了按下SDB等于把光标集中在窗口中央的CENTER指令以外—会从ConsumerPage(0x0c)如下分配新的顶级使用码(导航块=0x07):
     按钮      HID使用码
    UP     0x300
    DOWN     0x301
    NEXT     0x302
    PREV     0x303
    center     0x304
    ENTER     0x305
    OUT     0x306
    MORE     0x307
    SWITCH     0x308
然而,对于不经由WM_INPUT接收或处理这些新的使用码作为HID事件的软件应用而言,通过使用上面公开的级联指令方法,导航控制设备提供了第二级指令作为应用指令。
如果软件应用不处理这些应用指令,则这些事件由外壳挂钩捕获并且按照缺省的按键事件(前面已讨论)进行处理,包括以下第三级指令:
事件(应用指令等价形式)      虚拟键盘映射
    NAVPAD_UP     VK_UP
    NAVPAD_DOWN     VK_DOWN
    NAVPAD_NEXT     VK_TAB
    NAVPAD_PREV     Shift+VK_TAB
    NAVPAD_center     VK_ENTER
    NAVPAD_ENTER     VK_ENTER
    NAVPAD_OUT     VK_BROWSER_BACK/VK_ESCAPE*
    NAVPAD_MORE     VK_APPS
    NAVPAD_SWITCH     Alt+VK_ESCAPE
*如果忽视VK_BROWSER_BACK,则发送VK_ESCAPE
此外,如前面所提到的,导航控制设备的某些按钮会有按下并保持的行为,这不同于它们的按压行为。对于某些实施例而言,这些行为可以是全局的,因此不使应用特定的(也就是没有等价的应用指令),而其它实施例可以有应用特定的行为(也就是,具有等价的应用指令)。在本发明一实施例中,导航控制设备具有下列所标识按钮的全局按下并保持的行为:
     事件    全局的按下并保持行为
    NAVPAD_OUT   Alt+VK_F4
    NAVPAD_MORE   设备特定的配置和控制菜单
    NAVPAD_SWITCH   Ctrl+VK_ESCAPE(开始菜单)
没有唯一的按下并保持指令的按钮在被按下时发出自动重复的应用指令。按下并保持行为的延迟阈值可以依赖于键盘控制面板自动重复的延迟设置。然而,多种特定的按下并保持映射和定时是可行的。
结论
这里描述的各种技术可以用硬件或软件来实现,或适当时用两者的组合来实现。因此,本发明的方法和装置或者其某些方面或部分可以采用包含在确切媒质中的程序代码(即指令)的形式,所示媒质如软盘、CD-ROM、硬盘驱动器、或者任何其它机器可读的存储媒质,其中当程序代码被加载到机器(比如计算机)中并由其执行时,机器成为用于实现本发明的装置。在程序代码在可编程计算机上执行的情况下,计算机一般会包括处理器、可由处理器读取的存储媒质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。为了与计算机系统通信,最好用高级的面向过程或面向对象的编程语言来实现一个或多个程序。然而,根据需要,程序可以用汇编或机器语言来实现。在任一情况下,语言可以是编译的或解释的语言,并且与硬件实现组合。
本发明的方法和装置还可以包含在某些传输媒质上发送的程序代码的形式中,比如在电线或电缆上发送、通过光纤发送、或通过任何其它传输形式来发送,其中,当程序代码被接收并被载入机器(比如EPROM、门阵列、可编程逻辑器件(PLD)、客户端计算机、视频记录器等等)并由其执行时,机器就成为用于实现本发明的装置。当在通用处理器上实现时,程序代码与处理器结合以提供一独特装置,用于执行本发明的功能。
虽然已经结合各图的实施例描述了本发明,然而应该理解,可以使用其它类似的实施例,或者对所述实施例作出修改或添加,用于执行与本发明相同的功能而不背离本发明。例如,虽然以仿真个人计算机功能的数字设备的环境描述了本发明的示例性实施例,然而本领域的普通技术人员会认识到,本发明不限于这样的数字设备,本申请中所述的内容可应用于任何数量的现有或正在出现的计算设备或环境,比如游戏控制台、手提电脑、便携式计算机、移动电话、手表、音乐播放器、特定机械设备等等,无论有线还是无线,并且可应用于经由通信网络相连并在该网络上交互的任何数量的这种计算设备。还例如,“按钮”(以及这里使用的其它物理设备)可以是可变大小、形状、间隔等等,以便实现特定的人体工学优点。同样,各按钮可用一个字、符号来标记,或者根本不标记,各按钮会有不同的色彩、形状或其它将它与其它区分开来的特征(或者没有)。
应该强调,这里预期了多种计算机平台,包括手提设备操作系统和其它专用操作系统,尤其是随着无线网络设备的数目的继续增长。因此,本发明不应被限制于任何单一实施例,而是被视为符合所附权利要求的宽度和范围。

Claims (31)

1.一种用户界面系统,所述系统包括一界面,该界面为了向一对象应用指令组中的一个而产生一逻辑输入,所述指令组包括一组最低程度必要的指令。
2.如权利要求1所述的用户界面系统,其特征在于,所述最低程度必要的指令组包括九条指令。
3.如权利要求2所述的用户界面系统,其特征在于,所述最低程度必要的指令组还包括CENTER、ENTER、UP、DOWN、OUT、PREV、NEXT、SWITCH和MORE。
4.如权利要求3所述的用户界面系统,还包括:
用于处理CENTER指令的子系统;
用于处理ENTER指令的子系统;
用于处理UP指令的子系统;
用于处理DOWN指令的子系统;
用于处理OUT指令的子系统;
用于处理PREV指令的子系统;
用于处理NEXT指令的子系统;
用于处理SWITCH指令的子系统;以及
用于处理MORE指令的子系统。
5.如权利要求4所述的用户界面系统,其特征在于,所述指令组由CENTER指令、ENTER指令、UP指令、DOWN指令、OUT指令、PREV指令、NEXT指令、SWITCH指令和MORE指令组成。
6.如权利要求5所述的用户界面系统,其特征在于,所述用户界面系统是一导航控制设备。
7.如权利要求6所述的用户界面系统,其特征在于,所述导航控制设备是具有从ConsumerPage(0x0c)分配的顶级使用(Usage)码(导航块=0x07)的通用串行总线设备。
8.如权利要求7所述的用户界面系统,其特征在于,所述导航控制设备是具有以下逻辑按钮和来自所述ConsumerPage的HID使用码的多个功能组合中至少一个功能组合的通用串行总线设备:UP=0x300;DOWN=0x301;NEXT=0x302;PREV=0x303;CENTER=0x304;ENTER=0x305;OUT=0x306;MORE=0x307;以及SWITCH=0x308。
9.如权利要求6所述的用户界面系统,其特征在于,所述导航控制设备具有逻辑事件(对应于一逻辑按钮)和软件应用的应用指令(AppCommand)的多个有关组合中的至少一个有关组合。
10.如权利要求6所述的用户界面系统,其特征在于,所述导航控制设备具有以下逻辑事件(对应于一逻辑按钮)和虚拟键盘指令的多个缺省组合中的至少一个有关组合:NAVPAD_UP=VK_UP;NAVPAD_DOWN=VK_DOWN;NAVPAD_NEXT=VK_TAB;NAVPAD_PREV=Shift+VK_TAB;NAVPAD_CENTER=VK_ENTER;NAVPAD_ENTER=VK_ENTER;NAVPAD_OUT=VK_BROWSER_BACK/VK_ESCAPE;NAVPAD_MORE=VK_APPS;以及NAVPAD_SWITCH=Alt+VK_ESCAPE。
11.一种用于导航对象的方法,其包括用户界面系统的使用,所述系统包括一界面,该界面为了向一对象应用指令组中的一个而产生一逻辑输入,所述指令组包括CENTER、ENTER、UP、DOWN、OUT、PREV、NEXT、SWITCH和MORE。
12.如权利要求11所述的方法,其特征在于,所述方法包括从ConsumerPage(0x0c)分配的顶级使用(Usage)码(导航块=0x07)的使用。
13.如权利要求12所述的方法,其特征在于,所述导航控制设备是具有以下逻辑按钮和来自所述ConsumerPage的HID使用码的多个功能组合中至少一个功能组合的通用串行总线设备:UP=0x300;DOWN=0x301;NEXT=0x302;PREV=0x303;CENTER=0x304;ENTER=0x305;OUT=0x306;MORE=0x307;以及SWITCH=0x308。
14.如权利要求11所述的方法,其特征在于,所述导航控制设备具有逻辑事件(对应于一逻辑按钮)和软件应用的应用指令(AppCommand)的多个有关组合中的至少一个有关组合。
15.如权利要求11所述的方法,其特征在于,所述导航控制设备具有以下逻辑事件(对应于一逻辑按钮)和虚拟键盘指令的多个缺省组合中的至少一个有关组合:NAVPAD_UP=VK_UP;NAVPAD_DOWN=VK_DOWN;NAVPAD_NEXT=VK_TAB;NAVPAD_PREV=Shift+VK_TAB;NAVPAD_CENTER=VK_ENTER;NAVPAD_ENTER=VK_ENTER;NAVPAD_OUT=VK_BROWSER_BACK/VK_ESCAPE;NAVPAD_MORE=VK_APPS;以及NAVPAD_SWITCH=Alt+VK_ESCAPE。
16.一种包括计算机可读指令的计算机可读媒质,所述指令用于一界面,该界面为了向一对象应用指令组中的一个而产生一逻辑输入,所述指令组包括一组最低程度必要的指令,其中所述最低程度必要的指令组包括九条指令。
17.如权利要求16所述的计算机可读媒质,还包括指令,借此所述最低程度必要的指令组还包括CENTER、ENTER、UP、DOWN、OUT、PREV、NEXT、SWITCH和MORE。
18.如权利要求17所述的计算机可读媒质,还包括以下子系统的指令:
用于处理CENTER指令的子系统;
用于处理ENTER指令的子系统;
用于处理UP指令的子系统;
用于处理DOWN指令的子系统;
用于处理OUT指令的子系统;
用于处理PREV指令的子系统;
用于处理NEXT指令的子系统;
用于处理SWITCH指令的子系统;以及
用于处理MORE指令的子系统。
19.如权利要求18所述的计算机可读媒质,还包括指令,借此所述指令组由CENTER指令、ENTER指令、UP指令、DOWN指令、OUT指令、PREV指令、NEXT指令、SWITCH指令和MORE指令组成。
20.如权利要求19所述的计算机可读媒质,还包括指令,使所述用户界面系统充当导航控制设备。
21.如权利要求20所述的计算机可读媒质,还包括指令,使所述导航控制设备充当具有从ConsumerPage(0x0c)分配的顶级使用(Usage)码(导航块=0x07)的通用串行总线设备。
22.如权利要求21所述的计算机可读媒质,还包括指令,使所述导航控制设备充当具有以下逻辑按钮和来自所述ConsumerPage的HID使用码的多个功能组合中至少一个功能组合的通用串行总线设备:UP=0x300;DOWN=0x301;NEXT=0x302;PREV=0x303;CENTER=0x304;ENTER=0x305;OUT=0x306;MORE=0x307;以及SWITCH=0x308。
23.如权利要求20所述的计算机可读媒质,还包括指令,使所述导航控制设备具有逻辑事件(对应于一逻辑按钮)和软件应用的应用指令(AppCommand)的多个有关组合中的至少一个有关组合。
24.如权利要求20所述的计算机可读媒质,还包括指令,使所述导航控制设备具有以下逻辑事件(对应于一逻辑按钮)和虚拟键盘指令的多个缺省组合中的至少一个有关组合:NAVPAD_UP=VK_UP;NAVPAD_DOWN=VK_DOWN;NAVPAD_NEXT=VK_TAB;NAVPAD_PREV=Shift+VK_TAB;NAVPAD_CENTER=VK_ENTER;NAVPAD_ENTER=VK_ENTER;NAVPAD_OUT=VK_BROWSER_BACK/VK_ESCAPE;NAVPAD_MORE=VK_APPS;以及NAVPAD_SWITCH=Alt+VK_ESCAPE。
25.一种硬件控制设备,其产生与向一对象应用的指令组中的一个相对应的一逻辑输入,所述指令组包括一组最低程度必要的指令,其中所述最低程度必要的指令组包括九条指令。
26.如权利要求25所述的硬件控制设备,其特征在于,所述最低程度必要的指令组还包括CENTER、ENTER、UP、DOWN、OUT、PREV、NEXT、SWITCH和MORE。
27.如权利要求26所述的硬件控制设备,还包括:
用于处理CENTER指令的硬件子系统;
用于处理ENTER指令的硬件子系统;
用于处理UP指令的硬件子系统;
用于处理DOWN指令的硬件子系统;
用于处理OUT指令的硬件子系统;
用于处理PREV指令的硬件子系统;
用于处理NEXT指令的硬件子系统;
用于处理SWITCH指令的硬件子系统;以及
用于处理MORE指令的硬件子系统。
28.如权利要求27所述的硬件控制设备,其特征在于,所述导航控制设备是具有从ConsumerPage(0x0c)分配的顶级使用(Usage)码(导航块=0x07)的通用串行总线设备。
29.如权利要求28所述的硬件控制设备,其特征在于,所述导航控制设备具有以下逻辑按钮和来自所述ConsumerPage的HID使用码的多个功能组合中至少一个功能组合的通用串行总线设备:UP=0x300;DOWN=0x301;NEXT=0x302;PREV=0x303;CENTER=0x304;ENTER=0x305;OUT=0x306;MORE=0x307;以及SWITCH=0x308。
30.如权利要求27所述的硬件控制设备,其特征在于,所述导航控制设备具有逻辑事件(对应于一逻辑按钮)和软件应用的应用指令(AppCommand)的多个有关组合中的至少一个有关组合。
31.如权利要求27所述的硬件控制设备,其特征在于,所述导航控制设备具有以下逻辑事件(对应于一逻辑按钮)和虚拟键盘指令的多个缺省组合中的至少一个有关组合:NAVPAD_UP=VK_UP;NAVPAD_DOWN=VK_DOWN;NAVPAD_NEXT=VK_TAB;NAVPAD_PREV=Shift+VK_TAB;NAVPAD_CENTER=VK_ENTER;NAVPAD_ENTER=VK_ENTER;NAVPAD_OUT=VK_BROWSER_BACK/VK_ESCAPE;NAVPAD_MORE=VK_APPS;以及NAVPAD_SWITCH=Alt+VK_ESCAPE。
CNA2003801000070A 2002-12-16 2003-12-15 导航控制设备的事件处理 Pending CN1685394A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US43391402P 2002-12-16 2002-12-16
US60/433,914 2002-12-16
US46736703P 2003-05-02 2003-05-02
US60/467,367 2003-05-02
US43099003A 2003-05-05 2003-05-05
US60/430,990 2003-05-05
US72153603A 2003-11-25 2003-11-25
US10/721,536 2003-11-25

Publications (1)

Publication Number Publication Date
CN1685394A true CN1685394A (zh) 2005-10-19

Family

ID=34382156

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2003801000070A Pending CN1685394A (zh) 2002-12-16 2003-12-15 导航控制设备的事件处理

Country Status (6)

Country Link
EP (1) EP1573711A4 (zh)
JP (1) JP2006510136A (zh)
KR (1) KR20050074269A (zh)
CN (1) CN1685394A (zh)
AU (1) AU2003297171A1 (zh)
WO (1) WO2004059422A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513915A (zh) * 2012-06-29 2014-01-15 Lg电子株式会社 数字装置及其控制方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003297080A1 (en) * 2002-12-16 2004-07-29 Microsoft Corporation Systems and methods for interfacing with computer devices
KR100955954B1 (ko) * 2002-12-16 2010-05-04 마이크로소프트 코포레이션 명령들을 연쇄적으로 수행하기 위한 방법, 컴퓨터 판독가능 저장 매체 및 메모리를 포함하는 장치
JP2006510135A (ja) * 2002-12-16 2006-03-23 マイクロソフト コーポレーション コンピュータ装置とインタフェースをとるシステム及び方法
US8264381B2 (en) 2008-08-22 2012-09-11 Microsoft Corporation Continuous automatic key control
US10795407B2 (en) 2018-10-19 2020-10-06 Rakuten Kobo Inc. Electronic reading device with a mid-frame structure
JP6995242B2 (ja) * 2018-10-19 2022-01-14 楽天グループ株式会社 ミッドフレーム構造を有する電子書籍リーダ装置
US11586576B2 (en) 2018-10-19 2023-02-21 Rakuten Kobo, Inc. Electronic reading device with a mid-frame structure

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237654A (en) * 1990-04-17 1993-08-17 International Business Machines Corporation Hierarchical inter-panel process flow control
JPH09106337A (ja) * 1995-10-11 1997-04-22 Oki Electric Ind Co Ltd ユーザーインタフェース生成装置
US6276107B1 (en) * 1998-05-07 2001-08-21 Pacific International Tool & Shear, Ltd. Unitary modular shake-siding panels, and methods for making and using such shake-siding panels
US6040829A (en) * 1998-05-13 2000-03-21 Croy; Clemens Personal navigator system
AU2003297080A1 (en) * 2002-12-16 2004-07-29 Microsoft Corporation Systems and methods for interfacing with computer devices
JP2006510137A (ja) * 2002-12-16 2006-03-23 マイクロソフト コーポレーション コンピュータ装置とインタフェースをとるシステム及び方法
WO2004059424A2 (en) * 2002-12-16 2004-07-15 Microsoft Corporation Systems and methods for interfacing with computer devices
KR100955954B1 (ko) * 2002-12-16 2010-05-04 마이크로소프트 코포레이션 명령들을 연쇄적으로 수행하기 위한 방법, 컴퓨터 판독가능 저장 매체 및 메모리를 포함하는 장치
JP2006510135A (ja) * 2002-12-16 2006-03-23 マイクロソフト コーポレーション コンピュータ装置とインタフェースをとるシステム及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513915A (zh) * 2012-06-29 2014-01-15 Lg电子株式会社 数字装置及其控制方法
US9696792B2 (en) 2012-06-29 2017-07-04 Lg Electronics Inc. Digital device and method for controlling the same
CN103513915B (zh) * 2012-06-29 2017-12-08 Lg电子株式会社 数字装置及其控制方法

Also Published As

Publication number Publication date
WO2004059422A2 (en) 2004-07-15
AU2003297171A8 (en) 2004-07-22
EP1573711A4 (en) 2007-12-05
KR20050074269A (ko) 2005-07-18
EP1573711A2 (en) 2005-09-14
WO2004059422A8 (en) 2005-05-19
WO2004059422A3 (en) 2004-09-16
JP2006510136A (ja) 2006-03-23
AU2003297171A1 (en) 2004-07-22

Similar Documents

Publication Publication Date Title
CN1200336C (zh) 自动缩放图标以适合数据处理系统内的一个显示区的方法
CN1525301A (zh) 个人数字助理及所使用的程序
CN1302361C (zh) 接收和处理指点器输入的方法
JP4551869B2 (ja) コンピュータ装置とインタフェースをとるシステム及び方法
TWI437484B (zh) 具方向性手勢輸入之轉譯
US20090128504A1 (en) Touch screen peripheral device
KR100955955B1 (ko) 컴퓨터 장치들과 인터페이싱하기 위한 시스템들 및 방법들
US20140132518A1 (en) Concurrently displaying multiple characters for input field positions
CN1869907A (zh) 电子设备
CN100345105C (zh) 办公应用程序中用于提供内容相关帮助信息的方法和系统
CN1811686A (zh) 手机触摸屏上的任务栏和标题菜单工具栏
CN1752913A (zh) 电子装置和触控板装置
JP5906185B2 (ja) ユーザフレンドリなテキストアイテムの入力
US20130127728A1 (en) Method and apparatus for inputting character in touch device
CN1255720C (zh) 数据处理系统的含有图象变换区的显示屏幕及数据处理方法
CN1685394A (zh) 导航控制设备的事件处理
EP1573494A2 (en) Systems and methods for interfacing with computer devices
CN100351746C (zh) 与计算机设备对接的系统和方法
KR20050074268A (ko) 컴퓨터 장치들과 인터페이싱하기 위한 시스템들 및 방법들
EP1573714A2 (en) Systems and metzhods for interfacing with computer devices
CN1527190A (zh) 输入字符的信息处理设备和方法
CN2793808Y (zh) 进阶式鼠标
CN1622020A (zh) 一种专用汉字输入键盘与计算机系统对接的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication