基于邻近度传感器的交互的制作方法

文档序号:10663525阅读:362来源:国知局
基于邻近度传感器的交互的制作方法
【专利摘要】提供了一种应用编程接口,该应用编程接口允许应用请求并接收来自被布置于诸如智能电话或平板之类的计算设备上的多个邻近度传感器的距离测量。用户可通过将诸如手或手指之类的物体移向以及移离多个邻近度传感器中的一个或多个来向应用输入值范围。应用可使用由邻近度传感器提供的值范围,以便允许比通常使用与电容性显示器相关联的二元输出可获得的用户界面更细微且更精确的用户界面。由邻近度传感器提供的值可与来自诸如加速计之类的一个或多个其它传感器的值相组合,以便提供附加的用户界面选项。
【专利说明】基于邻近度传感器的交互[〇〇〇1 ] WS
[0002]诸如智能电话、膝上型计算机、游戏系统、和平板计算机之类的现代计算设备通常包括邻近度传感器。邻近度传感器可能能够检测附近物体的存在,以及所述传感器与所述附近物体之间的近似距离。例如,可使用各种各样的包括激光、声纳、和超声的技术来实现邻近度传感器。
[0003]虽然邻近度传感器通常能够测量传感器与附近物体之间的距离,但在大多数计算设备中找到的邻近度传感器通常被操作系统和或编程接口限制于仅确定是否有物体接近于邻近度传感器。例如,以这种方式使用邻近度传感器的应用包括当确定计算设备正抵着耳朵时禁用显示器的应用,或当确定设备可能在口袋内时增加计算设备的振铃音量的应用。
[0004]挺塗
[0005]提供了一种应用编程接口,该应用编程接口允许应用请求并接收来自被布置于诸如智能电话或平板之类的计算设备上的多个邻近度传感器的距离测量。用户可通过将诸如手或手指之类的物体移向以及移离多个邻近度传感器中的一个或多个来向应用输入值范围。应用可使用由邻近度传感器提供的值范围,以便允许比通常使用与电容性显示器相关联的二元输出可获得的用户界面更细微且更精确的用户界面。由邻近度传感器提供的值可与来自诸如加速计之类的一个或多个其它传感器的值相组合,以便提供附加的用户界面选项。
[0006]在一实现中,计算设备的一应用接收来自第一邻近度传感器的第一值。第一值表示第一物体与第一邻近度传感器之间的第一距离。所述计算设备的所述应用接收来自第二邻近度传感器的第二值。第二值表示第二物体与第二邻近度传感器之间的第二距离。所述计算设备的所述应用基于所述第一值与所述第二值两者来执行一个或多个操作。
[0007]在一实现中,计算设备接收来自第一邻近度传感器和第二邻近度传感器的输入值的第一序列。输入值的第一序列中的每个输入值表示第一物体与第一邻近度传感器之间的距离,或者第二物体与第二邻近度传感器之间的距离。所述计算设备将第一序列与一个或多个操作相关联。所述计算设备接收来自第一邻近度传感器和第二邻近度传感器的输入值的第二序列。所述计算设备确定所述第二序列与所述第一序列相匹配。响应于该确定,所述计算设备执行与第一序列相关联的一个或多个操作。
[0008]在一实现中,计算设备接收来自第一邻近度传感器的输入值的第一序列。输入值的第一序列中的每个输入值表示第一物体与第一邻近度传感器之间的距离。所述计算设备将第一序列与一个或多个操作相关联。所述计算设备接收来自第一邻近度传感器的输入值的第二序列。所述计算设备确定所述第二序列与所述第一序列相匹配。响应于该确定,所述计算设备执行与第一序列相关联的一个或多个操作。
[0009]提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。 本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
[0010]附图简述
[0011]当结合附图进行阅读时,可以更好地理解以上概述以及以下对说明性实施例的详细说明。出于说明各实施例的目的,在附图中示出各实施例的示例性构造;然而,各实施例不局限于所公开的具体方法和手段。在附图中:[0〇12]图1是一示例计算设备的图示;
[0013]图2是一个或多个用户与邻近度传感器交互的图示;[〇〇14]图3是另一示例计算设备的图示;[〇〇15]图4是另一示例计算设备的图示;[〇〇16]图5是另一示例计算设备的图示;
[0017]图6是可在其中实现邻近度传感器的环境的图示;
[0018]图7是用于基于来自多个邻近度传感器的数据执行一个或多个操作的示例性方法的实现的图示;
[0019]图8是基于输入值序列执行一个或多个操作的示例性方法的实现的图示;
[0020]图9是基于方向信息配置一个或多个邻近度传感器的示例性方法的实现的图示;
[0021]图10是基于经确定的值配置一个或多个邻近度传感器的示例性方法的实现的图示;以及[〇〇22]图11是其中可实现各示例实施例和各方面的示例性计算环境的图示。[〇〇23] 详细描述
[0024]图1是一示例计算设备100的图示。在所示的示例中,计算设备100包括被集成到外壳105中的显示器107。显示器107可包括电容性显示器,并可被用户使用以便向计算设备 1〇〇提供用户输入。计算设备1〇〇还可包括也可被用于向计算设备1〇〇提供用户输入的一个或多个硬件输入(例如,按钮或开关)。在所示的示例中,计算设备100是智能电话,并且还可包括扬声器113和话筒111。通过图11所示的示例计算设备1100更详细地解说计算设备100。 虽然被描述为智能电话,但计算设备100不限于智能电话并且还可被实现为例如膝上型计算机、平板计算机、便携式视频游戏系统、以及便携式媒体播放器中的一个或更多个。[〇〇25]计算设备100还包括邻近度传感器120a和120b (在本文中被统称为邻近度传感器 120)。每个邻近度传感器120可能能够确定该邻近度传感器120与附近物体之间的距离。例如,可使用各种各样的包括激光、声纳、和超声的技术来实现邻近度传感器120。取决于实现,与计算设备100相关联的应用或操作系统可向邻近度传感器120查询邻近度传感器120 与最近物体之间的距离的测量。邻近度传感器120可返回测得的距离。取决于邻近度传感器 120的类型和能力,可以各种各样的格式和/或分辨率(包括英尺、英寸、厘米、毫米、微米、纳米等)来提供该距离。[〇〇26]例如,图2是一个或多个用户与邻近度传感器交互的图示。在所示的示例中,物体 211和物体213(即,手)分别在邻近度传感器120a和120b的前面。邻近度传感器120a测量物体211与邻近度传感器120a之间的距离205,并将测得的距离205提供给与计算设备100相关联的一个或多个应用。类似地,邻近度传感器120b测量物体213与邻近度传感器120b之间的距离207,并将测得的距离207提供给所述一个或多个应用。随着该一个或多个用户要么移动物体211和213要么移动计算设备100,邻近度传感器120a和120b可更新提供给所述一个或多个应用的距离205和/或207的值。
[0027]除了距离以外,邻近度传感器120还可被用于测量位于该邻近度传感器120的前面的物体的速度。例如,邻近度传感器120b可通过将当前测得的距离和时间与先前时刻先前测得的距离进行比较,来确定物体213的速度。可将测得的速度提供给所述一个或多个应用。[〇〇28]如可理解的,邻近度传感器120可被用于向正在计算设备100上执行的操作系统和/或应用提供各种各样的用户界面实现。具体而言,邻近度传感器120可被用于其中输入值范围可能是有用的应用和/或界面,这与和电容性显示器相关联的二元开/关型输入值相对照。此外,本文所描述的许多用户界面实现可使用当前移动设备的现有的邻近度传感器 120来提供,而无需附加新的或昂贵的传感器。
[0029]—个这样的实现是用于视频游戏应用。当前,大多数视频游戏应用使用电容性显示器107以便通过显示出的按钮来接收用户输入。这些电容性显示器通常无法将对显示出的按钮的用力按压与对显示出的按钮的轻柔按压进行区分。为了促进更大范围的用户输入,视频游戏应用可使用邻近度传感器120以便接收用户输入。由邻近度传感器120提供的距离可被用作用户输入的相对强度的指示器。
[0030]例如,竞速视频游戏应用可将邻近度传感器120a映射到赛车的“油门踏板”,并将邻近度传感器120b映射到“刹车踏板”。当用户的手或手指被检测到在邻近度传感器120a的附近时,该视频游戏可以用与手指和邻近度传感器120a之间的距离成反比的力来致动赛车的油门踏板。因此,邻近度传感器120a与手指之间的距离越小,赛车将加速越快。可类似地操作与邻近度传感器120b相关联的刹车踏板。
[0031]在另一示例中,格斗视频游戏应用可将邻近度传感器120a映射到“挥拳”,并可将邻近度传感器120b映射到“踢”。当用户相对于邻近度传感器120移动他的手或手指时,应用可使角色以与由相关联的邻近度传感器120检测出的速度成比例的速度挥拳或踢。[〇〇32]在另一示例中,棋盘游戏视频游戏应用可将每个邻近度传感器120映射于该棋盘游戏的一个玩家。例如,在计算设备具有四个邻近度传感器120的情况下,每个用户可使用他的经分配的邻近度传感器120来控制掷虚拟骰子的速度,其中邻近度传感器120测得的速度被转换成棋盘游戏中掷虚拟骰子的速度。在另一示例中,棋盘游戏可以是“饥饿河马” (hungry-hungry hippos)型游戏,其中由邻近度传感器120测得的速度被用于控制相应河马的速度和伸出长度。
[0033]此外,邻近度传感器120可结合计算设备100的诸如加速计、全球定位系统、陀螺仪、以及电容性显示器107之类其它传感器一起使用。可以使用其它传感器。例如,继续上述的格斗视频游戏应用,该应用可使用邻近度传感器120来测量用户的手指靠近计算设备100 时的速度,但可不表达挥拳或踢的选择,直到加速计或显示器107指示出该计算设备100已被用户触摸。确定计算设备100已被触摸之后,应用可导致以与所确定出的速度成比例的力来执行挥拳或踢。
[0034]在另一示例中,加速计可被用于将计算设备100的移动与手和/或手指相对于邻近度传感器120的移动进行区分。如果加速计检测到计算设备100的移动,那么由邻近度传感器120测得的距离的任何变化可被忽略或调整以便说明该移动。例如,用户可能被无意地推挤,或可能正在乘坐火车或公共汽车,这可导致邻近度传感器120中的一个或多个之间的距离的无意改变。
[0035] 在另一示例应用中,邻近度传感器120可被用于记录距离变化的序列。例如,用户可将双手移向以及移离每个邻近度传感器120,并且该序列可被记录。序列可包括距离的变化以及速度的变化。例如,用户可将诸如解锁计算设备100、打开应用、或呼叫联系人之类的一个或多个动作或操作与所记录的序列相关联。稍后,当用户重复该序列时,计算装置100 可执行该一个或多个操作。[〇〇36]如可理解的,本文所描述的邻近度传感器120可被用于其中可体现多个输入敏感程度的任何应用中。例如,在绘画或图画应用中,测得的速度或距离可被用于调整屏幕上铅笔或笔刷所施加的量或压力。在地图绘制应用中,所测量出的距离或速度可被用于控制缩放级别或缩放速度。在电子邮件或文本查看应用中,测得的距离或速度可被用于控制滚轮速度。可支持其它应用。[〇〇37] 返回图1,如所示,邻近度传感器120a和120b位于计算设备100的外壳105中分别靠近按钮109和扬声器113的大致相对位置处。在仅使用两个邻近度传感器120的情况下,当以两种可能的横向方向中的任意一种手持计算设备100时,这样的布置可允许易于使用多个邻近度传感器120。然而,其它邻近度传感器120配置例如分别关于图3、4和5中示出的计算设备300、400、和500被构想和例示。[〇〇38] 如图3所示,对于计算设备300,邻近度传感器120a和120b被放置于外壳105的下部上按钮109和话筒111的相对两侧。在此配置中,当以两种可能的纵向方向中的一种手持计算设备300时,邻近度传感器120可被很好地使用。对于另一可能的纵向方向,邻近度传感器 120a和120b将被放置于外壳105顶部,位于扬声器113的两侧。[〇〇39] 相反,如图4所示,对于计算设备400,邻近度传感器120a和120b被放置于外壳105 的右上角和右下角。在此配置中,当以两种可能的横向方向中的一种手持计算设备400时, 邻近度传感器120可被很好地使用。对于另一可能的横向方向,邻近度传感器120a和120b可被放置于外壳105的相对侧。
[0040]在另一实现中,三个或更多个邻近度传感器120(而非两个邻近度传感器120a和 120b)可被使用以允许支持更多数量的方向。例如,图5示出具有四个邻近度传感器120(即, 邻近度传感器120&、12013、120(:、和120(1)的计算设备500。在这样的配置中,可使用邻近度传感器120中的一些或全部以便允许以四种方向中的任意一种手持计算设备500。取决于计算设备500的方向,计算设备500可选择性地激活或停用邻近度传感器120a-d中的一个或多个。替换地,每个邻近度传感器120a-d可被使用,从而允许至多四个独立的基于邻近度的输入。
[0041]例如,在一些实现中,应用可使用陀螺仪、加速计、或其它方向检测手段来检测计算设备500的方向。如果以纵向模式手持计算设备500使得邻近度传感器120a和120d最接近于用户,则邻近度传感器120a和120d可被激活,而邻近度传感器120b和120c可被停用。如果以纵向模式手持计算设备500使得邻近度传感器120b和120c最接近于用户,则邻近度传感器120b和120c可被激活,而邻近度传感器120a和120d可被停用。如果以横向模式手持计算设备500使得邻近度传感器120b和120a最接近于用户,则邻近度传感器120b和120a可被激活,而邻近度传感器120c和120d可被停用。如果以横向模式手持计算设备500使得邻近度传感器120c和120d最接近于用户,则邻近度传感器120c和120d可被激活,而邻近度传感器 120b和120a可被停用。
[0042]在另一实现中,计算设备500可基于用户设置选择性地激活或停用邻近度传感器 120。用户可选择邻近度传感器120以用于计算设备500上的所有应用,或者可为每个应用分开地选择邻近度传感器120。例如,当使用格斗视频游戏应用时,用户可选择邻近度传感器 120a和120b,而当使用竞速视频游戏应用时,用户可选择邻近度传感器120c和120d。
[0043]在另一示例中,当某一应用被启动时或在提示用户之后,可基于由邻近度传感器测得的距离值来动态激活邻近度传感器120。然后,可激活具有最小测得距离的邻近度传感器120。例如,当用户启动计算设备500上的一应用时,可提示该用户通过将手指放置于所希望的邻近度传感器120之上来选择一个或多个邻近度传感器120。当该应用请求来自每个邻近度传感器120的距离测量时,已由用户通过将手指放置于其上而选择的邻近度传感器120 将测量出很近或很小的距离。应用可激活具有最小测得距离的邻近度传感器120。
[0044]尽管仅有至多四个邻近度传感器120被示于图1-5,但这仅用于说明目的;而对于可被支持的邻近度传感器120的数量不存在限制。此外,邻近度传感器120的放置和位置并不限于附图中所示的那些。构想了其它放置,包括计算设备的后面和侧面、以及显示器107 背后的放置。
[0045]图6是可在其中实现邻近度传感器120的环境600的图示。可由参照图11描述的计算设备1100来实现该环境。环境600可包括一个或多个组件,所述一个或多个组件包括应用 610、邻近度传感器API 605、输入序列引擎620、以及一个或多个邻近度传感器120。[〇〇46] 应用610可包括可与邻近度传感器120进行交互的任何类型的应用。应用可包括视频游戏应用、媒体创建应用、地图绘制应用、web浏览器、以及其它类型的应用。诸如启动器、 键盘、锁屏、以及拨号器之类的通常与操作系统相关联的应用也可被支持。对于可以是环境 600的一部分的应用610的数量不存在限制。[〇〇47] 邻近度传感器API 605可以是允许应用610访问或使用邻近度传感器120的应用编程接口。在一些实现中,邻近度传感器API 605可以是允许应用610确定离每个邻近度传感器120最近的物体的距离以及该最近物体的速度的一组功能。替换地,应用610可使用距离测量的序列来计算该物体的速度。API 605可允许应用610使用公共的一组功能与各种各样的邻近度传感器120类型进行交互。[〇〇48]输入序列引擎620可记录或存储来自邻近度传感器120的输入序列的表示。输入序列可包括诸如由邻近度传感器120中的一个或多个在某一时间段上测得的距离和/或速度之类的值。每个输入序列可与诸如解锁计算设备、呼叫联系人、或启动特定的应用610之类的一个或多个操作相关联。输入序列引擎620可将每个输入序列存储于输入序列存储625 中。当接收到的与所存储的输入序列中的一个相匹配的输入序列时,与匹配的输入序列相关联的一个或多个操作可被输入序列引擎620执行。
[0049]在一些实现中,每个输入序列可与特定的时间长度相关联。当用户想要创建新的输入序列时,输入序列引擎620可使用邻近度传感器API 605来记录在该用户与邻近度传感器120中的一个或多个进行交互时由邻近度传感器120中的一个或多个在所述时间长度上测得的距离和/或速度。交互可包括用户将他的手或手指以变化的速度移向以及移离邻近度传感器120。在该时间长度期满后,输入序列引擎620可要求用户重复与该输入序列相关联的交互,以便验证它们已被正确记录。
[0050]如果被验证,则输入序列引擎620可要求用户选择一个或多个操作来与该输入序列相关联。输入序列引擎620可将该输入序列和所选择的一个或多个操作的指示器存储于输入序列存储625中。
[0051]替换地,输入序列可被限于一定数量的距离变化,而不是被限于特定的时间长度。 例如,输入序列可包括相对于邻近度传感器120中的一个或多个邻近度传感器的两个、三个、四个、或五个距离变化。在一些实现中,输入序列引擎620可要求用户选择所需的序列长度,并然后依次提示用户以序列中的每个所需的距离放置他的手或手指。[〇〇52]在多个邻近度传感器120被使用的情况下,输入序列引擎620可允许用户在序列期间在邻近度传感器120之间切换,或在序列期间同时地使用多个邻近度传感器120。因此,一个示例序列可以是用户将一个手指保持于邻近度传感器120a上方2cm距离处,用户将手指保持于邻近度传感器120a和邻近度传感器120b上方4cm距离处,用户将一个手指保持于邻近度传感器120b上方2cm距离处,以及用户将一个手指保持于邻近度传感器120a上方2cm距离处同时还将一个手指保持于邻近度传感器120b上方4cm距离处。[〇〇53]应用610和/或输入序列引擎620还可使用其它传感器数据615。其它传感器数据 615可包括来自与计算设备1100相关联的其它传感器的数据,包括但不限于加速计、全球定位系统、陀螺仪、温度计、气压计、高度计、加速计、以及电容性触摸屏。可以支持其它类型的传感器数据。[〇〇54] 对于应用610,传感器615可与来自邻近度传感器120的距离和/或速度数据并用。 例如,在具有多个邻近度传感器120的实现中,可基于检测出的方向来启用或禁用邻近度传感器120中的一些或全部。
[0055]其他传感器数据615的加速计数据也被可用于将由计算设备1100的移动引起的向着邻近度传感器120的用户移动与由用户向着邻近度传感器120的实际移动进行区分,或被用于确定用户何时触摸了计算设备1100。
[0056]对于输入序列引擎620,其它传感器数据615可被包括于所记录的输入序列中。例如,用户可晃动或移动计算设备1100作为输入序列的一部分,或可将计算设备1100移向他的手指而不是将他的手指移向邻近度传感器120。输入序列引擎620可将其它传感器数据 615和输入序列一起存储在输入序列存储625中。[〇〇57]图7是用于基于来自多个邻近度传感器120的数据执行一个或多个操作的示例性方法700的实现的图示。方法700可由计算设备1100实现。例如,计算设备1100可包括智能电话、膝上型计算机、或平板计算机。[〇〇58] 在702,选择第一邻近度传感器和第二邻近度传感器。应用610可从计算设备1100 的多个邻近度传感器120中选择第一和第二邻近度传感器。在一些实现中,可基于计算设备 1100的方向来选择传感器,使得选择出的邻近度传感器120是在给定所述方向的情况下最近或最易接近的邻近度传感器120。替换地,可由用户选择邻近度传感器120,或可基于与应用610相关联的配置信息来选择邻近度传感器120。[〇〇59] 在704,接收来自第一邻近度传感器的第一值。应用610可通过邻近度传感器API 605来接收第一值。第一值可表示第一物体与第一邻近度传感器之间的第一距离。第一物体可以是计算设备1100的用户的手指或手。替换地或附加地,该第一值可以是第一物体移向第一邻近度传感器时的速度。
[0060]在706,接收来自第二邻近度传感器的第二值。应用610可通过邻近度传感器API605来接收第二值。第二值可表示第二物体与第二邻近度传感器之间的第二距离。第二邻近度传感器可以是与第一邻近度传感器不同的邻近度传感器。
[0061]取决于实现,在708任选地接收来自除第一和第二邻近度传感器708之外的某一传感器的第三值。第三传感器可以不是邻近度传感器。第三值可以是其它传感器数据615,并且可被应用610从诸如加速计、全球定位系统、陀螺仪、或电容性显示器之类的传感器接收。 可以使用其它传感器。
[0062]在710,基于第一值和第二值两者执行一个或多个操作。所述一个或多个操作可由应用610执行。在应用是视频游戏应用的情况下,操作可包括以与第一值和第二值成比例的力或速度来执行一个或多个角色动作。可以支持其它操作。在第三值被接收的情况下,可使用第一、第二和第三值来执行操作。[〇〇63]图8是基于输入值序列执行一个或多个操作的示例性方法800的实现的图示。例如,该方法800可由环境600的输入序列引擎620实现。[〇〇64]在802,输入值的第一序列被接收。输入值的第一序列可由输入序列引擎620从第一邻近度传感器120和第二邻近度传感器120接收。输入值的第一序列中的每个输入值可表示第一物体与第一邻近度传感器120之间的距离,或者第二物体与第二邻近度传感器之间的距离。[〇〇65]在804,输入值的第一序列与一个或多个操作相关联。输入序列引擎620可将输入值的第一序列与一个或多个操作相关联。例如,所述一个或多个操作可包括打开联系人、将消息发送给联系人、呼叫联系人、解锁计算设备、打开计算设备、关闭计算设备、打开应用、 打开或关闭W1-F1、以及将计算设备设为飞行模式。取决于实现,可由用户或管理员选择所述一个或多个操作。例如,在输入输入值的第一序列后,用户可从下拉菜单或其它用户界面元素中选择所需的一个或多个操作。输入值的第一序列和相关联的一个或多个操作可被存储于输入序列存储625中。[〇〇66]在806,输入值的第二序列被接收。输入值的第二序列可由输入序列引擎620从第一邻近度传感器120和第二邻近度传感器120接收。[〇〇67]在808,作出第二序列是否与第一输入序列匹配的确定。该确定可由输入序列引擎 620作出。如果第一序列与第二序列相匹配,则方法800可在810继续。否则,方法800可在812继续。[〇〇68]在810,执行一个或多个操作。与第一输入序列相关联的一个或多个操作可从输入序列存储625中被检索出并由输入序列引擎620执行。[〇〇69]在812,生成错误。如果第一输入序列不与第二输入序列相匹配,则输入序列引擎 620可生成错误,并且与第一输入序列相关联的一个或多个操作不被执行。例如,可向用户显示输入序列未被识别的消息,或可播放与错误相关联的声音。替换地,与第一输入序列相关联的一个或多个操作不被执行,且可不生成错误消息或声音。
[0070]图9是基于方向信息配置一个或多个邻近度传感器的示例性方法900的实现的图示。例如,该方法900可由环境600的应用610实现。
[0071]在901,作出计算设备处于横向方向还是纵向方向的确定。该确定可由应用610使用例如由加速计或陀螺仪提供的传感器数据来作出。可使用用于确定计算设备的方向的其它方法或技术。如果确定计算设备处于横向方向,贝方法900可在903继续。如果确定计算设备处于纵向方向,则方法900可在905继续。[〇〇72] 在903,基于横向方向配置邻近度传感器。邻近度传感器120可由应用610配置。在一些实现中,在横向方向下,非常适合于横向方向的邻近度传感器120可被选择以供应用 610使用。因此,参见图5的计算设备500,邻近度传感器120a和120b或者邻近度传感器120c 和120d可被选择并激活。[〇〇73] 在905,基于纵向方向配置邻近度传感器。邻近度传感器120可由应用610配置。在一些实现中,在纵向方向下,非常适合于纵向方向的邻近度传感器120可被选择以供应用 610使用。因此,继续参见图5的计算设备500,邻近度传感器120a和120d或者邻近度传感器 120b和120c可被选择并激活。
[0074]图10是基于经确定的值配置一个或多个邻近度传感器的示例性方法1000的实现的图示。例如,该方法1000可由环境600的应用610实现。[〇〇75]在1002,接收来自每个邻近度传感器的值。这些值可由应用610通过邻近度传感器 API 605从每个邻近度传感器120接收。每个值可表示一邻近度传感器120与最近物体之间的距离。[〇〇76]在1004,确定与最小的接收到的(一个或多个)值相关联的(一个或多个)邻近度传感器。最小的接收到的值可由应用610确定。作为邻近度传感器120配置过程的一部分,用户可能已被提示选择一个或多个邻近度传感器120以在应用610期间使用。在一些实现中,应用610可能已经提示用户通过将他的手指或另一物体放在他想选择的传感器120附近或前面来选择邻近度传感器120。因此,具有最小值的邻近度传感器120可以是被用户选择了的邻近度传感器120。[〇〇77]在1006,选择具有最小的接收到的(一个或多个)值的(一个或多个)邻近度传感器。邻近度传感器120可由应用610选择,并且可被用户用于向应用610提供输入。例如,可停用任何未被选择的邻近度传感器120。
[0078]图11示出了在其中可实现各示例实施例和各方面的示例性计算环境。计算系统环境只是合适的计算环境的一个示例,并非旨在对使用范围或功能提出任何限制。
[0079]可以使用很多其它通用或专用计算系统环境或配置。可适合使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、网络PC、微型计算机、大型计算机、嵌入式系统、 包括任何以上系统或设备的分布式计算环境等。
[0080]可以使用诸如程序模块之类的由计算机执行的计算机可执行指令。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。 在任务由通过通信网络或其它数据传输介质链接的远程处理设备执行的情况下可使用分布式计算环境。在分布式计算环境中,程序模块和其它数据可位于包括存储器存储设备的本地和远程计算机存储介质中。
[0081]参考图11,用于实现本文所描述的各方面的示例性系统包括诸如计算设备1100之类的计算设备。计算设备1100描绘了根据各种实施例的为特定的基于软件的功能提供执行平台的基本计算机系统的组件。计算设备1100可以是这样一个环境,在其中实例化各种实施例的客户机端库、集群范围服务、和/或分布式执行引擎(或它们的组件)。例如,计算设备 1100可包括台式计算机系统、膝上型计算机系统或服务器计算机系统。类似地,计算设备1100可作为手持式设备(例如,蜂窝电话、智能电话、平板等)被实现。计算设备1100通常包括至少某种形式的计算机可读介质。计算机可读介质可以是可由计算设备1100访问的多种不同类型的可用介质,并且可包括但不限于计算机存储介质。
[0082]在其最基本的配置中,计算设备1100通常包括至少一个处理单元1102和存储器 1104。取决于计算设备的确切配置和类型,存储器1104可以是易失性的(诸如随机存取存储器(RAM)),非易失性的(诸如只读存储器(R0M)、闪存等),或两者的某种组合。该最基本配置在图11中由虚线1106示出。[〇〇83]计算设备1100可以具有附加特征/功能。例如,计算设备1100可包含附加存储(可移动和/或不可移动),包括但不限于硬盘和SD卡。这种附加存储器在图11中用可移动存储 1108和不可移动存储1110示出。
[0084]计算设备1100通常包括各种计算机可读介质。计算机可读介质可以是可由设备 1100访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质两者。
[0085]计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的以任何方法或技术实现的易失性和非易失性、以及可移动和不可移动介质。存储器1104、可移动存储1108、以及不可移动存储1110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、R0M、电可擦除可编程只读存储器(EEPR0M)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息且可以由计算设备1100访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备1100的一部分。[〇〇86]计算设备1100可包含(一个或多个)通信连接1112,通信连接1112允许该设备与其它设备和/或网络进行通信。连接1112可包括W1-F1、蜂窝、蓝牙、CDMA、GSM等。计算设备1100 也可具有(一个或多个)输入设备1114,诸如键盘、电容性显示器、笔、语音输入设备、触摸输入设备等。还可包括(一个或多个)输出设备1116,诸如电容性显示器、扬声器等。计算设备 1100还可接收来自一个或多个传感器1117的数据。(一个或多个)传感器1117诸如加速计、 全球定位系统、邻近度传感器、陀螺仪等。所有这些设备和传感器在本领域是众知的并且不必在此详细讨论。
[0087]应该理解,本文描述的各种技术可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,当前公开的主题的方法和装置或其特定方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(S卩,指令) 的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实现当前所公开的主题的装置。
[0088]尽管示例性实现可涉及在一个或多个独立计算机系统的上下文中利用当前所公开的主题的各方面,但本主题不受此限制,而是可以结合任何计算环境,诸如网络或分布式计算环境来实现。此外,当前所公开的主题的各方面可在某一个或跨多个处理芯片或设备中实现,且存储可类似地被跨多个设备影响。这样的设备可包括例如个人计算机、网络服务器、以及手持式设备。
[0089]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【主权项】
1.一种在具有多个邻近度传感器的计算设备上基于所述邻近度传感器与多个物体之 间的距离执行操作的方法,包括:由计算设备的一应用接收来自第一邻近度传感器的第一值,其中所述第一值表示第一 物体与所述第一邻近度传感器之间的第一距离;由所述计算设备的所述应用接收来自第二邻近度传感器的第二值,其中所述第二值表 示第二物体与所述第二邻近度传感器之间的第二距离;以及由所述计算设备的所述应用基于所述第一值与所述第二值两者来执行一个或多个操 作。2.如权利要求1所述的方法,进一步包括:接收来自不同于所述第一邻近度传感器或所 述第二邻近度传感器的一个传感器的第三值,以及基于所述第一值、所述第二值和所述第 三值执行所述一个或多个操作。3.如权利要求2所述的方法,其中所述传感器包括加速计、全球定位系统、陀螺仪、以及 电容性显不器中的一个或多个。4.如权利要求1所述的方法,其中所述应用是视频游戏应用、地图绘制应用、安全应用、 或认证应用。5.如权利要求1所述的方法,进一步包括:基于所述第一值和来自所述第一邻近度传感 器的先前接收到的值确定所述第一物体的第一速度,以及基于所述第二值和来自所述第二 邻近度传感器的先前接收到的值确定所述第二物体的第二速度。6.如权利要求5所述的方法,进一步包括:由所述应用基于所述第一速度和所述第二速 度中的一个或多个来执行一个或多个操作。7.—种基于从多个邻近度传感器接收到的多个物体的距离或速度来执行操作的系统, 该系统包括:至少一个计算设备;多个邻近度传感器;以及 应用,所述应用被适配成:从所述多个邻近度传感器中选择第一邻近度传感器和第二邻近度传感器;接收来自所述第一邻近度传感器的第一值,其中所述第一值表示第一物体与所述第一 邻近度传感器之间的第一距离,或者表示所述第一物体的第一速度;接收来自所述第二邻近度传感器的第二值,其中所述第二值表示第二物体与所述第二 邻近度传感器之间的第二距离,或者表示所述第二物体的第二速度;以及基于所述第一值和所述第二值,或者基于所述第一速度和所述第二速度,执行一个或 多个操作。8.如权利要求7所述的系统,其中所述系统进一步包括除所述多个邻近度传感器之外 的一个传感器,并且所述应用被进一步适配成接收来自除所述多个邻近度传感器之外的一 个传感器的第三值,以及基于所述第一值、所述第二值和所述第三值执行所述一个或多个 操作。9.如权利要求8所述的系统,其中所述传感器包括加速计、全球定位系统、陀螺仪、以及 电容性显不器中的一个或多个。10.如权利要求7所述的系统,其中所述应用是视频游戏应用、地图绘制应用、安全应用、或认证应用。
【文档编号】G06F3/0488GK106030494SQ201580009804
【公开日】2016年10月12日
【申请日】2015年2月27日
【发明人】E·库库米迪斯, B·贝克曼, S·库马, K·艾索波斯
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1