CN105474164A - 间接输入的歧义消除 - Google Patents

间接输入的歧义消除 Download PDF

Info

Publication number
CN105474164A
CN105474164A CN201380077437.9A CN201380077437A CN105474164A CN 105474164 A CN105474164 A CN 105474164A CN 201380077437 A CN201380077437 A CN 201380077437A CN 105474164 A CN105474164 A CN 105474164A
Authority
CN
China
Prior art keywords
input
indirect
input device
data
display screen
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
Application number
CN201380077437.9A
Other languages
English (en)
Other versions
CN105474164B (zh
Inventor
D.阿布扎里安
N.桑海
E.C.布朗
M.K.斯勒蒙
J.A.蒂德
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 Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105474164A publication Critical patent/CN105474164A/zh
Application granted granted Critical
Publication of CN105474164B publication Critical patent/CN105474164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Abstract

本文所描述的技术涉及从间接输入设备接收数据的计算设备。所接收的数据可以指示或发信号通知,一个或多个物体在间接输入设备的检测区域上或内。例如,数据可以指示,一个或多个物体接触间接触摸设备的表面。所述技术包括,确定针对所述一个或多个物体的参数,并且分析所述参数以确定该数据是涉及触摸操作还是涉及鼠标操作。为了实施触摸操作或鼠标操作,所述技术进一步描述了,将所接收的数据从间接输入设备的第一坐标空间转换为显示屏的第二坐标空间。

Description

间接输入的歧义消除
背景技术
先前,间接触摸设备(例如,触摸板)被配置为从与表面接触的单个物体(例如,手指或笔/尖笔)接收输入,并且向操作系统提供指示该单个物体的移动的信号,以实施鼠标操作(例如,操纵在显示屏上的光标)。然而近来,间接触摸设备已经发展并且现在被配置为从同时与表面接触的多个物体接收输入并且向操作系统提供指示所述多个物体的移动的信号,以实施触摸操作(例如,基于至少两个物体的接触的缩放手势或平移手势)。然而,可能存在这样的场景,即,即使多个物体与表面接触,与间接触摸设备交互的用户也可能想要操作系统实施鼠标操作而不是触摸操作。常规的间接触摸设备和/或计算系统不能在涉及鼠标操作的多接触输入与涉及触摸操作的多接触输入之间进行歧义消除。
发明内容
本文所描述的技术涉及从间接输入设备接收数据的计算设备。所接收的数据可以指示或发信号通知,多个物体在间接输入设备的检测区域上或内提供针对间接输入设备的输入。所述技术然后确定针对所述多个物体中的一个或多个的参数,并且分析这些参数以确定该数据是涉及触摸操作还是涉及鼠标操作。示例参数可以包括但不限于,两个或更多物体的间隔输入时间、两个或更多物体的间隔输入距离、在检测区域上或内的物体输入的移动距离、物体的输入持续时间、在检测区域上或内发起物体输入的检测时所处的区段、间接触摸设备或其他输入设备的肯定(positive)按钮状态、和/或间接触摸设备是否与惯性(inertia)状态相关联。
为了实施触摸操作或鼠标操作,所述技术进一步描述了,将所接收的数据从间接输入设备的第一坐标空间转换为显示屏的第二坐标空间。例如,所述技术可以基于输入在间接输入设备的检测区域上或内的绝对位置(例如,第一坐标空间中的x-y坐标)和检测区域的大小来确定向间接输入设备提供输入的物体移动的绝对距离(例如,以himetric为单位)。然后,物体移动的绝对距离可以被映射到移动在显示屏上的对应像素距离,基于显示屏的大小或显示屏的分辨率中的一个或多个来计算像素距离。相应地,计算设备可以基于经由间接输入设备接收的输入来执行被设计和构建为接收直接触摸输入的应用或其他功能。这可能是有利的至少一些原因在于,间接输入设备比直接触摸设备(比如触摸屏)更精确,并且间接输入设备的生产典型地没有直接触摸设备那么贵。
本发明内容被提供来以简要形式介绍概念的选择,以下将在具体实施方式中对这些概念进行进一步的描述。本发明内容既不是旨在标识出所要求保护的主题的关键特征或必要特征,也不是旨在用于帮助确定所要求保护的主题的范围。在整个文档中,术语“技术”例如可以指的是,被以上的上下文认可的(多个)系统、(多个)方法、计算机可读指令、算法、组件、模块和/或(多个)技术。
附图说明
将参照附图来呈现具体实施方式。在图中,附图标记最左侧的(多个)数字标识出该附图标记最先出现在其中的图。在不同图中的相同附图标记的使用指示相似或相同项目。
图1图示出了根据各种实施例的歧义消除模块的示例实施方式,该歧义消除模块被配置为确定向间接触摸设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图2图示出了根据各种实施例的示例环境和组件,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图3图示出了根据各种实施例的示例过程,其用于对从间接输入设备接收的数据进行歧义消除,并且转换数据,使得对应的操作可以被执行和/或对应的显示信息可以在显示屏上显示。
图4图示出了根据各种实施例的示例类型的间接触摸设备。
图5图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图6图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图7图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图8图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图9图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图10图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图11图示出了根据各种实施例的示例参数,其用于确定向间接输入设备提供的输入是涉及鼠标操作还是涉及触摸操作。
图12图示出了示例过程,其确定向间接输入设备提供的输入是涉及系统手势(systemgesture),涉及鼠标操作,还是涉及触摸操作。
图13图示出了示例过程,其转换鼠标输入,使得可以执行鼠标操作。
图14图示出了示例过程,其转换触摸输入,使得可以执行触摸操作。
具体实施方式
本文所描述的技术接收表示从用户提供给间接输入设备的输入的数据,并且确定和/或分析多种参数中的一种或多种以便确定该输入意在涉及鼠标操作的鼠标输入还是意在涉及触摸操作的触摸输入。即,所述技术能够智能地解释向间接输入设备提供的输入,以便改善与间接输入设备的用户交互体验。在确定输入是涉及鼠标操作还是涉及触摸操作之后,所述技术可以转换所接收的数据,使得在显示屏上准确而精确地反映所检测到的物体的移动。例如,所述技术可以将光标(例如,鼠标操作)在显示屏上移动某个距离,该距离准确地反映在间接输入设备的检测区域上的物体移动量。或者,所述技术可以在显示屏上实施不同水平和/或精度的平移、缩放或其他触摸操作,其精确地反映出相对于间接输入设备的例如在间接输入设备的检测区域上或内的物体移动量。
常规间接触摸设备和/或计算系统不能确定与间接触摸设备的表面接触的多个同时物体是涉及鼠标操作还是涉及触摸操作。相反,目前,常规间接触摸设备和/或计算系统仅仅基于同时与间接触摸设备的表面接触的物体数目来确定输入是涉及鼠标操作还是涉及触摸操作。即,如果一个物体与间接触摸设备的表面接触,则常规上,输入被确定为涉及鼠标操作。如果多于一个物体与间接触摸设备的表面接触,则常规上,输入被确定为涉及触摸操作。
然而,目前常规间接触摸设备和/或计算系统确定输入是涉及鼠标操作还是涉及触摸操作的方式可能使得用户交互体验令人沮丧。例如,用户可能意在利用指示器手指来操纵显示屏上的鼠标(例如,鼠标操作),但是还可能不经意地将拇指搁在间接触摸设备的表面上(例如,从而导致多个物体同时与表面接触)。常规间接触摸设备和/或计算系统可能仅仅基于确定存在与表面接触的多于一个的物体而将该输入错误地解释为涉及触摸操作(例如,平移操作、缩放操作、或另一触摸操作),从而使得与间接触摸设备的用户交互体验令人沮丧,这是因为输入(例如,涉及鼠标操作的鼠标输入)的用户意图并未反映在显示屏上。
在另一示例中,用户可能意在经由与表面接触的单个物体的移动来实施触摸操作(例如,在玩游戏时实施平移操作)。此时,常规间接触摸设备和/或计算系统可以基于该单个物体接触而将该输入错误地解释为涉及鼠标操作。
因此,本文所描述的技术通过确定和分析多种参数中的一种或多种,来改善与间接输入设备(例如,间接触摸设备或包括非触摸间接输入设备的任何其他间接输入设备)的用户交互体验,其中所述参数提供这样的指示:在间接输入设备处接收的输入(例如,来自比如表面之类的检测区域上的物体的接触或者对在检测区域内的物体的检测)很可能涉及触摸操作或鼠标操作。而且,所述技术描述了将所述输入(其或者涉及鼠标操作,或者涉及触摸操作)转换到与显示屏相关联的坐标空间。
如本文将进一步讨论的,通过将在间接输入设备处接收的输入转换到与显示屏相关联的坐标空间,计算设备能够基于从间接输入设备接收的输入来执行期望接收直接触摸输入(例如,来自触摸屏的输入)的应用。换言之,不能接收直接触摸输入的计算设备(例如,没有可操作的触摸屏)可以基于经由间接输入设备接收的输入来执行被设计和构建为接收直接触摸输入的应用或其他功能。
图1图示出了示例环境100,其包括实施本文所描述的技术歧义消除模块102。本文所使用的术语“模块”出于讨论的目的而意在表示软件的示例分割,而非意在表示任何类型的要求或所要求的方法、方式或组织。相应地,尽管讨论了各种“模块”,但是它们的功能和/或类似功能可以被不同地布置(例如,被组合到更少数目的模块中,被分解到更多数目的模块中,等等)。此外,尽管某些功能和模块在本文中被描述为由可在处理器上执行的软件和/或固件实施,但是在其他实施例中,所述任何或所有模块都可以全部或部分由硬件实施(例如被实施为ASIC、专门的处理单元等等),以便执行所描述的功能。在一些实例中,所述功能和/或模块被实施为操作系统的一部分。在其他实例中,所述功能和/或模块被实施为设备驱动器的一部分(例如用于触摸表面的驱动器)、固件等等。
在所图示出的示例100中,歧义消除模块102被配置为确定在间接触摸设备104处接收的输入是涉及鼠标操作106(例如,光标108的移动)还是涉及触摸操作110(例如,缩放操作或平移操作)。在各种实施例中,歧义消除模块102是计算设备112的一部分,该计算设备112包括或可连接至显示屏114。计算设备112可以包括但不限于,膝上型计算机、桌面型计算机、平板计算机、便携式计算机、智能电话、移动电话、个人数字助理(PDA)、电子书设备、游戏控制台、个人媒体播放器设备、服务器计算机或任何其他电子设备,其被配置为从间接输入设备接收数据并且处理该数据,使得对应的操作可以由计算设备112来执行和/或对应的显示信息可以反映在显示屏114上(例如,光标的准确移动、适当或精确的量的缩放或平移、等等)。
如本文所讨论的,间接触摸设备104可以是以下项之一:多种触摸板或能够感测在物体与间接触摸设备104的检测区域116(例如,表面)之间的接触的其他数字化器设备。间接触摸设备104于是可以基于所感测的接触来生成和/或发送针对计算设备112的数据信号。在各种实施例中,间接触摸设备104可以是键盘118的一部分或者作为计算设备112的一部分或可连接至计算设备112的其他数据输入机制。在一些实施方式中,间接触摸设备104可以是独立地作为计算设备112的一部分或可连接至计算设备112的单独的数据输入机制。不同于其中显示位置与基于用户触摸屏幕的地点的输入直接相关联的直接触摸设备(例如,触摸屏),来自间接触摸设备104的输入不得不被映射或转换到显示屏上的对应位置。
如本文所讨论的,“物体”是可以被间接输入设备检测到的物理工具或零件。例如,物体可以用于对间接触摸设备104的检测区域116施加接触。在另一示例中,非接触间接输入设备可以检测物体(例如,手、胳膊、身体)在检测区域中的手势。如图1中所图示的,对检测区域116施加接触的物体可以是与间接触摸设备104交互的用户的手120的手指或拇指。交互可以与在计算设备112上执行的功能相关联(例如,web浏览、观看视频、玩游戏、阅读电子书等等)。在一些实施方式中,物体可以是笔、尖笔、或被用户控制来接触检测区域116和/或针对信号输入施加激活力(例如,按钮按压)的其他基于指示器的工具或机制。
如本文所讨论的,在物体与检测区域116之间的“接触”可以与物理接触相关联(例如,手指在特定位置处物理地触摸间接触摸设备104的表面)或者可以与接近距离相关联(例如,手指被确定为在表面的预定义附近区域内,但是不与表面进行实际的物理接触)。如本文所讨论的,物体可以将与检测区域的接触保持一段时间,并且在保持与检测区域接触时,其可以在检测区域上从一个位置移动到另一个位置。在各种实施例中,与检测区域接触的物体的移动被实施以便实施和/或接收在显示屏112上的某个对应的响应(例如,作为鼠标操作的光标的移动或者作为触摸操作的缩放)。
图2图示出了环境200,其进一步描述了间接输入设备202的组件,例如图1中的间接触摸设备104。其他示例间接输入设备202可以包括非触摸或非接触间接输入设备,例如包括或耦合至能够检测物体在检测区域内中的一个或多个位置或轮廓(例如,检测二维或三维空中手势)的一个或多个摄像机的设备。图2还进一步描述了计算设备112的组件。
间接输入设备202可以包括被安置来检测间接输入(例如,在间接触摸设备的检测区域上的接触或在非触摸间接输入设备的检测区域内的空中手势)的多种传感器或传感器阵列204。在比如设备104之类的间接触摸设备的示例中,传感器204可以被安置在检测区域的侧边、下方和/或上方(例如,电容式传感器、电导传感器、比如摄像机之类的光学传感器、等等)。在非触摸间接输入设备的示例中,传感器(例如,摄像机)可以位于用于检测空中手势或其他非触摸输入的位置处(例如,经由图像捕获)。传感器204被配置为确定或感测物体何时向检测区域提供输入,并且向集成电路206(IC)提供指示这样的输入的信号。基于来自传感器204的信号,IC206能够向计算设备112转播、生成和/或报告关于输入的数据208。例如,IC206可以包括用于确定并且定义输入的位置信息和/或定时信息(例如,在某个时间点在检测区域上或内的输入的位置)的逻辑。位置信息和/或定时信息可以与针对物体的输入的发起、针对物体的输入的终止和/或在发起与终止之间发生的物体移动相关联。在各种实施例中,间接输入设备202和IC206可以实时地报告数据208。在其他实施例中,间接输入设备202和IC206可以根据周期性报告时间表(例如,10毫秒间隔、20毫秒间隔、30毫秒间隔等等)来报告数据208。相应地,从间接输入设备202发送到计算设备112的数据208可以包括来自多个物体的输入的位置信息和/或定时信息,并且所报告的信息可以表示物体在检测区域上或内的移动。
计算设备112可以包括一个或多个处理器210和存储器212。(多个)处理器210可以是单个处理单元或多个单元,其中的每一个单元可以包括多个不同的处理单元。(多个)处理器210可以包括微处理器、微计算机、微控制器、数字信号处理器、中央处理单元(CPU)、图形处理单元(GPU)、等等。替换地或附加地,本文所描述的技术可以至少部分地由一个或多个硬件逻辑组件实施。例如,非限制地,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、特定程序集成电路(ASIC)、特定程序标准产品(ASSP)、状态机、复杂可编程逻辑设备(CPLD)、其他逻辑电路、片上系统(SoC)、和/或基于操作指令来操纵信号的任何其他设备。在其他能力中,处理器210可以被配置为取得并且执行存储在存储器212中的计算机可读指令。
存储器212可以包括一个计算机可读介质或计算机可读介质的组合。如本文所使用的,“计算机可读介质”包括计算机存储介质和通信介质。
计算机存储介质包括,以用于存储信息(比如,计算机可读指令、数据结构、程序模块、或其他数据)的任何方法或技术实施的易失性和非易失性的、可移除和不可移除的介质。计算机存储介质包括但不限于,相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪速存储器或其他存储器技术、紧致盘ROM(CD-ROM)、数字通用盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储设备、或可以用于存储信息以供计算设备访问的任何其他介质。
与此相对,通信介质可以在比如载波之类的经调制的数据信号中具体实现计算机可读指令、数据结构、程序模块、或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
存储器212包括操作系统214,其被配置为管理在计算设备112内的硬件和服务并且管理耦合至计算设备112的硬件和服务,以受益于其他模块、组件和设备。在各种实施例中,比如歧义消除模块102之类的歧义消除模块216是操作系统214的一部分。然而,在一些实施例中,歧义消除模块216可以与操作系统214分开。操作系统214可以包括转换模块218、消息生成模块220和/或一个或多个驱动器222,其中的每一个将在本文中进一步讨论。
在一些实施方式中,由歧义消除模块216和/或转换模块218实施的一些或所有功能可以由与间接输入设备216相关联的设备驱动器222来实施。驱动器222可以通过将硬件连接至计算设备112的总线或其他通信子系统来与间接输入设备202通信。
存储器212还可以存储或者通过其他方式访问(例如,网络或其他通信连接)一个或多个应用224(也已知为应用(app))、显示屏信息226、间接输入设备信息228和/或与用户232相关联的用户信息230。用户232可以与间接输入设备202交互和/或观看与执行应用224或其他计算机设备112功能中的一个相关联的显示屏114。
示例应用224可以包括浏览应用、游戏应用、媒体播放器应用、电子邮件应用、即时消息传送应用、数据处理应用、社交网络应用等等。显示屏信息226可以包括显示屏大小和显示屏分辨率,其可以用于将在间接输入设备202处接收的输入转换为在显示屏114上的对应操作(例如,光标移动、缩放操作等等)。在各种实施例中,可以从与显示屏114相关联的设备驱动器222确定显示屏信息226。间接输入设备信息228可以指示当前正向计算系统112提供数据208的间接输入设备202的类型。间接输入设备信息228还可以包括,间接输入设备202的检测区域的大小(例如,比如宽度和高度之类的物理尺寸)以及用于报告输入和/或一个或多个物体在检测区域上或内的移动的坐标空间。
在各种实施例中,当在鼠标输入与触摸输入之间进行歧义消除时,操作系统214可以考虑和/或利用应用或显示窗口情境。例如,特定多接触触摸手势可以对于在计算设备112上执行的游戏应用具有特殊命令或指令。当将在间接输入设备202处接收的输入转换为在显示屏114上实施的鼠标操作或触摸操作时,操作系统214也可以考虑和/或利用应用或显示窗口情境。例如,游戏应用可以向操作系统214指示,与触摸输入相关联的特定水平或程度的平移精度可以改善玩游戏的性能和用户体验。因此,可以鉴于应用或显示窗口情境来实施本文进一步讨论的歧义消除和转换技术,从而改善用户交互体验。操作系统214可以基于处于活跃状态的窗口、光标在显示屏上的当前位置(例如,悬停位置)、最近激活的窗口或选择的菜单项目或图标、由操作系统确定的窗口的“前景”性质或其他准则来做出以下确定:用户232很可能聚焦于特定显示窗口或应用,而不是执行的其他显示窗口或应用。而且,操作系统214还可以基于处于活跃状态的窗口、光标的位置或其他准则来做出以下确定:用户232很可能聚焦于在多个并排的显示屏或监视器中的任一个上的特定显示窗口或应用。
在各种实施例中,当在鼠标输入与触摸输入之间进行歧义消除时和/或当将在间接输入设备202处接收的输入转换为在显示屏114上实施的鼠标操作或触摸操作时,操作系统214可以考虑和/或利用与用户232相关联的用户信息230。例如,可以基于在间接输入设备202上的先前的用户交互来编译和聚集用户信息230。操作系统214基于登录证书或其他用户认证和辨识技术而知道用户身份。相应地,可以鉴于维持在用户信息230中的用户习惯(例如,基于与间接输入设备202的交互历史而针对用户232确定的隐含数据)和/或用户偏好(例如由用户232定义的用于与间接输入设备202交互的显式输入设置)来实施本文将进一步讨论的歧义消除和转换技术,从而改善用户交互体验。在一些实例中,可以基于向执行的应用查询可以经由触摸输入操纵的附近的用户界面元素(例如,在显示窗口中)来实施本文将进一步讨论的歧义消除技术。例如,如果鼠标光标在可以被触摸的元素附近,则输入可以被解释为在间接输入设备上的触摸输入并且其是针对该附近的元素。
在各种实施例中,计算设备112还可以包括用于从用户接收输入的(多个)输入单元234(例如,间接输入设备202、键盘118、鼠标、麦克风、其他传感器、摄像机、等等),和用于向用户传达和/或在视觉上呈现信息的(多个)输出单元236(例如,显示屏114、扬声器、打印机等等)。
图3图示出示例过程300,其包括涉及对从比如间接触摸设备104之类的间接输入设备202接收的输入进行歧义消除和转换的操作。本文档中描述的过程被图示为逻辑流程图,其表示可以以硬件、软件、固件或其组合实施的操作序列。在软件的情境中,所述操作表示计算机可执行指令,其在被一个或多个处理器执行时,实施所记载的操作。一般地,计算机可执行指令包括实施特定功能或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。在一些实施例中,任何或所有操作可以全部或部分地由硬件实施(例如,被实施为ASIC、专门的处理单元等等)来执行所描述的功能。在一些实例中,所述功能和/或模块被实施为操作系统的一部分。在其他实例中,所述功能和/或模块被实施为设备驱动器的一部分(例如用于触摸表面的驱动器)、固件等等。操作被描述的顺序并非意在被解释为限制,可以以任何顺序和/或并行地组合任何数目的所描述的操作,以实施所述过程。可以参照图1和2中所图示的模块、组件和/或元素来描述图3中的示例操作。
在操作302处,计算设备112的操作系统214接收输入数据。例如,计算设备112的操作系统214可以接收数据208,该数据208指示来自一个或多个物体的输入已经被传感器204检测到(例如,物体与间接触摸设备的检测区域接触或者在非接触间接输入设备的检测区域中检测到空中手势)。如所讨论的,数据208可以包括与一个或多个物体的输入相关联的位置信息和定时信息(例如,物体或物体的部分在某个时间点在检测区域上或内的位置)。
在操作304处,比如102或216之类的歧义消除模块基于位置信息和/或定时信息来确定参数。歧义消除模块102或216还可以基于与比如间接触摸设备104之类的间接输入设备202相关联的计算设备112的其他输入和/或当前执行状态。参数可以包括两个物体的到达间隔(inter-arrival)输入时间、两个物体的到达间隔输入距离、在检测区域上或内的物体输入的移动距离、物体输入持续时间、在检测区域上或内在其中发起物体输入的检测的区段、间接触摸设备或其他间接输入设备的肯定按钮状态、和/或间接触摸设备是否与惯性状态相关联。本文将关于图4-11进一步讨论示例参数。在一些实施例中,歧义消除模块216可以使用从间接输入设备202接收的数据208来实施计算,以确定参数。在其他实施例中,歧义消除模块216可能能够基于数据208来确定参数而不实施计算(例如,IC206可以直接提供或报告参数)。
在操作306处,比如102或216之类的歧义消除模块分析所述参数中的一个或多个以便确定所述数据208是涉及鼠标操作还是涉及触摸操作。在各种实施例中,比如102或216之类的歧义消除模块鉴于应用或显示窗口情境和/或用户信息230来分析参数。
在操作308处,转换模块218可以将由数据208表示的输入转换为在显示屏114上实施的对应操作或响应。在各种实施例中,可以基于确定数据208涉及鼠标操作或涉及触摸操作来进行转换。
在操作310处,消息生成模块220基于经歧义消除的输入和/或转换来生成显示消息238以输出到应用224和/或显示屏114(例如,鼠标消息或触摸消息)。操作系统214还可以基于经歧义消除的输入和/或转换来实施其他设备操作(例如,与显示无关)。
图4-11图示出由比如102或216之类的歧义消除模块确定和/或分析以确定在间接输入设备处接收的输入是涉及鼠标操作还是涉及触摸操作的各种参数。尽管本文可以关于在间接触摸设备104的检测区域(例如,表面)上的接触来说明图4-11,但是应该理解,在本文档的情境下,也可以针对间接输入设备202(包括非触摸间接输入设备)来确定参数。
图4图示出不同类型的间接触摸设备104。本文所讨论的不同类型的间接触摸设备104中的每一种都可以实施按钮状态功能。在各种实施例中,按钮状态功能是被歧义消除模块102考虑来确定来自物体(例如,与检测区域接触的多个同时物体)的输入是涉及鼠标操作还是涉及触摸操作的参数。即,肯定按钮状态(例如,按钮被选择)典型地与鼠标操作相关联,而不是触摸操作。例如,活跃左按钮状态可以与基于光标的当前位置的选择相关联(例如,对于菜单项目的选择、对于桌面图标的选择、对于超链接的选择)。活跃右按钮状态可以与基于光标的当前位置的菜单的激活相关联。
相应地,图4中所图示出的第一类型是“传统”的间接触摸设备104(1),其中触摸检测区域116(1)在物理上与按钮功能分开。触摸检测区域116(1)感测物体(例如,手指)的移动,而左按钮402和/或右按钮404允许用户228选择显示元素和/或激活显示屏上的菜单。第二类型是“点击”间接触摸设备104(2),其包括点击触摸检测区域116(2)(例如,点击板)。点击触摸检测区域116(2)感测物体的移动,但是还允许用户通过点击在点击触摸检测区域116(2)上的任何地方(例如,轻敲点击触摸检测区域116(2))来实施按钮功能。第三类型是“压力”间接触摸设备104(3),其包括压力触摸检测区域116(3)(例如,压力板)。压力间接触摸设备104(3)包括多种弹簧(string)406,其感测并且量化在物体接触压力触摸检测区域116(3)时施加的力的量。因此,压力触摸检测区域116(3)基于由物体施加的力的量来感测移动和/或确定按钮状态。
在各种实施例中,按钮状态功能可以基于当激活按钮状态或确定按钮状态是肯定时接触所位于的区段而改变。而且,除了按钮状态功能,歧义消除模块102还可以在鼠标输入和触摸输入之间进行歧义消除时考虑间接触摸设备104的类型。例如,由于弹簧406的灵敏度和由用户在接触压力触摸检测区域116(3)时施加的力的量,所以与压力间接触摸设备104(3)相比,用户可能更容易在传统间接触摸设备104(1)上实施点击和拖动输入操作。相应地,歧义消除模块102在解释向压力间接触摸设备104(3)提供的输入时可以忽略在压力上的些微改变或变化。
图5图示出了将同时向检测区域(例如,表面、用于使用摄像机对空中手势进行三维检测的检测场、等等)提供输入的物体的数目确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。向检测区域提供输入的物体的数目可以由间接输入设备502的IC206或由歧义消除模块216来确定。在各种实施例中,间接输入设备502可以表示间接触摸设备104、间接输入设备202、或另一种类型的间接输入设备。例如,间接触摸设备104的IC206和/或歧义消除模块102可以枚举由504(1)、504(2)...504(N)所示的物体和检测区域之间的输入的数目。作为另一示例,504(1)、504(2)...504(N)可以图示出间接输入设备202的IC206和/或歧义消除模块216可以枚举的物体的检测点和平面或检测场。为了说明的目的,以上描述的接触或检测点通过在指示器手指、中指和无名指周围的波浪线示出。相反,图5中的手120的小拇指没有接触间接输入设备502的检测区域或者在另一间接输入设备的检测区域内。
图6图示出将检测区域中的物体关于检测区域在其中发起输入的区段确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。例如,图6的左侧的交互图示出检测区域被分为四个区段,例如,左下604(1)、左上604(2)、右上604(3)和右下604(4)。比如102或216之类的歧义消除模块可以考虑输入发起的区段,这是因为特定区段可以单独地或者与各种其他参数组合来指示输入很可能涉及鼠标操作或涉及触摸操作。例如,区段604(1)中的输入可以与左点击(例如,鼠标操作)相关联。区段604(4)中的输入可以与右点击(例如,也是鼠标操作)相关联。与此相对,区段604(2)和/或604(3)中的输入可以与触摸操作相关联。如以上所提及的,区段可以通过应用或显示窗口的情境来定义,或与其相关联。在一些实例中,区段可以通过用户信息230来定义或与其相关联。
在另一示例中,图6右侧的交互图示出检测区域可以包括基于中心的区段606。在基于中心的区段606中发起的物体输入可以指示输入更可能涉及触摸操作而不是鼠标操作(例如,用户发起在区段606中的两个接触并且分离接触,以便实施缩放操作)。
作为示例,提供了图6中的区段的布局和配置。因此,应理解,在本档的情境中,可以根据任何种类的布局或边界(其可以提供一种指示,即接触很可能涉及鼠标操作或涉及触摸操作)来定义区段。
图7图示出将第一输入与第二输入的到达间隔时间702确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。到达间隔时间702是在检测到第一物体与检测到第二物体之间的时间差。如图7的示例中所示,到达间隔时间702是第一物体704对检测区域发起输入的第一时间(arrival_t1)与第二不同物体706对检测区域发起输入的第二时间(arrival_t2)之间的差(△t_arrival)。比如102或216之类的歧义消除模块可以基于与在数据208中包括的物体输入相关联的定时信息来确定到达间隔时间702。
在一些实例中,比如102或216之类的歧义消除模块可以单独地或者与各种其他参数组合地考虑到达间隔时间702,这是因为较短的到达间隔时间702可能指示,输入很可能涉及触摸操作(例如,用户在一个短的时间段内将两个手指向下放在表面上,以实施缩放操作)。与此相反,较长的到达间隔时间702可能指示,输入很可能涉及鼠标操作(例如,主要手指涉及鼠标操作,而不经意的“休息”拇指典型地在一个短时间段内不发起接触)。
在各种实施例中,比如102或216之类的歧义消除模块可以使用到达间隔时间阈值(例如,30毫秒、40毫秒、50毫秒等等),以确定到达间隔时间702是指示输入涉及鼠标操作(例如,到达间隔时间大于到达间隔时间阈值),还是指示输入涉及触摸操作(例如,到达间隔时间小于或等于到达间隔时间阈值)。在各种实施例中,可以针对每对所检测到的物体来确定到达间隔时间702。
图8图示出将第一输入与第二输入的到达间隔距离802确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。到达间隔距离802是第一物体的输入位置与第二物体的输入位置之间的位置差。如图8的示例中所示,到达间隔距离802是第一物体804在其中对检测区域发起输入的第一位置(arrival_p1)与第二物体806在其中对检测区域发起输入的第二位置(arrival_p2)之间的差(△p_arrival)。在一些实例中,到达间隔距离802可以通过矢量来表示。比如102或216之类的歧义消除模块可以基于在数据208中包括的物体输入的位置信息来确定到达间隔距离802。例如,位置可以是由在间接输入设备202的坐标空间中的坐标表示的绝对位置。
在一些实例中,比如102或216之类的歧义消除模块可以单独地或者与各种其他参数组合地考虑到达间隔距离802,这是因为较短的到达间隔距离802可能指示,输入很可能涉及触摸操作(例如,用户在实施缩放操作时将两个手指彼此靠近地向下放置)。与此相反,较长的到达间隔距离802可能指示,输入很可能涉及鼠标操作(例如,主要手指和不经意的“休息”拇指典型地不彼此靠近地接触检测区域)。
在各种实施例中,比如102或216之类的歧义消除模块可以使用到达间隔距离阈值(例如,检测区域的宽度或高度的四分之一、3厘米、5厘米等等),以确定到达间隔距离802是指示输入涉及鼠标操作(例如,到达间隔距离802大于到达间隔距离阈值),还是指示输入涉及触摸操作(例如,到达间隔距离802小于或等于到达间隔距离阈值)。在各种实施例中,可以针对每对所检测到的物体来确定到达间隔距离802。
图9图示出将单个物体的连续性输入的持续时间902确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。例如,图9示出了用户的手120从位置904移动到位置906。在位置904处,手指在第一时间908(duration_t1)向检测区域提供输入。在一些实施例中,duration_t1可以对应于图7中的arrival_t1。在位置906处,同一手指移动并且向检测区域提供连续性输入,直到用户可以终止对于检测区域的输入(例如,抬起该手指)的第二时间910(duration_t2)为止。连续性输入的持续时间902是第一时间908与第二时间910之差(△t_duration)。比如102或216之类的歧义消除模块可以基于数据208中包括的定时信息来对于向检测区域提供输入的每个物体确定连续性输入的持续时间902。
在一些实例中,比如102或216之类的歧义消除模块102可以单独地或与各种其他参数组合地考虑物体的连续性输入的持续时间902,这是因为较长的连续性输入的持续时间902可以指示,输入很可能涉及鼠标操作。与此相对,较短的连续性输入的持续时间902可以指示,输入很可能涉及触摸操作。
在各种实施例中,比如102或216之类的歧义消除模块可以使用移动持续时间阈值(例如,100毫秒)以确定连续性输入的持续时间902是指示输入涉及鼠标操作(例如,连续性输入的持续时间902大于移动持续时间阈值),还是指示输入涉及触摸操作(例如,连续性输入的持续时间902小于或等于移动持续时间阈值)。
图10图示出将单个物体的连续性输入的距离1002确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。例如,图10示出了用户的手120从位置1004移动到位置1006。在位置1004处,手指在第一位置1008(distance_p1)处向检测区域提供输入。在一些实施例中,distance_p1可以对应于图8中的arrival_p1和/或图9中的duration_t1。在位置1006处,同一手指移动并且向检测区域提供连续性输入,直到其到达第二位置1010(distance_p2)(当用户可以停止移动(例如,终止接触)或者当作为周期性报告时间表的一部分,间接输入设备202报告位置时)为止。连续性输入的距离1002是第一位置1008与第二位置1010之差(△p_distance)。在一些实例中,连续性输入的距离1002可以通过矢量来表示。比如102或216之类的歧义消除模块可以针对向检测区域提供连续性输入的每个物体确定连续性输入的距离1002。
在一些实例中,比如102或216之类的歧义消除模块可以单独地或与各种其他参数组合地考虑物体的连续性输入的距离1002,这是因为较长的连续性输入的距离1002可以指示,输入很可能涉及触摸操作。与此相对,较短的连续性输入的距离1002可以指示,输入很可能涉及鼠标操作。
在各种实施例中,比如102或216之类的歧义消除模块可以使用移动距离阈值(例如,检测区域的宽度的四分之一、10厘米等等)以确定连续性输入的距离1002是指示输入涉及鼠标操作(例如,连续性输入的距离1002小于或等于移动距离阈值),还是指示输入涉及触摸操作(例如,连续性输入的距离1002大于移动距离阈值)。
在各种实施例中,比如102或216之类的歧义消除模块可以确定并且分析输入移动速率以确定输入是涉及鼠标操作还是触摸操作。可以使用图10的(△p_distance)和图9的(△tduration)来确定输入移动的速率。即,输入移动的速率被计算为(△p_distance/△t_duration)。在一些实例中,当将输入转换为显示操作时,也可以考虑输入移动的速率。例如,游戏应用可以使用触摸操作的速率来反映各种水平或精度的加速度,而相片观看应用可能不基于速率来实施各个水平或精度。
图11图示出将与在间接触摸设备104处接收的输入相关联的惯性状态确定为用于在鼠标输入与触摸输入之间进行歧义消除的参数。惯性表示在物体终止与检测区域的接触(例如,用户抬起手指)时物体移动的速率。因此,图11示出了用户的手120,其从第一位置1102移动到第二位置1104,然后到第三位置1106。当手120在第一位置1102处时,指示器手指与检测区域接触1108。当手在第二位置1104处时,指示器手指移动,但是仍然与检测区域接触1110。当手120在第三位置1106处时,指示器手指不再与检测区域接触,从而构成惯性状态1112。可以如以上所描述的那样计算指示器手指从接触1108到接触1110的移动的速率(例如,基于连续性输入的距离和连续性输入的持续时间)。所计算得到的速率于是可以用于继续鼠标操作(例如,滚动)或触摸操作(例如,平移),即使手指不再接触检测区域,也是如此。
在各种实施例中,歧义消除模块102可以将惯性状态用作参数以便确定如何应对在间接触摸设备104处的输入。例如,如果计算设备112仍然在滚动或平移经过显示屏114上的内容,则由于惯性状态,所以向间接触摸设备104的检测区域提供的任何新输入可以被解释为用于停止滚动或平移的指令。在另一示例中,向间接触摸设备104的检测区域提供的任何新输入可以被解释为用于继续或加速滚动或平移的指令(例如,添加更多的惯性)。
相应地,比如102或216之类的歧义消除模块可以确定(例如,计算)并考虑以上描述的各种参数之一或任何组合,以便确定在间接输入设备202处接收的输入很可能是涉及鼠标操作的鼠标输入还是涉及触摸操作的触摸输入。在各种实施例中,所考虑的参数可以取决于所接收的数据208的量(例如,输入移动的量、输入持续时间的量、等等)。在各种实施例中,所考虑的参数可以取决于特定应用和/或在计算设备112上执行的应用的类型和/或得到用户注意和聚焦的显示窗口的情境(例如,其由光标位置确定)。在各种实施例中,所考虑的参数可以取决于与操作计算设备112的用户232相关联的用户信息230。在一些实例中,比如102或216之类的歧义消除模块可以为参数指定优先级或者为参数加权。
而且,比如102或216之类的歧义消除模块可以根据应用、显示窗口和/或用户来设置和/或定义参数阈值。例如,对于一个应用,小于连续性输入的持续时间的阈值的连续性输入的持续时间902可能指示,输入很可能涉及鼠标操作。然而,对于另一个应用,小于连续性输入的持续时间的阈值的连续性输入的持续时间902可能指示,输入很可能涉及触摸操作。
图12图示出由计算设备112实施的示例过程1200。在决策操作1202处,比如102或216之类的歧义消除模块确定从间接触摸设备104或间接输入设备202接收的数据208是否涉及系统手势(例如,断电、返回到主页屏幕菜单、锁定计算机等等)。有时,在间接触摸设备104或间接输入设备202处接收的输入不涉及正执行和/或显示的应用。相反,输入可能涉及系统手势。例如,如果输入移动和持续时间是否满足为系统手势定义的手势准则,则比如102或216之类的歧义消除模块可以确定系统手势,比如边缘调用(例如,显示通过源自检测区域的边缘的轻弹手势调用的图标和命令的菜单)。准则可以基于以上描述的一个或多个参数。相应地,在生成用于应用的显示消息238之前,操作系统214确定输入是否涉及系统手势。
如果在决策操作1202处的答案是“是”,则在操作1204处,操作系统214基于系统手势来执行系统操作。如果在决策操作1202处的答案是“否”,则在决策框1206处,比如102或216之类的歧义消除模块确定从间接触摸设备104或间接输入设备202接收的数据是否涉及鼠标操作。比如102或216之类的歧义消除模块分析以上讨论的一个或多个参数,以便确定输入是否涉及鼠标操作。在一些实例中,可以基于正在执行或显示的应用和/或与间接触摸设备104或间接输入设备202交互的用户来考虑参数。
如果在决策操作1206处的答案是“是”,则在操作1208处,转换模块218转换数据,消息生成模块220基于转换的数据生成包括指令的鼠标消息,以及消息生成模块220向应用和/或显示屏112发送消息,使得可以执行鼠标操作(例如,鼠标移动)。
如果在决策操作1206处的答案是“否”,则在决策框1210处,比如102或216之类的歧义消除模块确定从间接触摸设备104或间接输入设备202接收的数据208是否涉及触摸操作。再一次,比如102或216之类的歧义消除模块分析以上讨论的一个或多个参数,以便确定输入是否涉及触摸操作。在一些实例中,可以基于正在执行或显示的应用和/或与间接触摸设备104或间接输入设备202交互的用户来考虑参数。
如果在决策操作1210处的答案是“是”,则在操作1212处,转换模块218转换数据,消息生成模块220基于转换的数据生成包括指令的触摸消息,以及消息生成模块220向应用和/或显示屏112发送触摸消息,使得可以执行触摸操作(例如,缩放操作)。
如果在决策操作1210处的答案是“否”,则在操作1214处,比如102或216之类的歧义消除模块可以不理睬或忽略数据(例如,该数据可能被确定为不经意的接触或无关的输入)。
在各种实施例中,在比如102或216之类的歧义消除模块对输入进行歧义消除之后,转换模块218可能不得不针对涉及鼠标操作的输入和涉及触摸操作的输入实施不同的转换过程。关于此的一个原因在于,典型的鼠标操作(例如,显示屏上的光标移动)基于在间接输入设备202的检测区域上的输入(例如,手指接触)移动的相对距离,而应用基于在间接输入设备202的检测区域上的两个不同输入之间的绝对距离来利用触摸操作(例如,缩放操作或平移操作)。
因此,给在鼠标输入与触摸输入之间进行歧义消除的操作系统214呈现出问题,这是因为触摸板和其他数字化器报告相对于它们自己的坐标空间和物理大小的绝对输入位置(例如,检测区域的表面的宽度和高度),并且坐标空间和物理大小可以根据触摸板的不同而改变。例如,贴切地说,在第一触摸板上从坐标(0,1)移动到(0,100)的接触的绝对距离可以不同于在第二触摸板上从相同坐标(0,1)移动到(0,100)的接触的绝对距离(例如,基于物理尺寸、传感器204布局等等)。
因此,转换模块218被配置为基于在数据208中报告的输入的绝对位置来确定在间接输入设备202的检测区域上或内的输入移动和/或多个输入之间的分离的以himetric为单位的绝对距离(1himetric等于1厘米的1/1000)。然后,转换模块218可以将以himetric为单位的绝对距离映射到显示屏上的对应像素距离,这将关于图13和14进一步描述。
图13描述了示例过程1300,其转换数据208,使得可以执行鼠标操作。
在操作1302处,转换模块218接收定义了物体在间接输入设备202的检测区域上或内的移动的绝对坐标(例如,输入的各个位置)。可以在数据208中报告绝对坐标,并且绝对坐标可以指示,通过从第一位置(例如,第一绝对坐标)移动到第二位置(例如,第二绝对坐标),物体被确定为实施鼠标操作。
在操作1304处,转换模块218基于绝对坐标和在间接输入设备信息228中定义的检测区域的大小来计算物体移动的绝对距离。例如,如果绝对坐标指示,物体从绝对坐标(0,0)移动到绝对坐标(10,0),整个坐标空间是100×100的栅格,并且尺寸指示检测区域的总宽度是10厘米,则转换模块218可以确定该物体的移动的绝对距离是1厘米(即,x方向上的10个坐标单元对应于所述宽度的十分之一,或1厘米)。在一些实例中,转换模块218计算以himetric为单位的绝对距离。可以针对x方向的移动和/或y方向的移动来计算绝对距离。
在操作1306处,转换模块218将在表面上的第一绝对坐标映射到在显示屏上的光标的当前像素位置。
在操作1308处,转换模块218将在操作1304处计算得到的绝对距离转换为在显示屏上的像素距离。该转换可以基于显示屏分辨率和/或显示屏(例如,监视器)物理大小。该信息可以被存储在显示屏信息226中。例如,像素距离可以如下计算:
(1)。
如以上所讨论的,等式(1)中的绝对距离可以是以himetric为单位的,并且可以针对x方向和/或y方向中的每一个来计算像素距离。在一些实例中,可以将绝对距离或像素距离转换为米基(mikey)(例如,1米基是1英寸的1/200th)。例如,转换模块218可以在计算像素距离之前存储用于将绝对距离(例如以himetric为单位)转换为米基的固定的himetric与米基的比率。在另一个示例中,可以在基于固定的像素与米基的比率进行计算之后将像素距离转换为米基。
在操作1310处,消息生成模块220生成可以提供给应用和/或显示屏的消息,该消息包括基于米基的像素距离和/或移动指令。因此,可以在显示屏112上反映出提供给间接输入设备202的鼠标输入。
图14描述了示例过程1400,其转换数据208,使得可以执行触摸操作。对于触摸操作,操作系统214基于所报告的绝对位置来提供在来自主要物体的主要输入与来自其他物体的其他输入之间的绝对距离(例如,以himetric为单位的增量(himetircdelta))。
在操作1402处,转换模块218接收定义了多个物体在间接输入设备202的检测区域上或内的移动的绝对坐标(例如,接触的各个位置)。可以在数据208中报告绝对坐标,并且绝对坐标可以指示,所述多个物体被确定为实施触摸操作。
在操作1404处,转换模块218基于绝对坐标和在间接输入设备信息228中定义的检测区域的大小来计算在主要输入与一个或多个其他输入之间的绝对距离。在各种实施例中,转换模块219计算以himetric为单位的绝对距离。
在操作1406处,转换模块218将主要输入的初始绝对坐标映射到在显示屏上的光标的当前像素位置。
在操作1408处,转换模块218使用以上提供的等式(1)将在操作1404处计算得到的(多个)绝对距离转换为在显示屏上的像素距离。
在操作1410处,消息生成模块220生成可以提供给应用和/或显示屏的消息,该消息包括与输入的分离相关联的像素距离。因此,可以在显示屏112上反映出提供给间接输入设备202的触摸操作。
在各种实施例中,输入在间接输入设备202的检测区域上的移动可以被非线性地映射到在显示屏上的对应移动(例如,光标移动、平移移动、缩放移动)。例如,可以基于以上讨论的一个或多个参数按比例缩放和/或成倍增加移动。例如,在检测区域上以每秒10厘米的速率移动2厘米以实施平移的输入可以在显示屏上看到2厘米的平移。然而,在检测区域上以每秒100厘米的速率移动2厘米以实施平移的输入可以在显示屏上看到20厘米的平移。在各种实施例中,按比例缩放或成倍增加因数可以基于间接输入设备202的检测区域的大小(例如,物理尺寸)和/或显示屏的大小(例如,物理尺寸)。
结论
尽管用特定于结构特征和/或方法动作的语言描述了本主题,但应理解,定义在权利要求中的主题未必局限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作是作为实实权利要求的示例形式来公开的。

Claims (10)

1.一种方法,包括:
在计算设备处从间接输入设备接收指示对于多个物体的检测的数据;
基于该数据确定针对所述多个物体中的一个或多个物体的一个或多个参数;以及
由计算设备分析所述一个或多个参数以便确定从间接输入设备接收的数据是涉及鼠标操作还是涉及触摸操作。
2.如权利要求1的方法,其中,所述一个或多个参数包括所述多个物体中的至少两个物体的到达间隔时间,所述方法进一步包括:
基于在数据中的指示第一物体的输入检测时间与第二物体的输入检测时间的定时信息来计算到达间隔时间;
定义到达间隔时间阈值;以及
将到达间隔时间与到达间隔时间阈值相比较,其中,如果到达间隔时间大于到达间隔时间阈值,则计算设备确定所述数据涉及鼠标操作,并且如果到达间隔时间小于或等于到达间隔时间阈值,则计算设备确定所述数据涉及触摸操作。
3.如权利要求1或权利要求2的方法,其中,所述一个或多个参数包括所述多个物体中的至少两个物体的到达间隔距离,所述方法进一步包括:
基于在数据中的位置信息来计算到达间隔距离,所述位置信息指示间接输入设备在其中检测到第一物体的输入的第一位置和间接输入设备在其中检测到第二物体的输入的第二位置;
定义到达间隔距离阈值;以及
将到达间隔距离与到达间隔距离阈值相比较,其中,如果到达间隔距离大于到达间隔距离阈值,则计算设备确定所述数据涉及鼠标操作,并且如果到达间隔距离小于或等于到达间隔距离阈值,则计算设备确定所述数据涉及触摸操作。
4.如权利要求1至3中的任一项的方法,其中,所述数据表示被间接输入设备检测到的所述多个物体中的一个或多个物体的移动,所述方法进一步包括,基于间接输入设备的检测区域的大小、显示屏的大小或显示屏的分辨率中的至少一个来将所述一个或多个物体的移动转换为移动在显示屏上的对应表示。
5.如权利要求1至4中的任一项的方法,进一步包括,至少部分地基于间接输入设备的检测区域的大小来计算相对于间接输入设备的将所述多个物体中的至少两个物体的输入分离的绝对距离,并且至少基于显示屏的大小或显示屏的分辨率中的至少一个来将该绝对距离映射为显示屏上的对应像素距离。
6.如权利要求1至5中的任一项的方法,进一步包括,至少部分地基于间接输入设备的检测区域的大小来计算相对于间接输入设备的所述多个物体中的至少一个物体的输入的移动的绝对距离,并且基于显示屏的大小或显示屏的分辨率中的至少一个来将移动的绝对距离映射为显示屏上的像素移动的对应距离。
7.一种或多种计算机存储介质,其存储计算机可执行指令,所述计算机可执行指令被执行时配置计算机实施以下操作,包括:
接收指示对于在间接输入设备的检测区域中的一个或多个物体的检测的数据,该数据包括针对所述一个或多个物体的位置信息和定时信息;
基于位置信息或定时信息中的至少一个来确定针对所述一个或多个物体的一个或多个参数;以及
基于所述一个或多个参数在触摸输入与鼠标输入之间进行歧义消除。
8.如权利要求7的一种或多种计算机存储介质,其中所述一个或多个参数包括所述一个或多个物体中的至少一个物体的移动距离,并且所述操作进一步包括:
基于在数据中的位置信息来计算所述至少一个物体的移动距离,所述位置信息指示间接输入设备在其中检测到所述至少一个物体的第一位置和间接输入设备在其中检测到所述至少一个物体的第二位置;
至少部分地基于正在计算设备上执行的应用来定义移动距离阈值;以及
将移动距离与移动距离阈值相比较,以便确定从间接输入设备接收的数据是涉及鼠标操作还是涉及触摸操作。
9.如权利要求7或权利要求8的一种或多种计算机存储介质,其中所述一个或多个参数包括所述一个或多个物体中的至少一个物体的输入持续时间,并且所述操作进一步包括:
基于在数据中的定时信息来计算所述至少一个物体的输入持续时间,所述定时信息指示与所述至少一个物体的输入的发起相关联的第一检测时间和与所述至少一个物体的输入的终止相关联的第二检测时间;
至少部分地基于正在计算设备上执行的应用来定义输入持续时间阈值;以及
将输入持续时间与输入持续时间阈值相比较,以便确定从间接输入设备接收的数据是涉及鼠标操作还是涉及触摸操作。
10.一种系统,包括:
一个或多个处理器;
一个或多个计算机存储器;
存储在所述一个或多个存储器上并且可在所述一个或多个处理器上操作的歧义消除模块,其用于接收指示在间接输入设备的检测区域中的一个或多个物体的移动的数据,并且确定所述移动是涉及鼠标操作还是涉及触摸操作;以及
存储在所述一个或多个存储器上并且可在所述一个或多个处理器上操作的转换模块,其用于将指示所述移动的数据从与间接输入设备相关联的第一坐标空间转换为与实施鼠标操作或触摸操作的显示屏相关联的第二坐标空间。
CN201380077437.9A 2013-06-14 2013-09-21 间接输入的歧义消除 Active CN105474164B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/918,746 US10345932B2 (en) 2013-06-14 2013-06-14 Disambiguation of indirect input
US13/918746 2013-06-14
PCT/US2013/061077 WO2014200550A1 (en) 2013-06-14 2013-09-21 Disambiguation of indirect input

Publications (2)

Publication Number Publication Date
CN105474164A true CN105474164A (zh) 2016-04-06
CN105474164B CN105474164B (zh) 2019-05-14

Family

ID=49304367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380077437.9A Active CN105474164B (zh) 2013-06-14 2013-09-21 间接输入的歧义消除

Country Status (5)

Country Link
US (1) US10345932B2 (zh)
EP (1) EP3008556B1 (zh)
KR (1) KR102198596B1 (zh)
CN (1) CN105474164B (zh)
WO (1) WO2014200550A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109643206A (zh) * 2016-06-28 2019-04-16 株式会社尼康 控制装置、显示装置、程序及检测方法
CN110637277A (zh) * 2017-05-12 2019-12-31 雷蛇(亚太)私人有限公司 用于量化按键点击力的方法和设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150015509A1 (en) * 2013-07-11 2015-01-15 David H. Shanabrook Method and system of obtaining affective state from touch screen display interactions
KR102171082B1 (ko) * 2014-02-06 2020-10-28 삼성전자주식회사 지문 처리 방법 및 그 전자 장치
US20150346894A1 (en) * 2014-05-29 2015-12-03 Kobo Inc. Computing device that is responsive to user interaction to cover portion of display screen

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020158851A1 (en) * 2001-04-27 2002-10-31 Masaki Mukai Input device and inputting method with input device
US20100283747A1 (en) * 2009-05-11 2010-11-11 Adobe Systems, Inc. Methods for use with multi-touch displays for determining when a touch is processed as a mouse event
CN102023740A (zh) * 2009-09-23 2011-04-20 比亚迪股份有限公司 一种触控装置的动作识别方法
CN102541319A (zh) * 2010-12-20 2012-07-04 联想(北京)有限公司 电子设备及其显示处理方法
EP2485139A1 (en) * 2006-01-30 2012-08-08 Apple Inc. Gesturing with a multipoint sensing device
CN102830858A (zh) * 2012-08-20 2012-12-19 深圳市真多点科技有限公司 一种手势识别方法、装置及触摸屏终端
US20130113716A1 (en) * 2011-11-08 2013-05-09 Microsoft Corporation Interaction models for indirect interaction devices

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5543591A (en) 1992-06-08 1996-08-06 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5995084A (en) 1997-01-17 1999-11-30 Tritech Microelectronics, Ltd. Touchpad pen-input and mouse controller
US7054965B2 (en) * 2003-03-18 2006-05-30 Oqo Incorporated Component for use as a portable computing device and pointing device
US7577925B2 (en) * 2005-04-08 2009-08-18 Microsoft Corporation Processing for distinguishing pen gestures and dynamic self-calibration of pen-based computing systems
US20090109183A1 (en) * 2007-10-30 2009-04-30 Bose Corporation Remote Control of a Display
US20090174679A1 (en) * 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US8766925B2 (en) 2008-02-28 2014-07-01 New York University Method and apparatus for providing input to a processor, and a sensor pad
US8427438B2 (en) * 2009-03-26 2013-04-23 Apple Inc. Virtual input tools
US9003334B2 (en) * 2010-03-05 2015-04-07 Adobe Systems Incorporated Editing content using multiple touch inputs
TWI413922B (zh) * 2010-04-23 2013-11-01 Primax Electronics Ltd 觸控板之控制方法與應用該方法之觸控裝置
US20130162519A1 (en) * 2011-12-23 2013-06-27 Sap Ag Cross-platform human input customization
US20140028554A1 (en) * 2012-07-26 2014-01-30 Google Inc. Recognizing gesture on tactile input device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020158851A1 (en) * 2001-04-27 2002-10-31 Masaki Mukai Input device and inputting method with input device
US6801191B2 (en) * 2001-04-27 2004-10-05 Matsushita Electric Industrial Co., Ltd. Input device and inputting method with input device
EP2485139A1 (en) * 2006-01-30 2012-08-08 Apple Inc. Gesturing with a multipoint sensing device
US20100283747A1 (en) * 2009-05-11 2010-11-11 Adobe Systems, Inc. Methods for use with multi-touch displays for determining when a touch is processed as a mouse event
US8355007B2 (en) * 2009-05-11 2013-01-15 Adobe Systems Incorporated Methods for use with multi-touch displays for determining when a touch is processed as a mouse event
CN102023740A (zh) * 2009-09-23 2011-04-20 比亚迪股份有限公司 一种触控装置的动作识别方法
CN102541319A (zh) * 2010-12-20 2012-07-04 联想(北京)有限公司 电子设备及其显示处理方法
US20130113716A1 (en) * 2011-11-08 2013-05-09 Microsoft Corporation Interaction models for indirect interaction devices
CN102830858A (zh) * 2012-08-20 2012-12-19 深圳市真多点科技有限公司 一种手势识别方法、装置及触摸屏终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109643206A (zh) * 2016-06-28 2019-04-16 株式会社尼康 控制装置、显示装置、程序及检测方法
CN110637277A (zh) * 2017-05-12 2019-12-31 雷蛇(亚太)私人有限公司 用于量化按键点击力的方法和设备
CN110637277B (zh) * 2017-05-12 2023-03-28 雷蛇(亚太)私人有限公司 用于量化按键点击力的方法和设备

Also Published As

Publication number Publication date
KR20160019449A (ko) 2016-02-19
EP3008556B1 (en) 2021-03-31
CN105474164B (zh) 2019-05-14
WO2014200550A1 (en) 2014-12-18
US10345932B2 (en) 2019-07-09
US20140368444A1 (en) 2014-12-18
KR102198596B1 (ko) 2021-01-05
EP3008556A1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
US10732725B2 (en) Method and apparatus of interactive display based on gesture recognition
US8619036B2 (en) Virtual keyboard based activation and dismissal
EP2717120B1 (en) Apparatus, methods and computer program products providing finger-based and hand-based gesture commands for portable electronic device applications
JP4295280B2 (ja) タッチベースユーザ入力装置で2点ユーザ入力を認識する方法および装置
US8743065B2 (en) Method of identifying a multi-touch rotation gesture and device using the same
Le et al. Investigating the feasibility of finger identification on capacitive touchscreens using deep learning
TWI584164B (zh) 在多點觸控裝置上模擬壓感
US20140237408A1 (en) Interpretation of pressure based gesture
EP2551759A2 (en) Gesture recognition method and touch system incorporating the same
CN111913609A (zh) 触摸输入作为非预期的或预期的分类
CN103455274A (zh) 对用户输入的意图进行分类
US9454257B2 (en) Electronic system
KR20110084313A (ko) 표면상에 놓인 손에 맞는 제스쳐를 생성하는 방법
US20150185850A1 (en) Input detection
CN105474164A (zh) 间接输入的歧义消除
CN116507995A (zh) 带有虚拟轨迹板的触摸屏显示器
US20200142582A1 (en) Disambiguating gesture input types using multiple heatmaps
US20140298275A1 (en) Method for recognizing input gestures
JP2014534525A (ja) 間接タッチ入力デバイスのための圧力ベースのインタラクション
US9235338B1 (en) Pan and zoom gesture detection in a multiple touch display
US10831274B2 (en) Changing tactile sensitivity of interactions with midair interfaces
CN109669565B (zh) 用于缓慢触摸移动的触摸运动跟踪和报告技术
TW201133304A (en) Touch panel device and method for touching the same
KR20140086805A (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록매체
US20150138102A1 (en) Inputting mode switching method and system utilizing the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant