CN101681199A - 多输入控件的选择性启用 - Google Patents
多输入控件的选择性启用 Download PDFInfo
- Publication number
- CN101681199A CN101681199A CN200880017310A CN200880017310A CN101681199A CN 101681199 A CN101681199 A CN 101681199A CN 200880017310 A CN200880017310 A CN 200880017310A CN 200880017310 A CN200880017310 A CN 200880017310A CN 101681199 A CN101681199 A CN 101681199A
- Authority
- CN
- China
- Prior art keywords
- input
- user interface
- input mechanism
- control
- interface controls
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
-
- 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
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
公开了一种控件系统,该控件系统是可配置的(例如,由程序员),以便允许来自多个源的输入捕捉到多个控件。同样或另选地,该系统是可配置的,以便允许来自多个来源的输入捕捉到单个控件。该系统还提供用于为个别控件过滤掉冲突事件的一致且可扩展的模式。在一个实施例中,这意味着该系统是可配置的(例如,基于程序员断言的偏好),以便允许关于是否可为给定控件捕捉其它输入的选择性判定。
Description
背景
控件是被计算机程序员利用来构建图形用户界面(GUI)的界面元素。不同的控件支持与计算机程序的用户的不同类型的交互。一些诸如单选按钮、复选框、下拉列表以及工具栏之类的控件支持选择型功能。诸如选项卡和滚动条等其它控件支持导航型功能。诸如文本框和组合框等其它控件支持文本输入功能。诸如工具提示、进度条以及标签等其它控件支持输出功能。还有其它的控件支持面向窗口的功能。在许多情况下,计算机程序员将能够访问包含从中进行选择的控件集合的控件工具包。
最近,引入了支持一个或多个用户同时(或几乎同时)激活多个输入的设备。不幸的是,现有控件系统通常未被配置成有效地管理此类多输入模式。许多现有系统限于单输入控件,就其支持多输入(例如,多触摸)场景的能力而言这些单输入控件不是特别有效的。在此类情况下单输入控件常常发生故障和/或看起来被破坏。
例如,可想像包含传统滚动条的界面,该滚动条是包含诸如“向上”按钮、“向下”按钮以及用于拖曳和滚动的“块”滑标等其它控件的合成控件。在许多多输入系统内,如果尝试同时按下向上和向下按钮,则按钮将在同一时刻激发向上和向下命令。应用程序不可能被配置成有效地处理该冲突事件。
用于避免控件冲突的一种可靠的解决方案是使对整个应用程序的用户输入仅限于单输入。然而,在这些情况下,多输入功能未增加任何价值。因此,需要被配置成有效地管理来自一个或多个用户的多个输入的控件模式。
提供以上讨论仅用作一般的背景信息,并不旨在用于帮助确定所要求保护的主题的范围。
概述
公开了一种控件系统,该控件系统是可配置的(例如,由程序员),以便允许来自多个源的输入同时捕捉到多个控件。同样或另选地,该系统是可配置的,以便允许来自多个源的输入同时捕捉到单个控件。该系统还提供用于为个别控件过滤掉冲突事件的一致且可扩展的模式。在一个实施例中,这意味着该系统是可配置的(例如,基于程序员断言的偏好),以便允许关于是否可为给定控件捕捉附加输入的选择性判定。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来协助确定所要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图简述
图1是计算机编程环境的示意图。
图2是示例用户界面的描述。
图3是与示例用户界面相关联的用户界面元素的树形表示。
图4是具有用过滤掉不支持的输入的捕捉门(CaptureGate)功能来标记的特定用户界面元素的树形表示。
图5是示出根据多捕捉场景的用于管理输入的方法的框流程图。
图6是示出根据捕捉门场景的用于管理输入的方法的框流程图。
图7是计算系统环境的示意性描述。
详细描述
图1是计算机编程环境100的示意图。在环境100内,程序员与用户界面框架102交互以产生用户界面110。界面110包括多个控件112。
在图1内,用户120被示为通过输入机制122、124和126中的一个或多个来与用户界面110交互。通过操纵输入机制122、124和126中的部分或全部,用户120能够与控件112交互,该控件112由程序员101通过与框架102交互来创建并配置。在一个实施例中,多个输入可同时(或几乎同时)从输入122、124和126中的多于一个输入传送,且不必仅源自单个用户。应该注意,机制122、124和126可以是任何输入机制,诸如但不限于鼠标输入机制、触摸屏输入机制、语音输入机制、激光指针输入机制、或允许用户120传送输入的任何其它机制。理论上,必然可以存在所示的三种输入机制以外的输入机制。此外,所有三个输入122、124和126可以是源自单个输入机制的单独的输入(例如,对单个触摸屏机制的多个同时的输入。)
应该注意,此处术语“同时”的使用不应被解释为严格意义上的同时。冲突可被构想为发生于输入之间的任何时间段,例如,在数秒、数毫秒内、或在其它合适的和/或可配置的时间段内。
框架102说明性地包括多捕捉组件104和捕捉门组件106。包括对应的应用程序接口(API)105和107的组件104和106支持框架102的功能的扩展以提供对多输入控件的专用支持。多捕捉组件104说明性地允许控件112捕捉来自多个输入机制(例如,机制122、124和/或126中的一个或多个)的输入并将所有事件从该设备重定向到控件。另选地或另外地,多捕捉组件104允许多个控件112捕捉来自多个输入机制的输入(例如,来自多个输入机制的同时的输入)并将事件从该设备分发到合适的控件。捕捉门组件106提供让程序员过滤掉冲突事件的组织化方式。在一个实施例中,组件106说明性地允许程序员101定义限制用户输入的控件专用逻辑以便为特定控件避免冲突情形。
在转向用户框架102内的组件104和106的功能的更详细描述之前,至少首先转到用于实现单输入控件的现有技术的简要概览是值得的。在典型的场景中,用户界面框架工作将提供通过首先捕捉输入设备并随后将其绑定到对应用户界面元素(即,对应控件)的方法来将输入重定向到特定控件的方式。因此,在输入设备被捕捉时,输入流水线忽略该设备在所捕捉的时间段期间的实际位置所在(即,忽略在捕捉到鼠标时光标的位置所在),将输入从该设备重定向到捕捉控件。
传统单输入场景的一个示例可在支持与鼠标输入设备的交互的典型画图应用程序中找到。在用户准备在画布的图示上“画图”时,他或她在画布上移动光标并例如通过按下并按住鼠标按键来启动“鼠标按下”事件。在发生鼠标按下事件时,应用程序将鼠标设备捕捉到画布控件。此捕捉在发生“鼠标抬起”事件形式的、例如通过释放按住的鼠标按键的用户启动的释放时终止。在所捕捉的时间段期间,即使在光标位置在画布区域以外时(例如,在工具栏用户界面元素上),所有鼠标事件(光标移动等)仍被转发到画布控件。
组件104说明性地通过将所有类似指针的设备(包括“触摸”)当作独立的物理或虚拟设备来对待并允许控件库(或应用程序)独立地捕捉这些设备的任何一个来扩展传统方法。因此,在一个实施例中,控件被配置成知晓多触摸的,使得它将会捕捉发生于其上的任何接触且将所有对应的后续事件路由到该控件。
在一个实施例中,框架102被配置成施加限制以便将输入设备的捕捉限制到单个控件(但非必要)。此类限制可以避免可能的模糊性。然而,当然构想了单个控件可被配置成捕捉多个输入设备。在一个实施例中,框架102被配置成引发“获得捕捉”(″GotCapture″)和“失去捕捉”(″LostCapture″)事件,作为捕捉已经成功或已经被释放的确认。在一个实施例中,在设备断开连接时(例如,在手指离开触摸设备时、在鼠标按键被释放时等),框架102被配置成自动释放捕捉。
组件106说明性地支持过滤掉冲突事件。为给此功能的描述提供上下文,将提供一示例。图2是示例用户界面200的图示。界面200是允许用户在调色板区域204中创建图画的话题应用程序的说明性部分。一组按钮202允许用户在不同功能(例如,画笔、橡皮擦、放大镜等)之间切换(四个不同的说明性按钮202在图2中示出)。滚动条206允许用户按需将调色板区域向上和向下移动。拆分条208将界面的左侧与右侧分开。本领域的技术人员可能熟悉具有基本类似于界面200的界面的应用程序。
图3是界面200的示例性元素(例如,控件等)的树形表示。说明性地,真实情况是图3所示的元素中的某一些可由多个设备(或多次触摸)同时操作而某些则不可。例如,出于说明的目的,假设界面200的各元素的功能如果被配置成支持基于以下原则的交互则最合乎需要:
1.每一按钮202仅可被单个输入激活(例如,被单次触摸按下)。这使得按钮行为相对干净。
2.按钮202本质上是“工具选择器”,且假设画图应用程序具有一次仅支持一个活动工具的限制,则将对包含这些按钮的组框(GroupBox)210的输入限于仅仅单个输入是合理的。
3.拆分条208说明性地是可被用户拖曳以调整左面板和右面板大小的元素。将其限于仅通过单个输入来操纵也是合理的。
4.滚动条206应该仅接受单个输入以避免诸如按下向上和向下和/或拖曳滑动块等冲突动作。
5.滚动条内的向上和向下按钮以及滑动块都可被设置成各自使用单个输入来工作。同样,给定这些元素是合成控件(滚动条)的各部分,则较宽的滚动条说明性地增加避免同时按下向上和向下以及拖曳滑动块的另一限制。
6.与界面200相关联的剩余控件说明性可接受多个输入。例如,用户可以使用一只手来选择工具,同时可使用另一只手来继续用多个手指在画布区域204中画图。
在一个实施例中,捕捉游戏组件106允许程序员101指定各控件如何管理多个输入。组件106说明性地提供具有至少两个操作的抽象类“捕捉门”(“CaptureGate”),这两个操作即:1)尝试获取(Acquire);以及2)释放(Release)。程序员101可通过与框架102的交互来利用捕捉门功能以允许对给定控件的适当实现。
在一个实施例中,捕捉门组件106通过提供允许捕捉门与特定用户界面元素相关联地设置的支持来扩展框架102。此外,在一个实施例中,组件106被配置成为特定元素寻找最顶层的捕捉门(延着父链)。
本领域的技术人员将理解,关于捕捉门功能如何被集成到给定用户界面框架中的细节将基于与给定框架相关联的实现细节而变化。换言之,捕捉门实现的各细节可能是框架专用的。作为示例,与由华盛顿州雷蒙德市的微软公司所提供的产品相关联的图形子系统Windows呈现基础(WPF)提供对定义可在视觉树中的任何用户界面元素上被设置和检索的附加属性的能力的支持。在这种情况下,捕捉门可被实现为附加属性的值。这仅是特定框架内的实现的一个示例。
通常,用户界面框架通过Capture()(捕捉)和Release()(释放)方法来展示对操纵捕捉的能力的支持。在一个实施例中,捕捉门组件106使用寻找最顶层的捕捉门并尝试获取它的能力来扩展这些方法。如果该获取失败(例如,对于Capture()),则说明性地返回错误。此外,组件106被配置成寻找最顶层的捕捉门并释放它(例如,对于Release())。
此外,在一个实施例中,在框架层,捕捉门组件106说明性地提供具有专用功能的专用捕捉门的实现。例如,单捕捉门(SingleCaptureGate)说明性地将获取仅限于单个设备。该单捕捉门本质上是抽象捕捉门类的具体化。捕捉门组件106说明性地让控件作者能够具有选择使用相同接口(获取和释放)来实现另一捕捉门以提供任何行为的能力。例如,如果一按钮要求它应该被N个同时的接触按下,则该控件作者可提供允许在同一时刻的N个输入并过滤掉剩余输入的捕捉门。本领域的技术人员将理解,此处所提供的示例具体化仅为本发明范围内的捕捉门定制的许多示例中的若干个。
因此,在一个实施例中,提供允许控件类的作者(例如,程序员101)通过在控件用户界面元素上设置捕捉门来将该类指定为“仅单个输入”的支持。对于以上示例,所有单选按钮、向上和向下按钮可在按钮构造函数中将单捕捉门设置于其上。在按钮(或任何控件)试图捕捉输入时,捕捉方法将自动寻找最顶层的捕捉门(对于单选按钮1,组合框将被用作捕捉门的源)并试图获取它。在一个实施例中,如果捕捉返回错误指示,则该控件将忽略来自该设备的输入以及其后续事件。继续图2和3的示例,图4示出使用捕捉门来标记(由深色的圆来指示)以便过滤掉不支持的输入的特定用户界面元素。
在一个实施例中,展示捕捉门的API 107具有以下性质:
Public abstract class CaptureGate
{
protected virtual bool TryAcqure(InputDevice,UIElement);
protected virtual void Release(InputDevice);
public static void SetCaptureGate(UIElement,CaptureGate);
}
在一个实施例中,在此所述的其它方法对用户界面框架来说是内部的,且例如通过大多数用户界面框架提供的Capture()和Release()来间接调用。综上所述,本领域的技术人员将理解其它实现模式也在本发明的范围内。
图5是示出用于根据与在此所述的多捕捉功能一致的多捕捉场景来管理输入的方法500的一个实施例的框流程图。根据框502,从第一输入机制接收输入,该输入针对一用户界面控件。根据框504,第一输入机制被捕捉到该用户界面控件。根据框506,从第二输入机制接收输入,该输入也针对该用户界面控件。根据框508,第二输入机制与第一输入机制同时被捕捉到该用户界面控件。
图6是示出用于根据在此所述的捕捉门功能来管理输入的方法600的一个实施例的框流程图。根据框602,从输入机制接收输入。该输入针对一用户界面控件。根据框604,作出关于捕捉门状态是否被分配到该用户界面控件的判定。最后,根据框606,例如基于之前的判定,输入机制被或不被捕捉到用户界面控件。当然,此最后判定的部分可取决于一个或多个不同的输入机制是否已经被捕捉到该用户界面控件,且还可取决于与适用的捕捉门状态相关联的参数。
图7示出了可在其中实现各实施例的合适的计算系统环境700的示例。计算系统环境700只是合适计算环境的一个示例,并非旨在对使用范围或功能提出任何限制。也不应该把计算环境700解释为对示例性操作环境700中示出的任一组件或其组合有任何依赖性或要求。
各实施例可用于众多其它通用或专用计算系统环境或配置。适用于此处所公开的各实施例的公知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、电话系统、包含上述系统或设备中的任一个的分布式计算环境等。
各实施例可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本领域技术人员可以将此处所提供的描述和附图实现为可在任何形式的计算机可读介质上的编写的处理器可执行指令。
各实施例也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图7,用于实现各实施例的示例性系统包括计算机710形式的通用计算设备。计算机710的组件可以包括,但不限于,处理单元720、系统存储器730和将包括系统存储器在内的各种系统组件耦合至处理单元720的系统总线721。系统总线721可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例而非局限,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机710通常包括各种计算机可读介质。计算机可读介质可以是能由计算机710访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机710访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。以上的任何组合也应包括在计算机可读介质的范围内。
系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)731和随机存取存储器(RAM)732。基本输入/输出系统733(BIOS)包括如在启动时帮助在计算机710内的元件之间传输信息的基本例程,它通常储存在ROM 731中。RAM 732通常包含处理单元720可以立即访问和/或目前正在其上操作的数据和/或程序模块。作为示例而非限制,图7示出操作系统734、应用程序735、其它程序模块736和程序数据737。程序735被示为可能包括用户界面开发环境100的一个或多个组件,在此详细描述该用户界面开发环境100的各实施例。这仅为可实现此类组件的场所的一个示例。其他实现(例如,作为程序745、操作系统734或程序785的一部分)也应被认为是在本发明的范围内。
计算机710还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图7示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器741,从可移动、非易失性磁盘752中读取或向其写入的磁盘驱动器751,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘756中读取或向其写入的光盘驱动器755。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器741通常由不可移动存储器接口,诸如接口740连接至系统总线721,磁盘驱动器751和光盘驱动器755通常由可移动存储器接口,诸如接口750连接至系统总线721。
以上讨论并在图7中示出的驱动器及其相关联的计算机存储介质为计算机710提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。在图7中,例如,硬盘驱动器741被示为存储操作系统744、应用程序745、其它程序模块746和程序数据747。注意,这些组件可以与操作系统734、应用程序735、其它程序模块736和程序数据737相同,也可以与它们不同。操作系统744、应用程序745、其它程序模块746和程序数据747在这里被标注了不同的标号是为了说明至少它们是不同的副本。
用户可以通过诸如键盘762、话筒763以及诸如鼠标、跟踪球或触摸垫等定点设备761等输入设备来将命令和信息输入至计算机710中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口760连接至处理单元720,但也可以由其它接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器791或其它类型的显示设备也经由接口,诸如视频接口790连接至系统总线721。除监视器以外,计算机还可以包括其它外围输出设备,诸如扬声器797和打印机796,它们可以通过输出外围接口790连接。
计算机710可使用至一个或多个远程计算机,如远程计算机780的逻辑连接在网络化环境中操作。远程计算机780可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机710描述的多个或所有的元件。图7中所示的逻辑连接包括局域网(LAN)771和广域网(WAN)773,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机710通过网络接口或适配器770连接至LAN 771。当在WAN联网环境中使用时,计算机710通常包括调制解调器772或用于通过诸如因特网等WAN 773建立通信的其它装置。调制解调器772可以是内置或外置的,它可以经由用户输入接口760或其它适当的机制连接至系统总线721。在网络化环境中,相对于计算机710所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例,而非限制,图7示出了远程应用程序785驻留在远程计算机780上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (20)
1.一种管理输入(122、124、126)的计算机实现的方法(500),所述方法包括:
接收(502)来自第一输入机制的输入(122),其中该输入(122)针对一用户界面控件(112);
使得(504)所述第一输入机制变为被捕捉到所述用户界面控件(112);
接收(506)来自第二输入机制的输入(124),其中该输入(124)针对所述用户界面控件(112);以及
使得(508)所述第二输入机制变为被捕捉到所述用户控件(112),其中所述第一和第二输入机制是同时由所述用户界面控件(112)捕捉的。
2.如权利要求1所述的方法,其特征在于,从所述第一输入机制接收(502)输入(122)包括通过触摸屏界面来接收(502)输入,且从所述第二输入机制接收(506)输入(124)包括通过同一触摸屏界面来接收(506)输入。
3.如权利要求1所述的方法,其特征在于,使得(508)所述第一和第二输入机制变为被捕捉包括将来自要被定向的相应机制的后续事件定向到所述用户界面控件(112)。
4.如权利要求1所述的方法,其特征在于,使得(504)所述第一输入机制变为被捕捉包括将来自要被定向的所述第一机制的后续事件定向到所述用户界面控件(112),直到所述第一输入机制被释放。
5.如权利要求1所述的方法,其特征在于,所述第一和第二输入机制是与同一输入设备的分开的交互。
6.一种管理输入(122、124、126)的计算机实现的方法(600),所述方法包括:
接收(602)来自一输入机制的输入(122),其中该输入(122)针对一用户界面控件(112);
标识(604)捕捉门状态是否被分配到所述用户界面控件(112);以及
至少部分基于所述标识来确定(606)是否将所述输入机制捕捉到所述用户界面控件(112)。
7.如权利要求6所述的方法,其特征在于,所述确定(606)还包括至少部分基于一不同输入机制是否已经被捕捉到所述用户界面控件(112)来确定,其中所述输入机制和所述不同输入机制可以源自同一输入设备。
8.如权利要求6所述的方法,其特征在于,所述标识(604)包括标识捕捉门状态是否被分配到相关于但不同于所述用户界面控件(112)的用户界面元素(112)。
9.如权利要求6所述的方法,其特征在于,所述标识(604)包括标识捕捉门状态是否被分配到包括所述用户界面控件(112)的用户界面元素(112)分层结构的顶层。
10.如权利要求6所述的方法,其特征在于,所述确定还包括基于由被分配到所述用户界面控件的捕捉门状态所定义的参数来确定。
11.如权利要求10所述的方法,其特征在于,基于由捕捉门状态所定义的参数来确定(606)包括基于施加于有多少用户输入机制可被捕捉到所述用户界面控件(112)的限制来确定。
12.如权利要求11所述的方法,其特征在于,所述限制是大于一个用户输入机制。
13.一种输入系统(100),包括:
包括控件(110)的用户界面(110);
第一输入机制(122)和第二输入机制(124);
被配置成允许将所述第一(122)和/或第二(124)输入机制捕捉到所述控件(110)的用户界面框架;以及
被配置成由所述用户界面的开发者(101)断言以规定所述第一(122)和第二(124)输入机制中的一个或两者可被捕捉到所述控件(110)的环境的应用程序接口(105、107)。
14.如权利要求13所述的输入系统(100),其特征在于,所述应用程序接口包括允许所述第一(122)和第二(124)输入机制两者被同时捕捉到所述控件(110)的多捕捉接口(105)。
15.如权利要求13所述的输入系统(100),其特征在于,所述应用程序接口(105、107)是所述用户界面框架(102)的扩展。
16.如权利要求13所述的输入系统(100),其特征在于,所述应用程序接口包括允许所述开发者(101)限制所述控件(112)一次捕捉超过一个输入机制的捕捉门接口(107)。
17.如权利要求13所述的输入系统(100),其特征在于,所述应用程序接口包括允许所述开发者(101)限制包括所述控件(112)的一组控件一次捕捉超过一个输入机制的捕捉门接口(107)。
18.如权利要求13所述的输入系统(100),其特征在于,所述应用程序接口包括具有相关获取和释放例程的捕捉门类。
19.如权利要求1所述的输入系统(100),其特征在于,所述第一(122)和第二(124)输入机制是对单个触摸屏输入设备的分开的输入。
20.如权利要求1所述的输入系统(100),其特征在于,所述第一(122)和第二(124)输入机制是来自分开的输入设备的分开的输入。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93171007P | 2007-05-25 | 2007-05-25 | |
US60/931,710 | 2007-05-25 | ||
US11/904,189 US8436815B2 (en) | 2007-05-25 | 2007-09-26 | Selective enabling of multi-input controls |
US11/904,189 | 2007-09-26 | ||
PCT/US2008/064740 WO2008148021A2 (en) | 2007-05-25 | 2008-05-23 | Selective enabling of multi-input controls |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101681199A true CN101681199A (zh) | 2010-03-24 |
CN101681199B CN101681199B (zh) | 2012-07-18 |
Family
ID=40071954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800173107A Active CN101681199B (zh) | 2007-05-25 | 2008-05-23 | 多输入控件的选择性启用 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8436815B2 (zh) |
EP (2) | EP3203354B1 (zh) |
JP (1) | JP5491388B2 (zh) |
KR (2) | KR101475970B1 (zh) |
CN (1) | CN101681199B (zh) |
CA (2) | CA2942033C (zh) |
ES (1) | ES2627303T3 (zh) |
WO (1) | WO2008148021A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077013A (zh) * | 2011-12-05 | 2013-05-01 | 微软公司 | 控件展示 |
CN104169874B (zh) * | 2012-03-15 | 2017-04-12 | 微软技术许可有限责任公司 | 输入数据类型简档 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168478A1 (en) | 2007-01-07 | 2008-07-10 | Andrew Platzer | Application Programming Interfaces for Scrolling |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
US7844915B2 (en) | 2007-01-07 | 2010-11-30 | Apple Inc. | Application programming interfaces for scrolling operations |
US8436815B2 (en) | 2007-05-25 | 2013-05-07 | Microsoft Corporation | Selective enabling of multi-input controls |
US20090184939A1 (en) * | 2008-01-23 | 2009-07-23 | N-Trig Ltd. | Graphical object manipulation with a touch sensitive screen |
US8416196B2 (en) | 2008-03-04 | 2013-04-09 | Apple Inc. | Touch event model programming interface |
US8717305B2 (en) | 2008-03-04 | 2014-05-06 | Apple Inc. | Touch event model for web pages |
US8645827B2 (en) * | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US8477103B2 (en) | 2008-10-26 | 2013-07-02 | Microsoft Corporation | Multi-touch object inertia simulation |
US8466879B2 (en) * | 2008-10-26 | 2013-06-18 | Microsoft Corporation | Multi-touch manipulation of application objects |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US9311112B2 (en) | 2009-03-16 | 2016-04-12 | Apple Inc. | Event recognition |
US8285499B2 (en) | 2009-03-16 | 2012-10-09 | Apple Inc. | Event recognition |
US9684521B2 (en) | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
US10216408B2 (en) | 2010-06-14 | 2019-02-26 | Apple Inc. | Devices and methods for identifying user interface objects based on view hierarchy |
GB2481607A (en) * | 2010-06-29 | 2012-01-04 | Promethean Ltd | A shared control panel |
US20120210261A1 (en) * | 2011-02-11 | 2012-08-16 | Apple Inc. | Systems, methods, and computer-readable media for changing graphical object input tools |
US9298363B2 (en) | 2011-04-11 | 2016-03-29 | Apple Inc. | Region activation for touch sensitive surface |
US8954638B2 (en) | 2012-10-17 | 2015-02-10 | Perceptive Pixel, Inc. | Selective reporting of touch data |
US9946431B2 (en) * | 2013-01-31 | 2018-04-17 | Disney Enterprises, Inc. | Resizable and lockable user interfaces |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
US9665186B2 (en) | 2014-03-19 | 2017-05-30 | Toshiba Tec Kabushiki Kaisha | Desktop information processing apparatus and control method for input device |
US11262886B2 (en) * | 2019-10-22 | 2022-03-01 | Microsoft Technology Licensing, Llc | Structured arrangements for tracking content items on a shared user interface |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02278415A (ja) | 1989-04-20 | 1990-11-14 | Ricoh Co Ltd | 情報処理装置の入力装置 |
US6597347B1 (en) * | 1991-11-26 | 2003-07-22 | Itu Research Inc. | Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom |
US6061062A (en) * | 1991-12-20 | 2000-05-09 | Apple Computer, Inc. | Zooming controller |
US5339388A (en) | 1991-12-31 | 1994-08-16 | International Business Machines Corporation | Cursor lock region |
US5627959A (en) * | 1993-09-20 | 1997-05-06 | Oracle Corporation | Method for manipulating graphic objects |
US5848429A (en) * | 1994-08-23 | 1998-12-08 | Object Technology Licensing Corporation | Object-oriented global cursor tool which operates in an incompatible document by embedding a compatible frame in the document |
US5798760A (en) | 1995-06-07 | 1998-08-25 | Vayda; Mark | Radial graphical menuing system with concentric region menuing |
US5933134A (en) * | 1996-06-25 | 1999-08-03 | International Business Machines Corporation | Touch screen virtual pointing device which goes into a translucent hibernation state when not in use |
JP4035867B2 (ja) | 1997-09-11 | 2008-01-23 | 株式会社セガ | 画像処理装置及び画像処理方法並びに媒体 |
US6003041A (en) | 1998-01-05 | 1999-12-14 | Gateway 2000, Inc. | Method and managing multiple channel maps from multiple input devices in a multimedia system |
US8479122B2 (en) * | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US6204837B1 (en) * | 1998-07-13 | 2001-03-20 | Hewlett-Packard Company | Computing apparatus having multiple pointing devices |
US6570555B1 (en) | 1998-12-30 | 2003-05-27 | Fuji Xerox Co., Ltd. | Method and apparatus for embodied conversational characters with multimodal input/output in an interface device |
US6639584B1 (en) | 1999-07-06 | 2003-10-28 | Chuang Li | Methods and apparatus for controlling a portable electronic device using a touchpad |
US6199195B1 (en) * | 1999-07-08 | 2001-03-06 | Science Application International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
WO2001031627A2 (en) | 1999-10-28 | 2001-05-03 | Canon Kabushiki Kaisha | Pattern matching method and apparatus |
JP2001134382A (ja) | 1999-11-04 | 2001-05-18 | Sony Corp | 図形処理装置 |
US6954196B1 (en) | 1999-11-22 | 2005-10-11 | International Business Machines Corporation | System and method for reconciling multiple inputs |
US6728708B1 (en) | 2000-06-26 | 2004-04-27 | Datria Systems, Inc. | Relational and spatial database management system and method for applications having speech controlled data input displayable in a form and a map having spatial and non-spatial data |
US6708228B1 (en) * | 2000-11-09 | 2004-03-16 | Microsoft Corporation | Automatic computer input device association |
DE60113787T2 (de) | 2000-11-22 | 2006-08-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren und Vorrichtung zur Texteingabe durch Spracherkennung |
US6930730B2 (en) | 2001-05-03 | 2005-08-16 | Mitsubishi Digital Electronics America, Inc. | Control system and user interface for network of input devices |
US7345671B2 (en) | 2001-10-22 | 2008-03-18 | Apple Inc. | Method and apparatus for use of rotational user inputs |
US7111248B2 (en) | 2002-01-15 | 2006-09-19 | Openwave Systems Inc. | Alphanumeric information input method |
US20050132408A1 (en) | 2003-05-30 | 2005-06-16 | Andrew Dahley | System for controlling a video display |
US7789756B2 (en) | 2002-09-13 | 2010-09-07 | Igt | Wagering gaming device having simulated control of movement of game functional elements |
US6989818B2 (en) | 2002-11-07 | 2006-01-24 | Electro Source, Inc. | Input controller for a game system having a combination move feature |
US7337634B2 (en) | 2003-01-09 | 2008-03-04 | General Electric Company | Washer/dryer touch sensitive graphical user interface |
US7164410B2 (en) | 2003-07-28 | 2007-01-16 | Sig G. Kupka | Manipulating an on-screen object using zones surrounding the object |
US9024884B2 (en) * | 2003-09-02 | 2015-05-05 | Apple Inc. | Touch-sensitive electronic apparatus for media applications, and methods therefor |
US20050060653A1 (en) * | 2003-09-12 | 2005-03-17 | Dainippon Screen Mfg. Co., Ltd. | Object operation apparatus, object operation method and object operation program |
US7411575B2 (en) * | 2003-09-16 | 2008-08-12 | Smart Technologies Ulc | Gesture recognition method and touch system incorporating the same |
JP2005115801A (ja) | 2003-10-10 | 2005-04-28 | Matsushita Electric Ind Co Ltd | 入力装置 |
US7673245B2 (en) * | 2003-10-15 | 2010-03-02 | Sap Aktiengesellschaft | Converting user interface panels |
US7284205B2 (en) | 2003-11-18 | 2007-10-16 | Microsoft Corporation | Providing multiple input bindings across device categories |
US7093034B2 (en) * | 2003-11-18 | 2006-08-15 | Microsoft Corporation | Method and apparatus for input management having a plurality of input provider types wherein staging area holds and allows access by external components |
US20050183035A1 (en) * | 2003-11-20 | 2005-08-18 | Ringel Meredith J. | Conflict resolution for graphic multi-user interface |
US7802265B2 (en) | 2004-03-15 | 2010-09-21 | Imi Innovations, Inc. | Computer interface system using multiple independent graphical data input devices |
US7274977B2 (en) | 2004-05-19 | 2007-09-25 | Bendix Commercial Vehicle Systems Llc | Feature enabling unit |
US7519223B2 (en) * | 2004-06-28 | 2009-04-14 | Microsoft Corporation | Recognizing gestures and using gestures for interacting with software applications |
WO2006020304A2 (en) * | 2004-07-30 | 2006-02-23 | Apple Computer, Inc. | Mode-based graphical user interfaces for touch sensitive input devices |
KR101270847B1 (ko) | 2004-07-30 | 2013-06-05 | 애플 인크. | 터치 감지 입력 장치용 제스처 |
US7728821B2 (en) * | 2004-08-06 | 2010-06-01 | Touchtable, Inc. | Touch detecting interactive display |
US7235012B2 (en) | 2004-08-23 | 2007-06-26 | Brain Box Concepts, Inc. | Video game controller with side or quick look feature |
US20060250351A1 (en) | 2004-09-21 | 2006-11-09 | Fu Peng C | Gamepad controller mapping |
US7925996B2 (en) * | 2004-11-18 | 2011-04-12 | Microsoft Corporation | Method and system for providing multiple input connecting user interface |
JP4839615B2 (ja) | 2004-12-29 | 2011-12-21 | 株式会社セガ | ゲーム装置、ゲームプログラム、ゲームシステム |
US20060174202A1 (en) | 2005-01-31 | 2006-08-03 | Bonner Matthew R | Input to interface element |
WO2006100540A1 (en) * | 2005-03-23 | 2006-09-28 | Nokia Corporation | Method and mobile terminal device for mapping a virtual user input interface to a physical user input interface |
US8799802B2 (en) | 2005-06-30 | 2014-08-05 | Nokia Corporation | Apparatus, method and computer program product enabling zoom function with multi-function key input that inhibits focus on a textually-responsive element |
US7568035B2 (en) * | 2005-08-30 | 2009-07-28 | Microsoft Corporation | Command binding determination and implementation |
US9389702B2 (en) * | 2005-10-06 | 2016-07-12 | Hewlett-Packard Development Company, L.P. | Input association |
JP3934660B1 (ja) | 2006-01-19 | 2007-06-20 | 株式会社コナミデジタルエンタテインメント | ビデオゲームプログラム、ビデオゲーム装置及びビデオゲーム制御方法 |
US7620901B2 (en) * | 2006-03-21 | 2009-11-17 | Microsoft Corporation | Simultaneous input across multiple applications |
US7971155B1 (en) * | 2006-10-22 | 2011-06-28 | Hyoungsoo Yoon | Dropdown widget |
US20080136775A1 (en) * | 2006-12-08 | 2008-06-12 | Conant Carson V | Virtual input device for computing |
US8674948B2 (en) * | 2007-01-31 | 2014-03-18 | Perceptive Pixel, Inc. | Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques |
US8436815B2 (en) | 2007-05-25 | 2013-05-07 | Microsoft Corporation | Selective enabling of multi-input controls |
-
2007
- 2007-09-26 US US11/904,189 patent/US8436815B2/en not_active Expired - Fee Related
-
2008
- 2008-05-23 KR KR1020097024427A patent/KR101475970B1/ko active IP Right Grant
- 2008-05-23 EP EP17000317.2A patent/EP3203354B1/en active Active
- 2008-05-23 CN CN2008800173107A patent/CN101681199B/zh active Active
- 2008-05-23 WO PCT/US2008/064740 patent/WO2008148021A2/en active Application Filing
- 2008-05-23 JP JP2010510442A patent/JP5491388B2/ja active Active
- 2008-05-23 KR KR1020147014024A patent/KR101522150B1/ko active IP Right Grant
- 2008-05-23 ES ES08756221.1T patent/ES2627303T3/es active Active
- 2008-05-23 CA CA2942033A patent/CA2942033C/en active Active
- 2008-05-23 CA CA2685087A patent/CA2685087C/en active Active
- 2008-05-23 EP EP08756221.1A patent/EP2150877B1/en active Active
-
2013
- 2013-04-16 US US13/863,638 patent/US9552126B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077013A (zh) * | 2011-12-05 | 2013-05-01 | 微软公司 | 控件展示 |
US9250713B2 (en) | 2011-12-05 | 2016-02-02 | Microsoft Technology Licensing, Llc | Control exposure |
CN103077013B (zh) * | 2011-12-05 | 2016-08-17 | 微软技术许可有限责任公司 | 控件展示 |
CN104169874B (zh) * | 2012-03-15 | 2017-04-12 | 微软技术许可有限责任公司 | 输入数据类型简档 |
Also Published As
Publication number | Publication date |
---|---|
ES2627303T3 (es) | 2017-07-27 |
US20080291174A1 (en) | 2008-11-27 |
KR101475970B1 (ko) | 2014-12-23 |
EP3203354A2 (en) | 2017-08-09 |
CN101681199B (zh) | 2012-07-18 |
CA2942033A1 (en) | 2008-12-04 |
CA2685087C (en) | 2016-11-29 |
EP2150877B1 (en) | 2017-03-01 |
WO2008148021A2 (en) | 2008-12-04 |
US9552126B2 (en) | 2017-01-24 |
EP3203354B1 (en) | 2022-02-23 |
CA2942033C (en) | 2018-07-31 |
JP2010528396A (ja) | 2010-08-19 |
EP2150877A2 (en) | 2010-02-10 |
JP5491388B2 (ja) | 2014-05-14 |
KR101522150B1 (ko) | 2015-05-20 |
US8436815B2 (en) | 2013-05-07 |
WO2008148021A3 (en) | 2009-03-05 |
EP3203354A3 (en) | 2017-09-13 |
CA2685087A1 (en) | 2008-12-04 |
KR20140081892A (ko) | 2014-07-01 |
EP2150877A4 (en) | 2012-04-18 |
US20130227451A1 (en) | 2013-08-29 |
KR20100017302A (ko) | 2010-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681199B (zh) | 多输入控件的选择性启用 | |
CN101669165B (zh) | 用于在多显示器环境中展现图像的装置、系统和方法 | |
US9152529B2 (en) | Systems and methods for dynamically altering a user interface based on user interface actions | |
US7555573B2 (en) | Initiating software responses based on a hardware action | |
US7490298B2 (en) | Creating documentation screenshots on demand | |
CN100573503C (zh) | 自动生成内容的方法和系统 | |
CN103902297B (zh) | 操作系统程序运行菜单搜索 | |
US20080229197A1 (en) | Dynamic and intelligent hover assistance | |
CN107111496A (zh) | 可定制刀片应用 | |
US20100042933A1 (en) | Region selection control for selecting browser rendered elements | |
CN102591640B (zh) | 管理浸入式环境 | |
CN101714077A (zh) | 可图形化管理电脑桌面的装置与方法 | |
US8719704B2 (en) | Seamless integration of additional functionality into enterprise software without customization or apparent alteration of same | |
US10019081B2 (en) | Functionality switching in pointer input devices | |
JP2008158882A (ja) | 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体 | |
CN111679780A (zh) | 一种移动端页面的翻页查看方法及系统 | |
KR100480656B1 (ko) | 상이한 윈도우 환경으로부터의 윈도우 부구성 요소를 단일윈도우 그룹으로서 디스플레이하기 위한 방법 및 시스템 | |
JP2005242474A (ja) | ユーザインタフェース設計装置及びプログラム | |
Lee et al. | Mac OS X Leopard: beyond the manual | |
Stanek | Windows Vista: the definitive guide | |
Gruman et al. | Mac OS X Snow Leopard Bible | |
JP2008217323A (ja) | 着脱可能なデバイス及びデバイスの取り外し制御方法 |
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: 20150511 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150511 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |