CN108351791A - 具有用户输入配件的计算设备 - Google Patents

具有用户输入配件的计算设备 Download PDF

Info

Publication number
CN108351791A
CN108351791A CN201680064071.5A CN201680064071A CN108351791A CN 108351791 A CN108351791 A CN 108351791A CN 201680064071 A CN201680064071 A CN 201680064071A CN 108351791 A CN108351791 A CN 108351791A
Authority
CN
China
Prior art keywords
identifier
user interface
computer
user
software application
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
CN201680064071.5A
Other languages
English (en)
Other versions
CN108351791B (zh
Inventor
O·昆德斯
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 CN108351791A publication Critical patent/CN108351791A/zh
Application granted granted Critical
Publication of CN108351791B publication Critical patent/CN108351791B/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/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
    • 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
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

可以与用户接口配件(UIA)协同启动并操作应用。启动引擎可使用无线询问器来检测UIA的标识符。启动引擎可确定并执行对应于UIA标识符的软件应用。交互引擎可使用无线询问器来检测对象的标识符。交互引擎可检测该对象对力传感器的感测表面施加的力。交互引擎可以向软件应用提供第二标识符和检测到的力的信息。一些示例包括基于UIA的标识符来呈现用户界面,使用对象标识符来确定对象的表示,以及呈现基于对象的空间数据布置的表示。一些示例包括呈现因UIA的标识符而异的用户界面。

Description

具有用户输入配件的计算设备
背景
智能手机、台式计算机和其它计算设备可运行各种各样的软件程序。许多这些程序被设计成与特定外设交互。例如,许多智能手机应用被设计成在包括或连接到具备多点触控能力的触摸屏的计算设备中操作。类似地,作为对鼠标或其它定点设备的替换或补充,一些图形应用被配置成与手写平板一起操作。应用的用户体验可显著地取决于使用哪些外设来与该应用交互。
概述
本公开描述了用于响应于用户选择的用户输入配件来启动或操作应用的设备、系统、方法和计算机可读介质。在一些示例中,计算设备可包括无线询问器,该无线询问器被配置成无线地检测与在该无线询问器的操作邻域中的带标签用户输入配件相关联的第一标识符以及无线地检测与在该无线询问器的操作邻域中的带标签对象相关联的第二标识符。计算设备可包括具有感测表面的力传感器。计算设备可确定对应于第一标识符的软件应用并执行所确定的软件应用。该计算设备可检测对象对感测表面施加的力,并将第二标识符的信息以及检测到的力的信息提供给软件应用。本文描述的示例技术可检测在空间上跨感测表面变化的力。在本文描述的一些示例技术中,可确定对象的位置或形状并将其提供给软件应用。在本文描述的一些示例技术中,可呈现对象的表示以供显示在用户界面中。在本文描述的一些示例技术中,软件应用可显示对应于第一标识符的用户界面。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的设备、系统、方法、计算机可读指令、引擎、模块、算法、硬件逻辑和/或操作。
附图简述
结合附图来描述具体实施方式。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。不同附图中的相同参考标记指示相似或相同的项。
图1是描绘了用于实现如本文描述的应用选择和操作的示例环境的框图。
图2是描绘了根据本文描述的各示例的被配置成参与应用选择和操作的示例计算设备的框图。
图3是示出示例计算设备以及对其的示例使用的透视图。
图4是描绘了在应用选择和操作期间的示例模块交互的数据流图。
图5是示出了用于应用选择和操作的示例过程的流程图。
图6是示出了用于应用操作的示例过程的流程图。
图7是示出基于一个或多个对象的空间数据的应用操作的示例过程的流程图。
图8是示出基于用户输入配件的用户界面选择的示例过程的流程图。
详细描述
概览
本文描述的示例提供了用于响应于例如由诸如操作者实体或用户等实体选择的用户输入配件(UIA)来启动或操作应用的技术和构造。在一些示例中,可启动因UIA而异的应用。在一些示例中,由应用呈现的用户界面可基于UIA来调整。相比于使用未针对该UIA设计的应用,因应用而异的启动和用户界面定制中的任一者可提高操作效率。UIA是计算机外设、计算机或计算机外设的附件、或者可以与计算机或计算机外设一起使用的配件(电子或非电子)。这些类型中的任一者的UIA被配置成提供特定用户输入或特定类型的用户输入,即向用户表达或表示提供这些输入或这些类型的用户输入的可能性。例如,示出对绘画者的调色板的描绘的UIA提供了选择例如将在诸如GIMP等计算机绘图程序中使用的颜色。用户输入配件的附加示例在以下描述。
当通过应用未针对其设计的外设使用该应用时,该应用的用户体验可显著改变并且该应用的操作效率可降低。本文描述的一些示例准许通过应用是针对其设计的外设来使用应用。本文描述的一些示例准许基于所连接的外设来自动执行软件应用或者自动配置软件应用、减少开始使用该外设所需的时间并提高操作效率。本文描述的一些示例准许使用例如放置在力感测表面上的对应的物理对象来有效地操纵虚拟对象。例如,诸如携带射频识别(RFID)标签的木块或塑料块等物理对象可以与UIA一起使用以用于在该UIA上放置或布置对象。例如,UIA可示出指示块体应被放在哪里的轮廓或者可被水平地布置以用作托盘或对块体的其它支撑。对象的附加示例在下文中描述。
如此处所使用的,术语“应用”、“app”和“软件程序”一般指在计算设备上运行并且响应于或关联于如本文描述的用户输入配件的任何软件或其部分。app的示例可包括智能手机可下载程序、台式计算机程序(诸如文字处理器和电子表格)、智能手机和其它嵌入式操作系统、与此类操作系统包括在一起的程序(诸如外壳或者设备管理子系统)、以及在诸如物联网(IoT)设备等传感器设备上运行的嵌入式程序(例如,固件或软件)。如此处所使用的,术语“应用”、“app”和“软件程序”还涵盖被包括在计算设备中并被配置成响应如本文描述的UIA的存在或来自该UIA的信号的硬连线逻辑。
对用户输入配件的应用响应的一些示例、场景和技术在以下对各附图的描述中更详细地呈现。
说明性环境
图1示出了示例环境100,响应于用户输入配件的设备或系统的示例可在其中操作或者诸如以下描述的程序启动或操作方法可在其中执行。在所示示例中,环境100中的各种设备和/或组件包括计算设备102(1)-102(N)(在本文中单独地或共同地用参考标号102来指代),其中N是大于或等于1的任何整数。尽管被示为例如台式计算机、膝上型计算机、平板计算机或蜂窝电话,但计算设备102可包括各种各样的设备类别、种类或类型,并且不限于特定类型的设备。
作为示例而非限制,计算设备102可包括但不限于:诸如车辆控制系统、车辆安全系统或用于车辆的电子钥匙之类的车载计算机(例如,用图形表示为汽车的102(1))、智能手机、移动电话、移动电话-平板混合设备、个人数据助理(PDA)、或其它电信设备(例如,102(2));便携式或基于控制台的游戏设备或者诸如启用网络的电视机、机顶盒、媒体播放器、相机或个人录像机(PVR)等其它娱乐设备(例如,用图形表示为游戏手柄的102(3));台式计算机(例如,102(4));膝上型计算机、瘦客户机、终端或其它移动计算机(例如,102(5));平板计算机或平板混合计算机(例如,102(N));诸如web服务器、映射/化简服务器或其它计算引擎等服务器计算机或刀片服务器或者附连网络的存储单元;诸如智能手表或生物测定或医疗传感器等可穿戴计算机;诸如生物测定或医疗传感器等植入式计算设备、诸如IoT传感器等被配置成监控时间、环境状况、振动、运动或者世界或结构或其中的设备(例如,桥梁或水坝)的其它属性的固定传感器;计算机导航客户机计算设备、基于卫星的导航系统设备(包括全球定位系统(GPS)设备和其它基于卫星的导航系统设备);或者供包括在计算设备或电器中的被配置成参与或执行如本文描述的应用选择或操作的集成组件。
不同计算设备102或不同类型的计算设备102可使用不同外设并且可具有对这些外设的不同使用。外设的示例可包括用户输入配件,诸如以下讨论的那些用户输入配件。例如,诸如计算设备102(2)和102(N)等便携式设备可使用被设计成与小尺寸的这些设备协作的外设。诸如计算设备102(4)和102(5)等更大设备可使用利用物理桌面空间的外设,例如手写平板。
在一些示例中,计算设备102可经由一个或多个网络104来彼此和/或与其它计算设备通信。在一些示例中,计算设备102可经由网络104与外部设备通信。例如,网络104可包括诸如因特网之类的公共网络、诸如机构或个人内联网之类的专用网络,或专用和公共网络的组合。网络104还可包括任何类型的有线或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、有线网络、Wi-Fi网络、WiMAX网络、移动通信网络(例如3G、4G等等)或它们的任意组合。网络104可利用通信协议,诸如例如基于分组或基于数据报的协议,诸如网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、其它类型的协议、或其组合。而且,网络104还可包括便于网络通信和/或形成网络的硬件基础架构的若干设备,如交换机、路由器、网关、接入点、防火墙、基站、中继器、主干设备等等。网络104还可包括促成使用各种拓扑结构的总线协议(例如,交叉开关、INFINIBAND开关或FIBRE CHANNEL开关或中枢)来在各计算设备102之间进行通信。
不同的网络具有不同的特征,例如带宽、等待时间、可访问性(开放、宣告但受安全性保护或未宣告)或覆盖区域。用于例如计算设备102与计算群集之间的任何给定连接的网络104的类型可基于这些特性以及交互类型来选择。例如,可以为IoT传感器选择低功率、低带宽网络,而为智能手机选择低等待时间网络。
在一些示例中,网络104可进一步包括能够实现到无线网络的连接的设备,诸如无线接入点(WAP)。各示例支持通过WAP的连接性,WAP经由各个电磁频率(例如,无线电频率)来发送和接收数据,包括支持电气和电子工程师协会(IEEE)802.11标准(例如,802.11g、802.11n等)、其他标准(如蓝牙、蜂窝电话标准(诸如GSM、LTE)或WiMAX)或它们中的多者或组合的WAP。
仍然参照图1的示例,示例计算设备102(N)的细节在插图106处示出。示例计算设备102(N)的细节可代表其它计算设备102。然而,计算设备102中的各个计算设备可包括附加或替代硬件和/或软件组件。计算设备102(N)可包括诸如经由总线112可操作地连接到一个或多个计算机可读介质110的一个或多个处理单元108,总线112在一些实例中可包括系统总线、数据总线、地址总线、外围组件互连(PCI)高速(PCIe)总线、PCI总线、Mini-PCI总线以及各种局部、外围或独立总线中的任一者或其任意组合。在一些示例中,作为对网络104的替换或补充,多个处理单元108可通过内部总线112(如PCIe)来交换数据。虽然在该示例中处理单元108被描述为驻留在计算设备102(N)上,但处理单元108在一些示例中还可驻留在不同的计算设备102上。在一些示例中,处理单元108中的至少两者可驻留在不同的计算设备102上。在这些示例中,同一计算设备102上的多个处理单元108可使用计算设备102的总线112来交换数据,而不同计算设备102上的处理单元108可经由网络104来交换数据。
处理器108可以是或可包括一个或多个单核处理器、多核处理器、中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或例如经由来自模块或应用编程接口(API)的专用编程来被配置成执行本文描述的功能的硬件逻辑组件。作为示例而非限制,可被使用在处理单元108中或被用作处理单元108的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、数字信号处理器(DSP)以及其它类型的可定制处理器。例如,处理单元108可表示混合设备,诸如来自包括内嵌在FPGA结构中的CPU核的ALTERA或XILINX的设备。这些或其他硬件逻辑组件可独立地操作,或在一些实例中,可由CPU驱动。在一些示例中,计算系统102中的至少某一些可包括多种类型的多个处理单元108。例如,计算设备102(N)中的处理单元108可以是一个或多个GPGPU和一个或多个FPGA的组合。不同的处理单元108可具有不同的执行模型,例如,如在用于图形处理单元(GPU)和中央处理单元(CPU)的情况下。在一些示例中,处理单元108、计算机可读介质110和存储在计算机可读介质110上的模块或引擎可一起表示ASIC、FPGA或被配置成实现这些模块或引擎的功能的其他逻辑设备。在一些示例中,如本文描述的引擎可包括一个或多个模块。
在此描述的计算机可读介质(例如,计算机可读介质110)包括计算机存储介质和/或通信介质。计算机存储介质包括有形存储单元,诸如以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任意方法或技术实现的易失性存储器、非易失性存储器和/或其他持久和/或辅助计算机存储介质、可移动和不可移动计算机存储介质。计算机存储介质包括有形或物理形式的介质,该介质被包括在设备或作为设备的一部分或外置于设备的硬件组件中,该介质包括但不限于:随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、相变存储器(PRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、光卡或其它光存储介质、磁带盒、磁带、磁盘存储、磁卡或其它磁存储设备或介质、固态存储器设备、存储阵列、网络附连存储、存储区域网络、被托管的计算机存储或存储器、存储、设备和/或可用于存储并维护供计算设备102访问的信息的存储介质。
与计算机存储介质相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
在一些示例中,计算机可读介质110可存储能由处理单元108执行的指令,如上面所讨论的,处理单元108可表示被结合到计算设备102中的处理单元。计算机可读介质110可附加地或替换地存储可由外部处理单元(诸如由以上讨论的任何类型的外部CPU或外部处理器)执行的指令。在一些示例中,至少一个处理单元108(例如,CPU、GPU或硬件逻辑设备)被合并在计算设备102中,而在一些示例中,至少一个处理单元108(例如,CPU、GPU或硬件逻辑设备中的一个或多个)在计算设备102的外部。
计算机可读介质110可存储例如操作系统114、启动引擎116、交互引擎118以及可由处理单元108加载并执行的其它模块、程序或应用的可执行指令。在未示出的一些示例中,计算设备102之一中的处理单元108中的一者或多者可以例如经由通信接口120和网络104来可操作地连接到计算设备102中的一个不同计算设备中的计算机可读介质110。例如,用于执行本文中的流程图中的各步骤的程序代码可以例如经由网络104从服务器(例如,计算设备102(4))下载到客户机(例如,计算设备102(N))并由计算设备102(N)中的一个或多个处理单元108执行。例如,存储在计算机可读介质110上的计算机可执行指令在执行之际可将诸如计算设备102等计算机配置成执行本文中参照操作系统114、启动引擎116或交互引擎118描述的操作。
计算设备102的计算机可读介质110可存储操作系统114。在一些示例中,操作系统114不被使用(通常被称为“裸机”配置)。在一些示例中,操作系统114可包括使计算设备102能够或引导计算设备102经由各种输入(例如,用户控件、网络或通信接口、存储器设备或传感器)来接收数据并且能够使用处理单元108来处理数据以生成输出的组件。操作系统114还可包括呈现输出(例如,在电子显示器上显示图像、在存储器中存储数据、将数据传送给另一计算设备等)的一个或多个组件。操作系统114可使得用户使用用户界面(未简明起见未示出)来与app或者交互引擎118的模块交互。附加地,操作系统114可包括执行通常与操作系统相关联的各种功能(例如,存储管理和设备内部管理)的组件。
计算设备102还可包括通过网络104启用计算设备102与应用选择或操作中所涉及的其他联网计算设备102或其他计算设备之间的有线或无线通信的一个或多个通信接口120。此类通信接口120可包括用于通过网络发送和接收通信的一个或多个收发机设备,例如网络接口控制器(NIC),诸如以太网NIC或其它类型的收发机设备。处理单元108可通过相应的通信接口120来交换数据。在一些示例中,通信接口120可以是PCIe收发机,并且网络104可以是PCIe总线。在一些示例中,通信接口120可包括但不限于,用于蜂窝(3G、4G或其它)、Wi-Fi、超宽带(UWB)、蓝牙或卫星传输的收发机。通信接口120可包括有线I/O接口,如以太网接口、串行接口、通用串行总线(USB)接口、INFINIBAND接口或其他有线接口。为了简明起见,这些和其他组件从示出的计算设备102中省略。
在一些示例中,诸如计算设备102(N)等计算设备102可包括或连接到无线询问器122。无线询问器122可被配置成例如通过传送询问信号并从在无线询问器122的操作邻域中的带标签对象接收响应来无线地检测与带标签对象相关联的相应标识符。在一些示例中,无线询问器122可包括被配置成无线地检测带标签对象中的带RFID或近场通信(NFC)标签的对象的标识符的RFID或NFC读取器。在一些示例中,无线询问器122可包括被配置成无线地检测带标签对象中的具有用于蓝牙、蓝牙低能量(BLE)或其它个人区域联网(PAN)技术的收发机的对象的标识符的读取器。在一些示例中,无线询问器122可包括被配置成定位并解码带标签对象的表面上或中的可视标志(例如,条形码、特定颜色或特定图案)的光学检测器。
在一些示例中,诸如计算设备102(N)等计算设备102可包括或连接到力传感器124。力传感器124可具有感测表面。力传感器124可被配置成感测感测表面上或对感测表面的力、压力或其它机械动作。在一些示例中,力传感器124可被配置成检测在空间上跨感测表面变化的力。各示例中可用的示例力传感器在Rosenberg等人的美国专利No.9,001,082(“’082”)中描述。例如,力传感器124可包括二维可变阻抗阵列,其具有用非零阻抗互连的列和行电极,如在’082的图3中示出的。在一些示例中,力传感器124可包括一个或多个光学、电阻式或电容式触摸传感器或者一个或多个电容式或感应式邻近传感器。在一些示例中,力传感器124可包括一个或多个可形变膜或应变计。
在一些示例中,无线询问器122可被配置成检测被布置成在无线询问器122的操作邻域中(例如,在其感测范围内)的用户输入配件(UIA)126或对象128。在所示示例中,UIA126关联于(例如,附连到或包括)标签130,例如RFID标签。在所示示例中,对象128也关联于标签132,例如RFID标签。无线询问器122可检测标识符(例如,种类、对象、厂商、产品或唯一标识符)或存储在标签130或132中的其它信息,例如当标签130或132在无线询问器122的操作邻域中(例如,在其感测范围内)时。在一些示例中,无线询问器122可以在标签130或132中存储或更新信息。例如,无线询问器122可无线地检测与在无线询问器122的操作邻域中的带标签用户输入配件126相关联的第一标识符,并且无线地检测与在无线询问器122的操作邻域中的带标签对象128相关联的第二标识符。以下参考图3描述进一步的示例。
在一些示例中,力传感器124可被配置成检测被布置在力传感器124的操作邻域中的UIA 126或对象128。例如,如在图1中用单头箭头图形地表示的,UIA 126或对象128可以对力传感器124的感测表面施加力。力传感器124可检测这一力的例如存在、量值、单位面积量值(即,压力)或方向,是直接还是间接对感测表面施加的。直接对感测表面施加的示例力由实线箭杆图形地表示;(例如由对象128通过UIA 126)间接对感测表面施加的示例力由虚线箭杆图形地表示。例如,对象128可被布置在UIA 126或力传感器124上并由其支撑,并对力传感器124施加重力(重量)。力传感器124的示例以下参照图4更详细地讨论。在一些示例中,UIA 126可包括被配置成覆盖力传感器124或者力传感器124的感测表面的板。该板可包括例如可形变薄板,例如包括热塑材料。在一些示例中,UIA 126和力传感器124可被布置在任何定向上。例如,UIA 126和力传感器124可被水平地布置,例如以支撑其上的对象128。在另一示例中,UIA 126和力传感器124可被垂直地布置,例如以检测由对象128施加或者经由对象128施加的横向力。
在一些示例中,UIA 126可由实体选择。在一些示例中,UIA 126可被该实体放置成在无线询问器122的操作邻域中或力传感器124或者与其操作布置在一起。该实体可以是例如可能不是由人类用户直接控制的机器人或其它机器人操作者。例如,实体可以是例如被配置成拾起并放置UIA 126的制造机器人。在各示例中,实体可以是机器人辅助设备,诸如电动假肢或外骨骼或机器人远程操纵者(“waldo”)。在一些示例中,操作者可以是人类用户,并且UIA 126可由人类用户选择。
在一些示例中,计算设备102(N)例如经由网络104通信地连接到计算设备134(例如,云或其它服务器)。在一些示例中,如所示的,计算设备(例如,计算设备102和134)可以相互通信以参与或执行如本文描述的应用选择或操作。计算设备134可包括在插图136处示出的组件。如在插图136处示出的,计算设备134可附加地或替换地包括一个或多个计算机可读介质(为简明起见省略),包括保存从诸如UIA 126等用户输入配件的标识符到对应于这些标识符的软件应用的指示的一个或多个映射的映射存储138。映射存储138和映射的示例以下参照图4更详细地讨论。
在一些示例中,计算设备134或者计算设备102中的一者或多者可以是计算群集(例如,诸如微软AZURE等云服务)中的计算节点。云计算允许将计算资源作为服务而非可递送产品来提供。例如,在云计算环境中,通过诸如因特网等网络来提供(例如,通过租赁协议)计算能力、软件、信息和/或网络连通性。在所示示例中,计算设备102可以是包括计算设备134的群集中的客户机,并且可以将例如包括UIA 126的标识符的作业提交至该群集和/或从该群集接收作业结果,例如软件应用的指示。群集中的计算设备可例如共享资源、平衡负载、提高性能、或提供故障转移支持或冗余性。
说明性组件
图2是示出计算设备200的示例组件的说明性图示,计算设备200可表示计算设备102或134并且可被配置成根据本文描述的各示例参与应用选择或操作。计算设备200可实现可表示图1中的启动引擎116的启动引擎202。计算设备200可实现可表示图1中的交互引擎118的交互引擎204。计算设备200可实现映射引擎206。计算设备200可实现例如被配置成用于与用户交互的软件应用208。
在例如提供映射服务的计算设备134的一些示例中,计算设备200可实现映射引擎206,而不是启动引擎202、交互引擎204或软件应用208。在例如利用映射服务的计算设备102的一些示例中,计算设备200可实现启动引擎202、交互引擎204或软件应用208,而不是映射引擎206。在例如实现映射服务和对其的使用两者的计算设备102的一些示例中,计算设备200可实现启动引擎202、交互引擎204、映射引擎206和软件应用208。
计算设备200可包括或连接到通信接口210,其可表示通信接口120。例如,通信接口210可包括诸如网络接口控制器(NIC)之类的用于通过网络104(用幻影示出)发送和接收通信的收发机设备,如以上讨论的。如此,计算设备200可具有网络能力。例如,计算设备200可经由诸如因特网等一个或多个网络104来与其它计算设备102或134(例如,膝上型计算设备、计算机和/或服务器)交换数据。
计算设备200可包括或连接到用户接口硬件212。用户接口硬件212可包括显示器214或者被配置成呈现用户界面的其它设备,如以下描述的。显示器214可包括有机发光二极管(OLED)显示器、液晶显示器(LCD)、阴极射线管(CRT)或另一类型的视觉显示器。显示器214可以是触摸屏的组件,或可包括触摸屏。作为对显示器214的补充或替换,用户接口硬件212可包括被配置成与用户或另一计算设备200通信的各种类型的输出设备。输出设备可以集成到或外设于计算设备200。输出设备的示例可包括显示器、打印机、音频扬声器、传呼机或其他音频输出设备、振动马达、线性振荡器或其他触觉输出设备等。在一些示例中,交互引擎206操作地耦合到显示器214或另一输出设备。
用户接口硬件212可包括用户可操作的输入设备216(图形地表示为游戏手柄)。用户可操作输入设备216可包括集成到或外设于计算设备200的各种类型的输入设备。输入设备可以是用户可操作的,或者可被配置成从其它计算设备200输入。输入设备的示例可包括例如,键盘、键区、鼠标、跟踪球、笔传感器或智能笔、光笔或光枪、游戏控制器(诸如操纵杆或游戏垫)、语音输入设备(诸如话筒)、语音识别设备或语言识别设备、触摸输入设备、姿势输入设备(诸如触摸屏)、握持传感器、加速度计、另一触感输入、可视输入设备(诸如一个或多个相机或图像传感器)等。
在一些示例中,计算设备102可包括一个或多个测量单元218。测量单元218可检测计算设备200或其环境的物理属性或状态。测量单元218的示例可包括用于检测以下各项的单元:运动、温度、力、压力、光、声音、电磁辐射(例如,用于无线联网)或者计算设备200的感测范围中或内的任何可检测形式的能量或事物。例如,测量单元218可包括图1中的无线询问器122和/或力传感器124。测量单元218中的各个测量单元可被配置成输出对应于至少一个物理属性的数据,例如计算设备200的物理属性(诸如加速度)或者计算设备200的环境的物理属性(诸如温度或湿度)。
在例如智能手机计算设备200的一些示例中,测量单元218可包括加速度计、话筒或者前置和后置相机。在一些示例中,测量单元218可包括运动传感器、邻近检测器(例如,用于检测附近的生命形式、人或设备)、光传感器(例如,CdS光敏电阻或光电晶体管)、照片成像器(例如,电荷耦合器件(CCD)、互补金属氧化物半导体(CMOS)传感器)、视频成像器(例如,CCD或CMOS)、话筒、指纹读取器、视网膜扫描仪、虹膜扫描仪或触摸屏(例如,在用户接口硬件212中的诸如显示器214等显示器中或与其相关联)。
在一些示例中,计算设备102可包括一个或多个传感器220。通信接口210的组件(例如,用于蓝牙、Wi-Fi、RFID、NFC或LTE的收发机)可以是传感器220的示例。此类组件可用于例如检测对应于可接入网络的特性的信号。此类信号还可通过自动定位网络信息表中的信息(例如,蜂窝电话塔位置)或者通过通信接口120的组件的检测和表查找的组合来检测。用户接口硬件212的输入组件(例如,触摸屏或电话话筒)也可以是传感器220的示例。测量单元218也可以是传感器220的示例。在一些示例中,特定设备可同时或选择性地作为通信接口210、用户接口硬件212以及一个或多个测量单元218中的两者或更多者的一部分来操作。例如,触摸屏可以是用户接口硬件212的元件并且被用来呈现信息和接收用户命令。来自同一触摸屏的信号还可用于确定用户对计算设备200的握持。因此,该示例中的触摸屏也是传感器220。
计算设备200还可包括一个或多个输入/输出(I/O)接口222,藉此计算设备200可与输入、输出或I/O设备进行通信(出于清楚目的,一些未被描绘)。此类设备的示例可包括用户接口硬件212或传感器220的组件。计算设备200可经由I/O接口222或使用合适的电子/软件交互方法来与合适的设备通信。例如用户可操作输入设备216上的用户输入的输入数据可经由I/O接口222接收,并且例如用户接口屏幕的输出数据可经由I/O接口222提供给显示器214以供用户查看。
计算设备200可包括一个或多个处理单元224,其可表示处理单元108。在一些示例中,处理单元224可包括或连接到存储器226,例如随机存取存储器(RAM)或高速缓存。处理单元224可例如经由I/O接口222操作地耦合到用户接口硬件212和/或传感器220。处理单元224可操作地耦合到以下讨论的至少一个计算机可读介质228。处理单元224可包括例如上述处理单元类型,诸如CPU或GPGPU型处理单元。
处理单元224可被配置成执行多个模块中的各个模块。例如,存储在计算机可读介质228上的计算机可执行指令可以在执行之际将诸如计算设备200等计算机配置成执行本文中参照该多个模块中的各个模块(例如,启动引擎202、交互引擎204、映射引擎206或软件应用208的模块)描述的操作。存储在计算机可读介质228中的模块可包括当被一个或多个处理单元224执行时使得一个或多个处理器224执行以下描述的操作的指令。计算机可读介质228中的模块的示例在下文中讨论。计算机可读介质228还可包括操作系统,例如操作系统114。
在示出的示例中,计算机可读介质228包括数据存储230。在一些示例中,数据存储230可包括诸如数据库(例如,结构化查询语言(SQL)或NoSQL数据库)或数据仓库等结构化或非结构化的数据存储。在一些示例中,数据存储230可包括具有一个或多个表、数组、索引、存储的规程等以启用数据访问的语料库或关系型数据库。数据存储230可存储用于在计算机可读介质228中所存储的过程、应用、组件或模块的操作的数据或这些模块中的由处理单元224执行的计算机指令。在一些示例中,数据存储可存储计算机程序指令(为简明起见省略)(例如对应于app、本文描述的过程或者可由处理单元224执行的其它软件的指令)、可表示映射存储138的映射存储232、或其组合。在一些示例中,计算机程序指令包括可由处理单元224执行的一个或多个程序模块,例如app的程序模块。
在一些示例中,处理单元224可经由总线234访问计算机可读介质228上的模块,该总线232可表示图1的总线112。I/O接口222和通信接口210还可经由总线234与处理单元224通信。
存储在计算机可读介质228上的启动引擎202可包括一个或多个模块(例如,外壳模块或API模块),这些模块被示为配件标识模块236、app确定模块238和产生模块240。
存储在计算机可读介质228上的交互引擎204可包括一个或多个模块(例如,外壳模块或API模块),这些模块被示为对象标识模块242、力检测模块244和力分析模块246。
存储在计算机可读介质228上的映射引擎206可包括一个或多个模块(例如,外壳模块或API模块),这些模块被示为映射模块248。
存储在计算机可读介质228上的软件应用208可包括一个或多个模块(例如,外壳模块或API模块),这些模块被示为用户界面(UI)呈现模块250、表示确定模块252和对象呈现模块254。
启动引擎202、交互引擎204、映射引擎206或软件应用208可被包含在云服务中或者由用户控制的计算设备102上或其任意组合。存储在计算机可读介质228上的模块可实现进程间通信(IPC)功能或用于与服务器或其它计算设备102或134通信的联网功能。
在启动引擎202、交互引擎204、映射引擎206或软件应用208中,模块的数量可变得更多或更少,并且各种类型的模块能够以各种组合使用。例如,与示出的模块相关联描述的功能可被组合以由更少数量的模块或API执行或可由更多数量的模块或API划分并执行。例如,对象标识模块242和力检测模块244或者配件标识模块236和力检测模块244可被组合在执行这些模块的以下描述的示例功能中的至少某一些的单个模块中。在另一示例中,配件标识模块236和对象标识模块242可被组合在执行这些模块的以下描述的示例功能中的至少某一些的单个模块中。在又一示例中,app确定模块238和映射模块248可被组合在执行这些模块的以下描述的示例功能中的至少某一些的单个模块中。这些和其它组合模块可由启动引擎202、交互引擎204、映射引擎206或软件应用208中的不止一者共享或对其可访问。在一些示例中,计算机可读介质228可包括模块236、238、240、242、244、246、248、250、252、或254的子集。
图3是示出示例计算设备300以及对其的示例使用的透视图。计算设备300可表示计算设备102、134或200。计算设备300可附加地或替换地表示可通信地与计算设备102、134或200连接的外设,例如用户可操作输入设备216。
计算设备300包括具有感测表面302的力传感器124(图1;为了简明起见在此省略)。在该示例中UIA 126被布置在感测表面302上,然而可使用其它布置。计算设备300包括被配置成使UIA 126保持与感测表面302的操作关系的安装部件304。UIA 126可包括被配置成附连、粘附或以其他方式保持到安装部件304的啮合部件(为了简明起见省略)。安装部件304或啮合部件可包括例如一个或多个磁体、销、套筒、揿钮、卡子、按钮、拉链、粘合剂(永久、半永久或临时)、钉子、螺丝、螺栓、螺柱、尖端、或运动学支承或者其任一者的啮合部件。在一些示例中,UIA 126可包括电池或其它电子器件。在一些示例中,UIA 126可省略电池或其它电源,并且例如基于来自计算设备300的电感耦合式功率转移来操作。
在所示示例中,力传感器124包括跨感测表面302分布的多个感测元件306,这些感测元件被图形地表示为椭圆形。为了清楚起见,只标记了这些感测元件306中的一个感测元件。这些感测元件可以规则地(例如,以网格排列(如所示))、不规则地、随机地、或根据任何其它图案或排列分布。感测元件可包括例如电阻式或电容式触摸传感器或应变计。
在所示示例中,UIA 126包括三个邻接的不规则五边形的轮廓308(1)-308(3)(在此被单独地称为或统称为标号308)。可使用UIA 126来例如帮助幼童开发精细动作技巧或学习如何布置形状。在该示例和其它示例中,UIA 126可包括各对象或各组对象的位置或定向的轮廓(或其它触觉或视觉指示,并且在整段中同样如此)。这一UIA 126可用于例如教导形状标识、分类或排列或对象所表示的实体之间的关系。例如,UIA 126可包括太阳系描绘中的星球的相对位置,并且对象可表示星球。在一些示例中,UIA 126可包括完整的七巧板拼图的轮廓,而不是示出七巧板块应如何定向的内线。在一些示例中,UIA126可包括分子的示意轮廓(例如,DNA双螺旋),并且对象可包括分子的各部分的表示。这些和其它示例可准许使用具有作为教育工具的UIA 126的计算设备300。
在一些示例中,UIA 126可包括工具或输入接口(诸如例如绘画者的调色板、绘画或绘图画布、音乐控制器(诸如MIDI(乐器数字接口)控制器、钢琴、风琴、鼓垫)、键盘(诸如QWERTY键盘)、视频游戏控制器、或多选答题形式(例如,具有针对选择“A”、“B”等的相应按钮))的轮廓或其它指示。这些和其它示例可准许使用具有作为输入接口的UIA 126的计算设备300,该UIA能补充或替代键盘或定点设备。
在一些示例中,UIA 126可包括以上示例中的任一者的组合。在一些示例中,UIA126可包括多个区域并且至少两个区域可具有对应于以上示例中的不同的相应示例的指示。
在一些示例中,UIA 126可以与设计环境相对应。软件应用208可呈现布置在UIA126上的一个或多个对象的表示。例如,可以在UIA 126上放置多个齿轮,并且软件应用208可呈现示出齿轮将如何在转动时互锁和交互的动画表示。在另一示例中,表示机器人的各部分的对象可被放置在UIA 126上,并且软件应用208可呈现示出机器人根据UIA 126上的对象之间的空间关系来组装这些部分的动画表示。当用户在UIA 126上移动对象时,软件应用208可相应地重新配置对象的表示。在又一示例中,可在UIA 126上放置积木(block),并且软件应用208可呈现示出这些积木能如何堆叠或互锁以形成结构的表示。在一些示例中,可使用力的量值数据来确定多个对象是否堆叠在彼此的顶部之上。在一些示例中,可以用对象标识符来查询对象属性的数据库以确定对象或对应于对象的表示的3D模型或范围。
返回到形状放置的所示示例,可表示图1中的对象128的两个对象310和312被示为在UIA 126上的对应轮廓的上方。在所示示例中,对象310和312包括携带相应的对象310和312的标识符的相应标签314和316(例如,RFID或NFC标签)。在一些示例中,对象310和312具有印刷在其表面上的标识符,例如以条形码或特定颜色或图案的形式。当UIA 126或者对象310或312中的任一者接近计算设备300时,无线询问器122可确定该UIA 126或对象310和312中的那个对象的相应标识符。
在各示例中,当对象310和312中的任一者被放置在感测表面302或布置在感测表面302上的UIA 126上时,可以对感测表面302施加力,例如由于重力或者用户对感测表面302按压对象310或312。力传感器124可检测该力并提供该力的信息,如以下参照图4的力分析模块246讨论的。
图4是示出图2中示出的各模块之间的例如在应用选择和操作期间的示例交互的数据流图400。一些模块利用映射存储138或232,例如保存UIA 126与诸如图2的软件应用208等软件应用的标识符之间的映射。
在一些示例中,配件标识模块236可被配置成使用无线询问器122来检测与在无线询问器122的操作邻域中的UIA 126相对应的第一标识符。例如,配件标识模块236可以从RFID或NFC标签中或者从在UIA 126之中、之上或与UIA 126相关联的另一存储设备中读取UIA 126的标识符。配件标识模块236可被配置成例如在UIA 126进入无线询问器122的操作邻域(例如,无线询问器122的感测范围)时或之后自动地、响应于诸如“连接”或“激活”按键等用户输入控件的致动、或者按时(例如,每0.5s)检测(或尝试检测)第一标识符。
在一些示例中,应用确定模块238可被配置成确定对应于第一标识符的软件应用208。例如,app确定模块可使用映射存储232中的所存储的标识符到软件应用的映射(例如,通过用第一标识符来查询映射存储232)来确定软件应用208。在一些示例中,app确定模块238可被配置成在中央位置查找软件应用,例如,如同为了使用注册表来将文件扩展映射到微软WINDOWS中的应用所做的那样(其中HKEY_CLASSES_ROOT具有将扩展映射到程序标识符、ProgID的条目、将ProgID映射到组件对象模型、COM、类标识符、CLSID的条目、以及将CLSID映射到软件应用的文件名的条目)或者如同为了使用INF驱动程序信息文件来将USB厂商ID(VID)/产品ID(PID)对映射到设备驱动程序所做的那样。
在一些示例中,app确定模块238可被配置成通过经由图2的通信接口210传送第一标识符来确定对应于第一标识符的软件应用208。例如,app确定模块238可以将第一标识符传送到例如在图1的计算设备134上执行的映射模块248。映射模块248可使用存储在映射存储232中的映射来确定软件应用208,并传送所确定的软件应用208的指示。app确定模块238然后可经由通信接口210接收所确定的软件应用208的指示。
在使用映射模块238一些示例中以及在其中app确定模块238直接查询映射存储232的一些示例中,映射存储232可存储指示哪些软件应用对应于第一标识符的数据。第一标识符(以及此处的其它标识符)可包括例如以下一者或多者:通用唯一标识符(UUID)或全局唯一标识符(GUID);统一资源定位符(URL)、统一资源名称(URN)、统一资源标识符(URI)、数字对象标识符(DOI)、域名或逆向域名;诸如以太网媒体访问控制(MAC)地址等唯一硬件标识符、1线式设备序列号或GS1电子产品码(EPC),例如以URI形式或存储在例如RFID标签上的EPC二进制编码中;因平台而异的app标识符(例如,GOOGLE PLAY包名称);或者公钥或公钥散列。指示数据可包括例如以下一者或多者:名称、文件名、文件路径或注册表路径;微软WINDOWS ProgID、CLSID或COM接口ID(IID)或公共对象请求代理体系结构(CORBA)或另一对象系统中的对应标识符;或者以上参照第一标识符列出的任何类型的标识符。
在具体的非限制性示例中,第一标识符可以是UUID。第一标识符可被存储为128位值,例如十六进制值0x5258AC20517311E59F4F0002A5D5C51B,或者可被存储为人类可读串,例如“{5258ac20 5173 11e5 9f4f 0002a5d5c51b}”。映射存储232可包括将任一形式或另一形式的128位第一标识符与特定软件程序(例如,用于标识针对安卓的MICROSOFTOUTLOOK WEBAPP的逆向域名“com.microsoft.exchange.mowa”)相关联的映射。
在一些示例中,存储在映射存储232中的映射可以例如使用根据公钥密码标准(PKCS)#1或另一公钥密码系统的签名来进行密码签名。例如,可以为映射存储232中的映射计算散列,诸如安全散列算法-256位(SHA-256)散列等。散列然后可以用预定私钥来加密。经加密散列可以与经散列化的映射相关联的存储在映射存储232中。
在使用密码签名的映射的一些示例中,app确定模块238可以只选择具有有效密码签名的映射中所指示的软件应用。例如,应用确定模块238可以至少部分地基于UIA 126的标识符来定位映射存储232中的一个候选映射。app确定模块238可使用预定公钥来解密该候选映射的签名并将经解密散列与该候选映射的散列相比较。如果散列匹配,则该候选映射是由对应于预定公钥的私钥的持有者提供的。在该情形中,app确定模块238可确定该候选映射是有效的,并且所指示的软件应用208可被使用。使用经密码签名的映射可通过降低应用确定模块238将选择针对例如恶意软件程序或特洛伊木马的映射的机率来提高系统安全性。在一些示例中,app确定模块238可以在选择不具有有效密码签名的映射中所指示的软件应用之前提供警告(例如,“你确定吗?”)提示。
在一些示例中,确定对应于第一标识符的软件应用可包括例如在映射存储232中选择对应于第一标识符的一个映射。然后可验证所选择的一个映射的密码签名。如果密码签名未被验证,则可以从映射存储232中选择一个不同的映射,可以例如经由用户界面呈现警告,或者处理可以在不确定应用的情况下终止。在一些示例中,产生模块240或映射模块248可执行app确定模块238的与验证映射的密码签名有关的这些或其它功能,或者产生模块240、映射模块248和app确定模块238中的任两者或更多者可以在它们之间划分这些功能。在一些示例中,响应于验证密码签名,产生模块240可执行所验证的映射中所指示的软件应用。
在一些示例中,产生模块240可被配置成执行所确定的软件应用208。例如,产生模块240可包括被配置成从所确定的软件应用208的盘映像中读取处理器可执行指令并将这些指令放置在主存储器中以供执行的加载器,诸如重定位或动态链接加载器。
在一些示例中,产生模块240可被配置成确定所确定的软件应用208是否可供执行。应用在例如它们被加载在计算设备102的本地存储上或者计算设备102可经由网络访问的存储上的情况下可以是可用的。在一些示例中,如果所确定的软件应用208不可供或不可用于执行,则产生模块240可执行所确定的软件应用208的安装包以使得所确定的软件应用208可用,并且然后可执行所确定的软件应用208。在一些示例中,如果所确定的软件应用208不可供执行,则产生模块240可执行被配置成准许用户定位、下载或购买所确定的软件应用208的用户界面。在一些示例中,用户界面被配置成在被执行时呈现所确定的软件应用208的指示;接收支付信息;以及至少部分地响应于接收到的支付信息(例如,至少部分地基于与支付服务器交换支付和授权数据),下载所确定的软件应用。一旦所确定的软件应用208可用,产生模块240然后就可以执行所确定的软件应用208。这可准许例如经由对操作系统114的自动更新来例如分发映射集。映射可以在不管哪些应用被安装在特定计算机上的情况下分发。这可提供提高的用户效率,因为第一次采用新UIA 126的用户能被自动提示下载所确定的软件应用208。相比于需要用户手动定位所确定的软件应用208,这可节省网络带宽和用户时间。
在一些示例中,对象标识模块242可被配置成使用无线询问器122来检测与在无线询问器122的操作邻域中的对象相对应的第二标识符。对象标识模块242能够以以上参照配件标识模块236描述的检测标识符的方式中的任一种方式检测第二标识符,例如使用RFID读取器来周期性地轮询标签。
在一些示例中,力检测模块244可被配置成检测对象对力传感器124的感测表面302施加的力。这可例如以上参考图2和3讨论的那样完成。在一些示例中,对象标识模块242或力检测模块244可被配置成将第二标识符的信息以及检测到的力的信息提供至例如软件应用208或力分析模块246。信息可包括例如对象(例如,图3的对象310或312)的空间数据。例如,信息可经由内核进程或进程间通信信道(诸如套接字、管道或回调)来传送或者可由软件应用经由API调用来检索。在一些示例中,力传感器124可被配置成例如使用跨感测表面分布的多个感测元件来检测在空间上跨感测表面变化的力。检测到的力的信息可包括在空间上变化的力的信息。
在一些示例中,力分析模块246可被配置成至少部分地基于检测到的在空间上变化的力来确定对象的位置。力分析模块246然后可以向软件应用208提供所确定的位置的信息。在一些示例中,对象310或312的空间数据可包括对象例如相对于感测表面302或UIA126的位置数据。例如,在空间上变化的力的量值的位图数据可使用诸如边缘跟踪、梯度匹配、加速鲁棒特征(SURF)特征检测器或(例如针对单个对象的)位置加权求和等对象或特征检测图像处理算法来处理。一旦形状被定位,就可使用对被认为位于形状内的位图数据的各像素进行位置加权求和来确定质心。
在一些示例中,力分析模块246可被配置成至少部分地基于检测到的在空间上变化的力来确定对象的形状。力分析模块246然后可以向软件应用208提供所确定的形状的信息。在一些示例中,对象的空间数据可包括对象的形状数据,例如形状的轮廓的坐标或者与对象的表面的形状对感测表面302施加力相对应的力读数的栅格图。例如,形状可以在位图力量值数据中检测到,如以上参照形状位置描述的。被认为在形状内的像素然后可被画轮廓,例如通过将例如三次或二次贝塞尔曲线或其它多项式拟合到由这些像素与未被认为在形状内的像素之间的边界定义的边缘。可使用索贝尔、坎尼或其它边缘检测器来定位边缘。可使用Potrace、Autotrace或其它算法来跟踪像素区域的例如边缘或中心线以提供形状信息。在一些示例中,形状的所确定的位图或轮廓数据可以与已知形状的目录相比较以提供诸如“三角形”或“正方形”等形状数据。
在一些示例中,与对象的标识符相关联的信息可以与关于该对象的力数据一起被用来确定该对象在何处。例如,当无线询问器检测到多个对象并且力传感器具有针对这些对象的离散的力数据区域,则对象的所确定的形状可以例如使用数据库查找或形状目录来与标识符相关以确定与每一个形状标识符相关联的空间数据。
在一些示例中,空间数据可包括检测到的在空间上变化的力或其各部分的一个或多个位图表示。例如,空间数据可包括例如由力传感器的规则网格检测到的在空间上变化的力的原始位图(栅格化)表示。位图可表示力传感器124的整个活跃区域或其仅仅一部分(例如其中力大于阈值或存在噪声水平的部分)或者这一部分的定界多边形。空间数据可附加地或替换地包括从力数据中计算出的值,例如一个或多个维度中的一部分的定界框的大小或中心、一部分中的最大力的一个或多个维度中的位置、或者一部分中的力的平均量值或方向。
在一些示例中,空间数据可包括检测到的在空间上变化的力或其各部分的一个或多个向量表示。例如,空间数据可包括恒定力量值的轮廓线的坐标、经历高于阈值的力的区域的轮廓的坐标、或者这些区域的质心或定界框的坐标或轴值。
在一些示例中,软件应用208的UI呈现模块250可被配置成呈现以供显示用户界面。用户界面可被呈现以供显示在用户接口硬件212的显示器214或另一显示器上。用户界面可具有至少部分地基于例如由配件标识模块236检测到的UIA 126的标识符来确定的至少一个内容元素或呈现元素。在一些示例中,内容元素可包括例如文本框控件、标记、图像以及传达并非是操作系统114或软件应用208预定的内容的其它区域或表示。在一些示例中,呈现元素可包括例如窗口边框、菜单、壳控件、色彩方案、声音以及传达操作系统114或软件应用208预定或者从软件应用208的观点来看是恒定的结构或其它信息的其它区域或表示。用户界面可包括持有例如内容元素或呈现元素的一个或多个屏幕或窗口;不同的屏幕、窗口或元素可以在不同的时间可见。例如,用户界面可以例如响应于经由UIA 126的用户输入来在不同时间显示和隐藏屏幕、窗口或元素的不同集合。用户界面的附加示例在以下讨论。
贯穿本讨论,对呈现用户界面和表示“以供显示”的引用是示例而非限制。用户界面和表示可替换地或附加地被可听地呈现(例如,经由扬声器或耳机)或者以触觉或触感方式呈现(例如,使用诸如空间球等力反馈设备或使用可刷新触摸显示器(brailledisplay))。
在一些示例中,软件应用208的UI呈现模块250可被配置成呈现以供显示用户界面,该用户界面包括处于至少部分地基于UIA 126的检测到的标识符的布置中的多个内容元素。例如,可以至少部分地基于UIA 126的标识符来确定内容元素的顺序、相对或绝对大小、或者相对或绝对位置。在一些示例中,软件应用208可包括将UIA 126的标识符映射到内容元素的相对位置的列表的表、程序模块或其它数据或指令。相对位置表可包括哪一个用户界面屏幕或窗口应持有每一个内容元素的指示。例如,针对特定用户的测试或调查上的问题的次序或类型可使用对应于用户的UIA 126的标识符的相对位置的列表来确定。
在一些示例中,软件应用208的表示确定模块252可被配置成确定对象的表示。表示可以至少部分地基于例如由对象标识模块242检测到的对象的标识符。例如,表示可包括例如通过使用对象标识符查询模型数据库来确定的对象的二维(2D)或三维(3D)模型。数据库可以本地地存储在运行软件应用208的计算设备102上或者可被存储在计算设备134上。
在一些示例中,软件应用208的对象呈现模块254可被配置成呈现以供显示对象的表示。所呈现的表示可以至少部分地基于对象的空间数据来被布置在所呈现的用户界面中。对象的空间数据可至少包括对象的位置数据或者对象的形状数据。例如,表示可以基于对象的位置数据来定位。表示可基于对象的形状数据来旋转或翻转。例如,在图3中,对应于轮廓308(1)和308(3)的对象是等同的,但一个对象沿着该对象的长轴相比于另一个对象翻转。由于对象并非是关于长轴双边对称的,因此形状数据可用于确定对象的哪一侧依靠力传感器。表示然后可被相应地定向。在一些示例中,表示可以用颜色、阴影、轮廓或对应于力的量值或方向的其它标记或属性来呈现。例如,当用户更用力地将对象310按压到感测表面302时,表示的颜色可以从绿色变为黄色或红色。
在一些示例中,对象呈现模块254可被配置成在用户界面的三维虚拟环境中呈现对象的表示。三维虚拟环境可以是四维或更高维度的虚拟环境的子集。在一些示例中,第一维度或维度集中的对象的表示的几何结构(例如,该第一维度或维度集中的对象的表示的范围或位置)至少部分地基于该对象的空间数据来确定。在一些示例中,第二维度或维度集中的对象的表示的几何结构(例如,范围或位置)至少部分地基于对象的标识符来确定。第一和第二维度可以是不同的(例如,正交或以其它方式不平行),或者第一维度集可以在至少一个维度中与第二维度集不同。
例如,在具有水平的X-Y平面和与该平面正交的垂直Z轴的虚拟环境中,第一对象的表示在X、Y或两者中的位置可以基于对象310相对于UIA 126的位置来确定。该表示的高度(例如,该表示的Z轴范围)可基于该对象的标识符来确定。例如,高度可以从将标识符映射到高度的数据存储中检索。这可准许对三维环境建模并且力传感器124提供仅仅两个维度中的数据。
在一些示例中,对象呈现模块254可被配置成确定对象的空间数据对应于空间目标。在图3的示例中,软件应用208可存储UIA 126上的五边形的轮廓308的位置的数据。空间目标可对应于轮廓308(1)的位置,且对象可以是对象310。对象呈现模块254可确定对象310已经根据轮廓308(1)被放置。作为响应,对象呈现模块254可呈现以供显示成功指示符,例如突出显示、勾勒出、星标或者对象310已经相对于UIA 126被正确地定位的其它指示符。
在一些示例中,UI呈现模块250或者对象呈现模块254可被配置成呈现以供显示至少部分地基于空间目标来布置在用户界面中的目标表示。例如,成形为对象310的轮廓或阴影区域或对应的轮廓308可被显示在屏幕上。目标表示能够以对应于对象310与对应轮廓308之间的空间关系的方式相对于对象的表示定位。例如,当对象310在轮廓308(1)的右侧时,该对象的表示可被呈现为被布置到目标表示的右侧。对象或目标的表示可以用至少部分地基于例如对象与空间目标之间的距离或者对象定向与空间目标的定向之间的相似度或差异度来确定的颜色或其它属性来呈现。例如,如果对象310与空间目标间隔开或者相对于该空间目标旋转或翻转,则目标表示可以比在对象310靠近或定向为空间目标时更亮地突出显示。
一些示例呈现多个对象310、312的表示。以上参照空间目标、目标表示和成功指示符描述的功能可以对任何数目的对象执行。例如,成功指示符可以在多个对象已经相对于相应的空间目标被正确地定位时显示,而不管是否已经为这些对象中的任何特定对象显示目标指示符。
在一些涉及多个对象310、312的示例中,表示确定模块252可被配置成确定第二对象(例如,对象312)与对象(例如,对象310)处于所选空间关系。该确定可以至少部分地基于该对象的空间数据和第二对象的空间数据(例如,相应的位置数据)来做出。第二对象的空间数据可包括例如第二对象的位置数据或者第二对象的形状数据。所选空间关系可以例如在数据存储230中表示并且可包括例如形状、边缘或顶点的接近性;所定义的连接点的接近性;定向或者沿一个轴的位置的相似性;或者同轴定位。
在一些示例中,例如响应于确定对象和第二对象处于所选空间关系,表示确定模块252可确定第二对象的表示。该表示可以至少部分地基于第二对象的标识符。
在一些示例中,例如响应于确定对象和第二对象处于所选空间关系,对象呈现模块254可呈现以供显示第二对象的表示。第二对象的表示可以例如至少部分地基于对象的空间数据和第二对象的空间数据来布置在用户界面中。在图3的示例中,当对象310和312根据轮廓308(1)和308(2)来放置和定向时,对象310和312的相应表示可以在用户界面中一起被呈现或者随同它们相对于彼此链接或正确地放置的指示被呈现。这一指示可包括例如指示对象310和312的表示在何处邻接的绿色或蓝色突出显示。此处参照对象和第二对象描述的示例功能可适用于任何数目的对象。
在一些示例中,UI呈现模块250响应于检测到的UIA 126或UIA 126的类型,如由虚线箭头(虚线仅仅是为了清楚起见)图形地表示的。在一些示例中,各个UIA 126与特定用户界面相关联。在一些示例中,各种类型的UIA 126(例如,USB设备类或其它UIA编组)与特定用户界面相关联。例如,具有12键钢琴键盘的UIA 126可对应于应用的第一用户界面,而具有24键钢琴键盘的UIA 126可对应于该应用的第二用户界面。在一些示例中,应用可以例如移除与当前UIA 126不相关的控件或UI特征,从而通过减少屏幕混乱并且通过减少用户为了定位所需特征必须进行搜索的时间量来提高例如用户或其它实体的操作效率。UIA 126、UIA 126的类型和用户界面之间的关系可被存储在UIA 126中的存储器、计算设备102中的存储器或者诸如由计算设备134主存的远程存储的任何组合中。
在一些示例中,响应于配件标识模块236检测到第一用户输入配件,UI呈现模块250可呈现以供显示应用的第一用户界面。第一用户界面可包括至少部分地基于对应于第一用户输入配件的第一标识符来确定的至少一个内容元素或呈现元素。响应于配件标识模块236检测到不同的第二用户输入配件,UI呈现模块250可呈现以供显示该应用的不同的第二用户界面。第二用户界面可具有至少部分地基于对应于第二用户输入配件的第二标识符来确定的至少一个内容元素或呈现元素。例如,UI呈现模块250可以至少部分地基于UIA126的标识符来检索UI布局或UI资源集,并且根据检索到的布局或资源来布置UI元素。
在一些示例中,两个用户界面可包括基础界面和“pro(专业)”界面。在一些示例中,第一用户界面可包括一个或多个用户界面控件。第二用户界面可包括来自第一用户界面的一个或多个用户界面控件以及一个或多个附加用户界面控件。例如,在文字处理程序中,第一用户界面可包括用于粗体、斜体和下划线的文本编辑控件和按钮。第二用户界面可包括用于粗体、斜体和下划线的文本编辑控件和按钮并且还包括用于调用复杂段落和页面格式化对话框的按钮。
在一些示例中,这两个用户界面可包括有限功能界面和全功能(或者与有限功能不同的)界面。在一些示例中,第一用户界面可包括以禁用状态呈现的一个或多个用户界面控件。例如,用户界面控件可以变灰、不响应致动它们的事件或尝试、或者值被固定。第二用户界面可包括以启用状态呈现的一个或多个用户界面控件。例如,在第二用户界面中,控件能够以用于其它活跃控件的颜色呈现、能响应事件、或者值可以变化。例如,在数字音频工作站(DAW)应用中,第一用户界面可包括具有响应于用户输入的四个音量滑块以及被锁定在∞dB的四个音量滑块的混音器。第二用户界面可包括响应于用户输入的所有八个音量滑块。
在一些示例中,这两个用户界面能够以相应的不同次序呈现用户界面元素。在一些示例中,第一用户界面可包括以第一布置(例如,第一次序、顺序或空间布局)呈现的一个或多个内容元素。第二用户界面可包括以不同的第二布置呈现的一个或多个内容元素。例如,内容元素可包括调查问题或测试问题,并且对于不同的UIA 126问题能够以不同的次序呈现给用户。这可提供回答问题的用户群体的随机化,并减少由于问题次序而导致的回答中的偏见。在一些示例中,元素次序可被存储在数据库中,并且UI呈现模块250可以用UIA126的标识符来查询该数据库。
说明性过程
图5是示出用于使用计算设备(例如,图2的计算设备200)来选择和操作应用的示例过程500的流程图。图5和本文中的其它流程图和示例过程所示的示例功能可以在一个或多个计算设备102或134中实现或者被包括在这些计算设备中(例如,使用在这些设备上运行的软件)。在一些示例中,图5所示的功能可以在操作系统(OS)、硬件抽象层(HAL)或设备管理子系统中实现。
出于阐示的缘故,以下参照可执行或参与该示例性方法的各步骤的图1的环境100中的组件、图2的计算设备200的处理单元224和其它组件或者图3的计算设备300来描述。然而,诸如处理单元108等其它处理单元和/或计算设备102的其它组件可执行诸如过程500等所描述的示例过程的各步骤。类似地,图6、7和8所示的示例性方法也不限于由任何特别标识的组件来执行。
每一示例流程图或过程中描述操作的次序并不旨在解释为限制,并且任何数量的所描述的操作可以按任何次序和/或并行组合以实现每一过程。在一些非限制性示例中,框506和508中的任一者可以在另一者之前执行,或者框508可以在框504之前执行。此外,图5、6、7和8中的每一者中的操作可以用硬件、软件和/或其组合来实现。在软件的上下文中,各个操作表示在由一个或多个处理器执行时使得一个或多个处理器执行既定操作的计算机可执行指令。在硬件的上下文中,操作表示在电路中实现的逻辑功能,例如数据路径控制和有限状态机定序功能。
在框502,在一些示例中,配件标识模块236可以例如通过读取UIA 126上的RFID标签来无线地检测对应于用户输入配件的第一标识符。这可以如以上参照图1的无线询问器122或者图4的配件标识模块236描述的那样完成。
在框504,在一些示例中,对象标识模块242可以例如通过读取对象上的RFID标签来无线地检测对应于该对象的第二标识符。这可以如以上参照图1的无线询问器122或者图4的对象标识模块242描述的那样完成。
在框506,力分析模块246可使用力传感器124来确定对象的空间数据。空间数据可至少包括对象的位置数据或者对象的形状数据。这可以如以上参照图4的力传感器124或力分析模块246讨论的那样完成。
在框508,产生模块240可以例如通过调用Windows系统上的CreateProcess()或者UNIX系统上的fork()和exec()来执行对应于第一标识符的软件应用。这可以如以上参照图4的产生模块240讨论的那样完成。如上所述,在一些示例中,,如果对应于第一标识符的软件应用不可用,则框508可包括执行该软件应用的安装包或者执行被配置成准许用户定位、下载或购买该软件应用的用户界面。框508然后可包括当安装、下载或购买完成时执行该软件应用。
在框510,力分析模块246可以向软件应用提供空间数据。这可以例如使用以上参照图4的力分析模块246讨论的IPC或其它技术来完成。
图6是示出用于例如通过使用计算设备(例如,图2的计算设备200)呈现物理对象的表示来操作应用的示例过程600的流程图。
在框602,UI呈现模块250可呈现以供显示用户界面。用户界面可具有至少部分地基于UIA 126的标识符来确定的至少一个内容元素或呈现元素。这可以如以上参照图4的UI呈现模块250描述的那样完成。
在一些示例中,框602可包括以至少部分地基于用户输入配件的标识符的布置来呈现多个内容元素。这可以如以上参照图4的UI呈现模块250描述的那样完成。
在框604,表示确定模块252可确定对象的表示。该表示可以至少部分地基于对象的标识符来确定。这可以如以上参照图4的表示确定模块252描述的那样完成。
在框606,对象呈现模块254可呈现以供显示对象的表示。该表示可以至少部分地基于对象的空间数据来被布置在所呈现的用户界面中。对象的空间数据可至少包括对象的位置数据或者对象的形状数据。这可以如以上参照图4的对象呈现模块254描述的那样完成。
在一些示例中,框606可包括在用户界面的三维虚拟环境中呈现对象的表示。第一维度中的对象表示的范围或位置可以至少部分地基于该对象的空间数据来确定。不同的第二维度中的对象表示的范围或位置可以至少部分地基于该对象的标识符来确定。例如,表示的位置可基于空间数据来确定,并且表示的高度可以从通过对象标识符来查询的数据库中检索。这可以如以上参照图4的对象呈现模块254描述的那样完成。
图7是示出用于例如通过使用计算设备(例如,图2的计算设备200)呈现物理对象的表示来基于一个或多个对象的空间数据操作应用的示例过程700的流程图。框602也可以与过程700一起使用,但为了简明起见从图7中省略。框604可以在框606、框702或框710之前。图7中的线的虚线样式仅仅示为了清楚。
在框702,力检测模块244或力分析模块246可以从具有跨感测表面分布的多个感测元件的力传感器接收对象的空间数据。这可以如以上参照图4的力检测模块244或力分析模块246描述的那样完成。框702可以在框606之前,框606可以在框704或框706之前。
在框704,UI呈现模块250或者对象呈现模块254可呈现以供显示至少部分地基于空间目标来布置在用户界面中的目标表示。这可以如以上参照图3的轮廓308或者图4的UI呈现模块250或对象呈现模块254描述的那样完成。目标表示可用于例如教育软件应用208,诸如形状分类应用。
在框706,UI呈现模块250或对象呈现模块254可确定对象的空间数据是否对应于空间目标。如果是,则下一框可以是框708。可确定目标表示是否已被显示(框704)。例如,目标表示可被显示以用于形状分类应用并且对于七巧板应用被省略。这可以如以上参照图3的轮廓308或者图4的UI呈现模块250或对象呈现模块254描述的那样完成。
在框708,响应于在框706处的肯定判定,UI呈现模块250或对象呈现模块254可呈现以供显示成功指示符。这可以如以上参照图4的对象呈现模块254描述的那样完成。
在框710,UI呈现模块250或表示确定模块252可以至少部分地基于对象的空间数据和第二对象的空间数据来确定第二对象与该对象是否处于所选空间关系。如果是,则下一框可以是框712。这可以如以上参照图4的表示确定模块252描述的那样完成。
在框712,表示确定模块252可确定第二对象的表示,该表示至少部分地基于第二对象的标识符。这可以如以上参照图4的表示确定模块252描述的那样完成。
在框714,对象呈现模块254可呈现以供显示至少部分地基于该对象的空间数据和第二对象的空间数据来布置在用户界面中的第二对象的表示。第二对象的空间数据可至少包括第二对象的位置数据或者第二对象的形状数据。这可以如以上参照图4的对象呈现模块254描述的那样完成。
图8是示出用于使用计算设备(例如,图2的计算设备200)来选择应用的用户界面的示例过程800的流程图。在一些示例中,用户界面可以基于用户输入配件来选择。这能够向用户提供对用户已经选择的特定UIA 126的高效体验。
在框802,配件标识模块236可检测UIA 126。这可以例如通过无线地检测UIA 126的标识符(如以上参照图1的无线询问器122讨论的)来完成。
在框804,配件标识模块236、app确定模块238或UI呈现模块250可确定检测到的UIA 126是第一UIA还是不同的第二UIA,如以上参照图4讨论的。框804还可以在不止两个UIA或UIA类型之间进行区分。框804可以在例如框806或框808(或为简明起见被省略的其它框)之前,这取决于UIA 126的类型。
在框806,响应于检测到第一UIA(框802、804),UI呈现模块250可呈现以供显示应用的第一用户界面。第一用户界面可具有至少部分地基于对应于第一用户输入配件的第一标识符来确定的至少一个内容元素或呈现元素。
在框808,响应于检测到第二UIA(框802、804),UI呈现模块250可呈现以供显示应用的第二用户界面。第二用户界面可具有至少部分地基于对应于第二用户输入配件的第二标识符来确定的至少一个内容元素或呈现元素。第二用户界面可以不同于第一用户界面。例如,第二用户界面可具有第一用户界面缺少的至少一个内容元素或呈现元素,反之亦然。
在一些示例中,第一用户界面可包括一个或多个用户界面控件,并且第二用户界面可包括该一个或多个用户界面控件以及一个或多个附加用户界面控件。这可以如以上参照图4的UI呈现模块250描述的那样完成。
在一些示例中,第一用户界面可包括以禁用状态呈现的一个或多个用户界面控件,而第二用户界面可包括以启用状态呈现的一个或多个用户界面控件。这可以如以上参照图4的UI呈现模块250描述的那样完成。
在一些示例中,第一用户界面可包括以第一布置呈现的一个或多个内容元素,而第二用户界面可包括以不同的第二布置呈现的一个或多个内容元素。这可以如以上参照图4的UI呈现模块250描述的那样完成。
示例条款
A:一种设备,包括:
无线询问器,其被配置成:
无线地检测与在所述无线询问器的操作邻域中的带标签的用户输入配件相关联的第一标识符;以及
无线地检测与在所述无线询问器的操作邻域中的带标签对象相关联的第二标识符;
具有感测表面的力传感器;
其上存储有多个模块的一个或多个计算机可读介质;以及
能操作地耦合到所述无线询问器、所述力传感器以及所述计算机可读介质中的至少一者的一个或多个处理单元,所述处理单元被适配成执行所述多个模块中的各模块,所述模块包括:
启动引擎,其被配置成:
确定对应于所述第一标识符的软件应用;以及
执行所确定的软件应用;以及
交互引擎,其被配置成:
检测所述对象对所述感测表面施加的力;以及
向所述软件应用提供所述第二标识符的信息以及检测到的力的信息。
B:如段落A所述的设备,其特征在于,所述力传感器被配置成检测在空间上跨所述感测表面变化的力。
C:如段落B所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的位置;以及
向所述软件应用提供所确定的位置的信息。
D:如段落B或C所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的形状;以及
向所述软件应用提供所确定的形状的信息。
E:如段落B-D中的任一段所述的设备,其特征在于,所述力传感器包括跨所述感测表面分布的多个感测元件。
F:如段落A-E中的任一段所述的设备,其特征在于,所述一个或多个计算机可读介质其上存储有标识符到相应软件应用的一个或多个映射,并且所述启动引擎被进一步配置成使用所述一个或多个映射来确定对应于所述第一标识符的所述软件应用。
G:如段落A-F中的任一段所述的设备,其特征在于,进一步包括通信接口,其中所述启动引擎被进一步配置成通过经由所述通信接口传送所述第一标识符并且经由所述通信接口接收所述软件应用的指示来确定对应于所述第一标识符的所述软件应用。
H:如段落A-G中的任一段所述的设备,其特征在于,所述无线询问器包括被配置成无线地检测所述带标签对象中的带射频识别(RFID)标签的对象的标识符的RFID读取器。
I:如段落A-H中的任一段所述的设备,其特征在于,进一步包括被配置成使所述用户输入配件保持与所述感测表面的操作关系的安装部件。
J:如段落A-I中的任一段所述的设备,其特征在于,所述用户输入配件包括被配置成覆盖所述力传感器的板。
K:如段落A-J中的任一段所述的设备,其特征在于,所述一个或多个计算机可读介质其上存储有标识符到相应软件应用的一个或多个映射,并且所述启动引擎被进一步配置成使用所述一个或多个映射来确定对应于所述第一标识符的所述软件应用,所述确定包括
从所述一个或多个映射中选择对应于所述第一标识符的候选映射;以及
验证所述候选映射的密码签名。
L:如段落A-K中的任一段所述的设备,其特征在于,所述启动引擎被配置成在所确定的软件应用不能供执行的情况下执行所确定的软件应用的安装包。
M:如段落A-L中的任一段所述的设备,其特征在于,所述启动引擎被配置成在所确定的软件应用不能供执行的情况下执行被配置成准许所述用户定位、下载或购买所确定的软件应用的用户界面。
N:如段落M所述的设备,其特征在于,所述用户界面被配置成在被执行时呈现所确定的软件应用的指示;接收支付信息;以及至少部分地响应于接收到的支付信息来下载所确定的软件应用。
O:如段落A-N中的任一段所述的设备,其特征在于,所述用户输入配件包括被配置成覆盖所述感测表面的板。
P:一种计算机实现的方法,包括:
呈现以供显示用户界面,所述用户界面具有至少部分地基于用户输入配件的标识符来确定的至少一个内容元素或呈现元素;
确定对象的表示,所述表示至少部分地基于所述对象的标识符;以及
呈现以供显示至少部分地基于所述对象的空间数据来布置在所述用户界面中的所述对象的所述表示,其中所述对象的所述空间数据至少包括所述对象的位置数据以及所述对象的形状数据。
Q:如段落P所述的计算机实现的方法,其特征在于,进一步包括:
确定所述对象的所述空间数据对应于空间目标;以及
作为响应,呈现以供显示成功指示符。
R:如段落Q所述的计算机实现的方法,其特征在于,进一步包括:
呈现以供显示至少部分地基于所述空间目标来布置在所述用户界面中的目标表示。
S:如段落P-R中的任一段所述的计算机实现的方法,其特征在于:
呈现所述对象的所述表示包括在所述用户界面的三维虚拟环境中呈现所述对象的所述表示;
第一维度中的所述对象的所述表示的几何结构至少部分地基于所述对象的所述空间数据来确定;并且
不同的第二维度中的所述对象的所述表示的几何结构至少部分地基于所述对象的所述标识符据来确定。
T:如段落P-S中的任一段所述的计算机实现的方法,其特征在于,进一步包括:
至少部分地基于所述对象的所述空间数据以及第二对象的所述空间数据来确定所述第二对象与所述对象处于所选空间关系;
确定所述第二对象的表示,所述表示至少部分地基于所述第二对象的标识符;以及
呈现以供显示至少部分地基于所述对象的空间数据以及所述第二对象的空间数据来布置在所述用户界面中的所述第二对象的所述表示,其中所述第二对象的所述空间数据至少包括所述第二对象的位置数据以及所述第二对象的形状数据。
U:如段落P-T中的任一段所述的计算机实现的方法,其特征在于,呈现所述用户界面包括以至少部分地基于所述用户输入配件的所述标识符的布置来呈现多个内容元素。
V:如段落P-U中的任一段所述的计算机实现的方法,其特征在于,进一步包括从具有跨感测表面分布的多个感测元件的力传感器接收所述对象的所述空间数据。
W:一种其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),所述计算机可执行指令在被执行之际将计算机配置成执行如段落P-V中的任一段所述的操作。
X:一种设备,包括:
处理器;以及
其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),所述计算机可执行指令在由所述处理器执行之际将所述设备配置成执行如段落P-V中的任一段所述的操作。
Y:一种系统,包括:
用于处理的装置;以及
用于在其上存储有计算机可执行指令的装置,所述计算机可执行指令包括用于将所述系统配置成执行如段落P-V中的任一段所述的方法的装置。
Z:一种其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行之际将计算机配置成执行操作,所述操作包括:
检测第一用户输入配件,并且作为响应呈现以供显示应用的第一用户界面,所述第一用户界面具有至少部分地基于对应于所述第一用户输入配件的第一标识符来确定的至少一个内容元素或呈现元素;以及
检测不同的第二用户输入配件,并且作为响应呈现以供显示所述应用的不同的第二用户界面,所述第二用户界面具有至少部分地基于对应于所述第二用户输入配件的第二标识符来确定的至少一个内容元素或呈现元素。
AA:如段落Z所述的计算机可读介质,其特征在于,所述第一用户界面包括一个或多个用户界面控件,并且所述第二用户界面包括所述一个或多个用户界面控件以及一个或多个附加用户界面控件。
AB:如段落Z或AA所述的计算机可读介质,其特征在于,所述第一用户界面包括以禁用状态呈现的一个或多个用户界面控件,并且所述第二用户界面包括以启用状态呈现的所述一个或多个用户界面控件。
AC:如段落Z-AB中的任一段所述的计算机可读介质,其特征在于,所述第一用户界面包括以第一布置呈现的一个或多个内容元素,并且所述第二用户界面包括以不同的第二布置呈现的所述一个或多个内容元素。
AD:一种设备,包括:
处理器;以及
如段落Z-AC中的任一段所述的计算机可读介质。
AE:一种系统,包括:
用于处理的装置;以及
如段落Z-AC中的任一段所述的计算机可读介质,所述计算机可读介质存储能由所述用于处理的装置执行的指令。
AF:一种设备,包括:
其上存储有多个模块的一个或多个计算机可读介质;以及
能操作地耦合到所述计算机可读介质中的至少一者的一个或多个处理单元,所述处理单元被适配成执行所述多个模块中的模块,所述模块包括:
启动引擎,其被配置成:
检测对应于用户输入配件的第一标识符;
确定对应于所述第一标识符的软件应用;以及
执行所确定的软件应用;以及
交互引擎,其被配置成:
检测对应于对象的第二标识符;
检测所述对象施加的力;以及
向所述软件应用提供所述第二标识符的信息以及检测到的力的信息。
AG:如段落AF所述的设备,其特征在于,所述一个或多个计算机可读介质其上存储有标识符到相应软件应用的一个或多个映射,并且所述启动引擎被进一步配置成使用所述一个或多个映射来确定对应于所述第一标识符的所述软件应用,所述确定包括
从所述一个或多个映射中选择对应于所述第一标识符的候选映射;以及
验证所述候选映射的密码签名。
AH:如段落AF或AG所述的设备,其特征在于,所述启动引擎被配置成在所确定的软件应用不能供执行的情况下执行所确定的软件应用的安装包。
AI:如段落AF-AH中的任一段所述的设备,其特征在于,所述启动引擎被配置成在所确定的软件应用不能供执行的情况下执行被配置成准许所述用户定位、下载或购买所确定的软件应用的用户界面。
AJ:如段落AI所述的设备,其特征在于,所述用户界面被配置成在被执行时呈现所确定的软件应用的指示;接收支付信息;以及至少部分地响应于接收到的支付信息来下载所确定的软件应用。
AK:如段落AF-AJ中的任一段所述的设备,其特征在于,进一步包括感测表面,其中所述交互引擎被配置成检测由所述对象施加的在空间上跨所述感测表面变化的力。
AL:如段落AK所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的位置;以及
向所述软件应用(例如,所确定的软件应用)提供所确定的位置的信息。
AM:如段落AK或AL所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的形状;以及
向所述软件应用提供所确定的形状的信息。
AN:如段落AK-AM中的任一段所述的设备,其特征在于,进一步包括跨所述感测表面分布的多个感测元件。
AO:如段落AK-AN中的任一段所述的设备,其特征在于,所述用户输入配件包括被配置成覆盖所述感测表面的板。
AP:如段落AF-AO中的任一段所述的设备,其特征在于,所述一个或多个计算机可读介质其上存储有标识符到相应软件应用的一个或多个映射,并且所述启动引擎被进一步配置成使用所述一个或多个映射来确定对应于所述第一标识符的所述软件应用。
AQ:如段落AF-AP中的任一段所述的设备,其特征在于,进一步包括通信接口,其中所述启动引擎被进一步配置成通过经由所述通信接口传送所述第一标识符并且经由所述通信接口接收所述软件应用的指示来确定对应于所述第一标识符的所述软件应用。
AR:如段落AF-AQ中的任一段所述的设备,其特征在于,进一步包括被配置成无线地检测所述带标签对象中的带射频识别(RFID)标签的对象的标识符的RFID读取器。
AS:如段落AF-AR中的任一段所述的设备,其特征在于,进一步包括被配置成使所述用户输入配件保持与所述感测表面的操作关系的安装部件。
AT:一种计算机实现的方法,包括:
无线地检测对应于用户输入配件的第一标识符;
无线地检测对应于对象的第二标识符;
使用力传感器来确定所述对象的空间数据,其中所述空间数据至少包括所述对象的位置数据或者所述对象的形状数据;
执行对应于所述第一标识符的软件应用;以及
向所述软件应用提供所述空间数据。
AU:如段落AT所述的计算机实现的方法,其特征在于,确定空间数据包括使用所述力传感器来检测在空间上跨所述感测表面变化的力。
AV:如段落AU所述的计算机实现的方法,其特征在于,确定空间数据包括至少部分地基于检测到的在空间上变化的力来确定所述对象的所述位置数据。
AW:如段落AU或AV所述的计算机实现的方法,其特征在于,确定空间数据包括至少部分地基于检测到的在空间上变化的力来确定所述对象的所述形状数据。
AX:如段落AT-AW中的任一段所述的计算机实现的方法,其特征在于,执行所述软件应用包括使用一个或多个所存储的标识符到相应的软件应用的映射来确定对应于所述第一标识符的所述软件应用。
AY:如段落AT-AX中的任一段所述的计算机实现的方法,其特征在于,执行所述软件应用包括经由通信接口传送所述第一标识符并且经由所述通信接口接收所述软件应用的指示。
AZ:如段落AT-AY中的任一段所述的计算机实现的方法,其特征在于,无线地检测所述第一标识符包括从所述用户输入配件的射频识别(RFID)标签接收所述第一标识符。
BA:如段落AT-AZ中的任一段所述的计算机实现的方法,其特征在于,无线地检测所述第二标识符包括从所述对象的RFID标签中检索所述第二标识符。
BB:如段落AT-BA中的任一段所述的计算机实现的方法,其特征在于,执行所述软件应用包括
从一个或多个所存储的标识符到相应的软件应用的映射中选择对应所述第一标识符的候选映射;
验证所述候选映射的密码签名;以及
响应于所述验证,执行所述候选映射中所指示的所述软件应用。
BC:如段落AT-BB中的任一段所述的计算机实现的方法,其特征在于,执行所述软件应用包括响应于所述软件应用不能供执行来执行所述软件应用的安装包。
BD:如段落AT-BC中的任一段所述的计算机实现的方法,其特征在于,执行所述软件应用包括在所述软件应用不能供执行的情况下执行被配置成准许所述用户定位、下载或购买所确定的软件应用的用户界面。
BE:如段落BD所述的计算机实现的方法,其特征在于,执行所述用户界面包括
呈现所确定的软件应用的指示;
接收支付信息;以及
至少部分地响应于所接收到的支付信息,下载所确定的软件应用。
BF:一种其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),所述计算机可执行指令在被执行之际将计算机配置成执行如段落AT-BE中的任一段所述的操作。
BG:一种设备,包括:
处理器;以及
其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),所述计算机可执行指令在由所述处理器执行之际将所述设备配置成执行如段落AT-BE中的任一段所述的操作。
BH:一种系统,包括:
用于处理的装置;以及
用于在其上存储有计算机可执行指令的装置,所述计算机可执行指令包括用于将所述系统配置成执行如段落AT-BE中的任一段所述的方法的装置。
结语
本文描述的应用选择和操作技术能减少定位并执行对应于用户输入配件的软件应用所需的时间量。这能提供操作效率(例如,在用户效率和满意度方面)的提升。本文描述的应用操作技术能提供关于对象在力传感器上的放置的快速反馈或评估。这能减少用户或其它实体操纵可视对象所需的工作,从而提高此类操纵中的操作效率。
虽然已经用对结构特征和/或方法动作专用的语言描述了各项技术,但是应该理解,所附权利要求不必限于所述的特征或动作。相反,这些特征和动作是作为实现这些技术的示例形式而描述的。
示例过程的操作在单独的框中示出,并且参考这些框来概括。这些过程被示为逻辑框流,其每个框可表示可用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,这些操作表示储存在一个或多个计算机可读介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器执行既定操作。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在解释为限制,并且任何数量的所述操作可以按任何次序执行、按任何次序进行组合、细分成多个子操作、和/或并行执行,以实现所描述的过程。可由与一个或多个计算设备102、134、200或300相关联的资源(诸如一个或多个内部或外部CPU或GPU)和/或硬件逻辑的一个或多个片段(诸如FPGA、DSP或上述的其他类型)来执行所描述的过程。
上述所有方法和过程可以用由一个或多个通用计算机或处理器执行的软件代码模块来具体化,并且可经由这些软件代码模块来完全自动化。这些代码模块可以存储在任何类型的计算机可执行存储介质或其他计算机存储设备中。方法中的某些或全部可用专用计算机硬件来具体化。
除非另外具体声明,否则在上下文中可以理解条件语言(诸如“能”、“能够”、“可能”、或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示某些特征、元素和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下决定某些特征、元素和/或步骤是否包括在任何特定示例中或将在任何特定示例中被执行的逻辑。除非专门另外声明,应理解联合语言(诸如短语“X、Y或Z”以及“X、Y或Z中至少一者”)表示项、词语等可以是X、Y或Z中的任一者、或其组合。
本申请包括在此描述的示例的组合。对特定“示例”等的引用指代存在于所公开的主题的范围内的至少一个示例或配置中的特征。对“一示例”或“具体示例”等的分开的引用不必要指同一示例或同批示例;然而,这样的示例不是相互排斥的,除非专门指示。在参考“示例”、“诸示例”、“方法”、“诸方法”中单数或复数的使用并非限制。
本文所述和/或附图中描述的流程图中任何例行描述、元素或框应理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换实现被包括在本文描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。所有这样的修改和变型本文旨在被包括在本公开的范围内并且由所附权利要求书保护。

Claims (15)

1.一种设备,包括:
无线询问器,其被配置成:
无线地检测与在所述无线询问器的操作邻域中的带标签的用户输入配件相关联的第一标识符;以及
无线地检测与在所述无线询问器的操作邻域中的带标签对象相关联的第二标识符;
具有感测表面的力传感器;
其上存储有多个模块的一个或多个计算机可读介质;以及
能操作地耦合到所述无线询问器、所述力传感器以及所述计算机可读介质中的至少一者的一个或多个处理单元,所述一个或多个处理单元被适配成执行所述多个模块中的各模块,所述模块包括:
启动引擎,其被配置成:
确定对应于所述第一标识符的软件应用;以及
执行所确定的软件应用;以及
交互引擎,其被配置成:
检测所述对象对所述感测表面施加的力;以及
向所述软件应用提供所述第二标识符的信息以及检测到的力的信息。
2.如权利要求1所述的设备,其特征在于,所述力传感器被配置成检测在空间上跨所述感测表面变化的力。
3.如权利要求2所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的位置;以及
向所述软件应用提供所确定的位置的信息。
4.如权利要求2或3所述的设备,其特征在于,所述交互引擎被进一步配置成:
至少部分地基于检测到的在空间上变化的力来确定所述对象的形状;以及
向所述软件应用提供所确定的形状的信息。
5.如权利要求2-4中的任一项所述的设备,其特征在于,所述力传感器包括跨所述感测表面分布的多个感测元件。
6.如权利要求1-5中的任一项所述的设备,其特征在于,所述一个或多个计算机可读介质其上存储有标识符到相应软件应用的一个或多个映射,并且所述启动引擎被进一步配置成使用所述一个或多个映射来确定对应于所述第一标识符的所述软件应用。
7.如权利要求1-6中的任一项所述的设备,其特征在于,进一步包括通信接口,其中所述启动引擎被进一步配置成通过经由所述通信接口传送所述第一标识符并且经由所述通信接口接收所述软件应用的指示来确定对应于所述第一标识符的所述软件应用。
8.一种计算机实现的方法,包括:
呈现以供显示用户界面,所述用户界面具有至少部分地基于用户输入配件的标识符来确定的至少一个内容元素或呈现元素;
确定对象的表示,所述表示至少部分地基于所述对象的标识符;以及
呈现以供显示至少部分地基于所述对象的空间数据来布置在所述用户界面中的所述对象的所述表示,其中所述对象的所述空间数据至少包括所述对象的位置数据以及所述对象的形状数据。
9.如权利要求8所述的计算机实现的方法,其特征在于,进一步包括从具有跨感测表面分布的多个感测元件的力传感器接收所述对象的所述空间数据。
10.如权利要求8或9所述的计算机实现的方法,其特征在于,进一步包括:
确定所述对象的所述空间数据对应于空间目标;以及
作为响应,呈现以供显示成功指示符。
11.如权利要求10所述的计算机实现的方法,其特征在于,进一步包括呈现以供显示至少部分地基于所述空间目标来布置在所述用户界面中的目标表示。
12.如权利要求8-11中的任一项所述的计算机实现的方法,其特征在于,呈现所述用户界面包括以至少部分地基于所述用户输入配件的所述标识符的布置来呈现多个内容元素。
13.一种其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行之际将计算机配置成执行操作,所述操作包括:
检测第一用户输入配件,并且作为响应呈现以供显示应用的第一用户界面,所述第一用户界面具有至少部分地基于对应于所述第一用户输入配件的第一标识符来确定的至少一个内容元素或呈现元素;以及
检测不同的第二用户输入配件,并且作为响应呈现以供显示所述应用的不同的第二用户界面,所述第二用户界面具有至少部分地基于对应于所述第二用户输入配件的第二标识符来确定的至少一个内容元素或呈现元素。
14.如权利要求13所述的计算机可读介质,其特征在于,所述第一用户界面包括一个或多个用户界面控件,并且所述第二用户界面包括所述一个或多个用户界面控件以及一个或多个附加用户界面控件。
15.如权利要求13或14所述的计算机可读介质,其特征在于,所述第一用户界面包括以禁用状态呈现的一个或多个用户界面控件,并且所述第二用户界面包括以启用状态呈现的所述一个或多个用户界面控件。
CN201680064071.5A 2015-10-28 2016-10-21 具有用户输入配件的计算设备 Active CN108351791B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/925,272 US20170123622A1 (en) 2015-10-28 2015-10-28 Computing device having user-input accessory
US14/925,272 2015-10-28
PCT/US2016/058106 WO2017074809A1 (en) 2015-10-28 2016-10-21 Computing device having user-input accessory

Publications (2)

Publication Number Publication Date
CN108351791A true CN108351791A (zh) 2018-07-31
CN108351791B CN108351791B (zh) 2021-07-20

Family

ID=57286807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680064071.5A Active CN108351791B (zh) 2015-10-28 2016-10-21 具有用户输入配件的计算设备

Country Status (4)

Country Link
US (1) US20170123622A1 (zh)
EP (1) EP3368977B1 (zh)
CN (1) CN108351791B (zh)
WO (1) WO2017074809A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112368731A (zh) * 2018-10-23 2021-02-12 谷歌有限责任公司 针对生成热图的数据减少
CN113544010A (zh) * 2018-12-21 2021-10-22 北极星工业有限公司 管理休闲车辆和配件

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970870B2 (en) 2005-06-24 2011-06-28 Microsoft Corporation Extending digital artifacts through an interactive surface
US10346611B1 (en) * 2015-11-25 2019-07-09 Symantec Corporation Detecting malicious software
US10331155B1 (en) * 2015-12-11 2019-06-25 Amazon Technologies, Inc. Network addressable power socket automation
US10148497B1 (en) 2015-12-11 2018-12-04 Amazon Technologies, Inc. Network addressable device automation using a beacon
US10033973B1 (en) * 2017-01-25 2018-07-24 Honeywell International Inc. Systems and methods for customizing a personalized user interface using face recognition
EP3646174A1 (en) 2017-06-28 2020-05-06 Microsoft Technology Licensing, LLC Improving user experience according to device hardware capabilities
US10656763B1 (en) * 2019-01-04 2020-05-19 Sensel, Inc. Dynamic adjustment of a click threshold corresponding to a force-based tactile sensor
US11609665B2 (en) * 2020-08-20 2023-03-21 Peter Andras Vikar System and method for sharing and manipulating digital content
WO2023167948A1 (en) * 2022-03-01 2023-09-07 Tusi, Llc Reconfigurable puzzle for education, therapy, and entertainment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251800A1 (en) * 2004-05-05 2005-11-10 Microsoft Corporation Invoking applications with virtual objects on an interactive display
CN103188397A (zh) * 2011-12-28 2013-07-03 索尼移动通讯有限公司 在图形用户接口上接收用户输入
CN104035675A (zh) * 2014-06-24 2014-09-10 联想(北京)有限公司 电子设备及其显示控制方法
US20150091820A1 (en) * 2013-09-27 2015-04-02 Sensel, Inc. Touch Sensor Detector System and Method
CN104750406A (zh) * 2013-12-31 2015-07-01 深圳迈瑞生物医疗电子股份有限公司 监护设备及其显示界面布局调整方法、装置

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155813A (en) * 1990-01-08 1992-10-13 Wang Laboratories, Inc. Computer apparatus for brush styled writing
US5347620A (en) * 1991-09-05 1994-09-13 Zimmer Mark A System and method for digital rendering of images and printed articulation
US5835096A (en) * 1995-03-24 1998-11-10 3D Labs Rendering system using 3D texture-processing hardware for accelerated 2D rendering
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US7054029B1 (en) * 1999-03-09 2006-05-30 Canon Kabushiki Kaisha Image processing apparatus and method, and storage medium
US6433775B1 (en) * 1999-03-25 2002-08-13 Monkeymedia, Inc. Virtual force feedback interface
US7065242B2 (en) * 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US7859519B2 (en) * 2000-05-01 2010-12-28 Tulbert David J Human-machine interface
US6993592B2 (en) * 2002-05-01 2006-01-31 Microsoft Corporation Location measurement process for radio-frequency badges
US7613842B2 (en) * 2004-02-17 2009-11-03 Microsoft Corporation Modular, attachable objects with tags as intuitive physical interface facilitating user interaction with a computer
US7397464B1 (en) * 2004-04-30 2008-07-08 Microsoft Corporation Associating application states with a physical object
US7379047B2 (en) * 2004-06-30 2008-05-27 Microsoft Corporation Using a physical object to control an attribute of an interactive display application
US20060090078A1 (en) * 2004-10-21 2006-04-27 Blythe Michael M Initiation of an application
US7342585B2 (en) * 2004-12-30 2008-03-11 Microsoft Corporation Use of an input overscaled bitmap to generate emboldened overscaled bitmap
US8803894B2 (en) * 2005-04-14 2014-08-12 Hewlett-Packard Development Company, L.P. Object identifier
ATE467307T1 (de) * 2005-04-19 2010-05-15 Nokia Corp Verfahren, einrichtung und system zur steuerung des anwendungsstartens in einem mobilendgerät
US8095232B2 (en) * 2005-11-02 2012-01-10 Vistaprint Technologies Limited Printer driver systems and methods for automatic generation of embroidery designs
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7756747B2 (en) * 2006-03-10 2010-07-13 Microsoft Corporation RFID business process-decoupling of design and deployment time activities
US8001613B2 (en) * 2006-06-23 2011-08-16 Microsoft Corporation Security using physical objects
US7636610B2 (en) * 2006-07-19 2009-12-22 Envisiontec Gmbh Method and device for producing a three-dimensional object, and computer and data carrier useful therefor
US8199117B2 (en) * 2007-05-09 2012-06-12 Microsoft Corporation Archive for physical and digital objects
JP5150166B2 (ja) * 2007-08-24 2013-02-20 株式会社東芝 設備機器集合生成支援装置及び方法
US20090109030A1 (en) * 2007-10-24 2009-04-30 International Business Machines Corporation Using a physical object and its position on a surface to control an enablement state of a surface based computing device
US8237550B2 (en) * 2008-03-11 2012-08-07 Microsoft Corporation Action using switched device that transmits data
US20090251285A1 (en) * 2008-04-07 2009-10-08 International Business Machines Corporation Using physical objects to control enablement/disablement of device functionality
US8745514B1 (en) * 2008-04-11 2014-06-03 Perceptive Pixel, Inc. Pressure-sensitive layering of displayed objects
US7982609B2 (en) * 2008-06-18 2011-07-19 Microsoft Corporation RFID-based enterprise intelligence
US8847739B2 (en) * 2008-08-04 2014-09-30 Microsoft Corporation Fusing RFID and vision for surface object tracking
US8427424B2 (en) * 2008-09-30 2013-04-23 Microsoft Corporation Using physical objects in conjunction with an interactive surface
ATE550170T1 (de) * 2008-12-19 2012-04-15 Agfa Graphics Nv Bildverarbeitungsverfahren für dreidimensionales drucken
ES2436421T3 (es) * 2008-12-19 2014-01-02 Agfa Graphics N.V. Método para reducir los defectos de calidad de imagen en la impresión tridimensional
US20140317303A1 (en) * 2009-03-16 2014-10-23 Apple Inc. Application launching in conjunction with an accessory
US8388151B2 (en) * 2009-07-23 2013-03-05 Kenneth J. Huebner Object aware, transformable projection system
JP5447013B2 (ja) * 2010-03-05 2014-03-19 株式会社リコー 表示装置、画像形成装置、カスタマイズ方法、プログラム
EP2571691B1 (en) * 2010-05-18 2016-05-11 AGFA Graphics NV Method of preparing a flexographic printing master
US9244545B2 (en) * 2010-12-17 2016-01-26 Microsoft Technology Licensing, Llc Touch and stylus discrimination and rejection for contact sensitive computing devices
US20150169212A1 (en) * 2011-12-14 2015-06-18 Google Inc. Character Recognition Using a Hybrid Text Display
US8737035B2 (en) * 2012-05-18 2014-05-27 Disney Enterprises, Inc. Magnetically movable objects over a display of an electronic device
US9772889B2 (en) * 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
US9632605B2 (en) * 2012-10-17 2017-04-25 Perceptive Pixel, Inc. Input classification for multi-touch systems
US9483146B2 (en) * 2012-10-17 2016-11-01 Perceptive Pixel, Inc. Input classification for multi-touch systems
US9430066B2 (en) * 2012-10-17 2016-08-30 Perceptive Pixel, Inc. Input classification for multi-touch systems
US9589538B2 (en) * 2012-10-17 2017-03-07 Perceptive Pixel, Inc. Controlling virtual objects
US20140104191A1 (en) * 2012-10-17 2014-04-17 Perceptive Pixel, Inc. Input Classification for Multi-Touch Systems
US20140108979A1 (en) * 2012-10-17 2014-04-17 Perceptive Pixel, Inc. Controlling Virtual Objects
US20140104194A1 (en) * 2012-10-17 2014-04-17 Perceptive Pixel, Inc. Input Classification for Multi-Touch Systems
US10078384B2 (en) * 2012-11-20 2018-09-18 Immersion Corporation Method and apparatus for providing haptic cues for guidance and alignment with electrostatic friction
US9473417B2 (en) * 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
KR102072144B1 (ko) * 2013-03-26 2020-01-31 삼성전자주식회사 액세서리를 식별하는 방법 및 그 전자 장치
US10243786B2 (en) * 2013-05-20 2019-03-26 Citrix Systems, Inc. Proximity and context aware mobile workspaces in enterprise systems
AU2014323480A1 (en) * 2013-09-18 2016-04-07 Tactual Labs Co. Systems and methods for providing response to user input using information about state changes predicting future user input
KR102171389B1 (ko) * 2014-04-21 2020-10-30 삼성디스플레이 주식회사 영상 표시 시스템
US9411458B2 (en) * 2014-06-30 2016-08-09 Synaptics Incorporated System and method for determining input object information from proximity and force measurements
US20160182702A1 (en) * 2014-12-20 2016-06-23 Ilan Abehassera Physical component detection and user interface change on a communication device
US20160381171A1 (en) * 2015-06-23 2016-12-29 Intel Corporation Facilitating media play and real-time interaction with smart physical objects
US20160375354A1 (en) * 2015-06-23 2016-12-29 Intel Corporation Facilitating dynamic game surface adjustment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251800A1 (en) * 2004-05-05 2005-11-10 Microsoft Corporation Invoking applications with virtual objects on an interactive display
CN103188397A (zh) * 2011-12-28 2013-07-03 索尼移动通讯有限公司 在图形用户接口上接收用户输入
US20150091820A1 (en) * 2013-09-27 2015-04-02 Sensel, Inc. Touch Sensor Detector System and Method
CN104750406A (zh) * 2013-12-31 2015-07-01 深圳迈瑞生物医疗电子股份有限公司 监护设备及其显示界面布局调整方法、装置
CN104035675A (zh) * 2014-06-24 2014-09-10 联想(北京)有限公司 电子设备及其显示控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112368731A (zh) * 2018-10-23 2021-02-12 谷歌有限责任公司 针对生成热图的数据减少
CN113544010A (zh) * 2018-12-21 2021-10-22 北极星工业有限公司 管理休闲车辆和配件
US11787354B2 (en) 2018-12-21 2023-10-17 Polaris Industries Inc. Managing recreational vehicles and accessories

Also Published As

Publication number Publication date
US20170123622A1 (en) 2017-05-04
EP3368977B1 (en) 2021-10-13
CN108351791B (zh) 2021-07-20
WO2017074809A1 (en) 2017-05-04
EP3368977A1 (en) 2018-09-05

Similar Documents

Publication Publication Date Title
CN108351791A (zh) 具有用户输入配件的计算设备
US11887312B2 (en) Fiducial marker patterns, their automatic detection in images, and applications thereof
US10628673B2 (en) Fast recognition algorithm processing, systems and methods
US10860836B1 (en) Generation of synthetic image data for computer vision models
WO2020010979A1 (zh) 手部关键点的识别模型训练方法、识别方法及设备
US20200250889A1 (en) Augmented reality system
US20200050965A1 (en) System and method for capture and adaptive data generation for training for machine vision
US10909768B2 (en) Virtual item simulation using detected surfaces
CN109804411A (zh) 用于同时定位和映射的系统和方法
KR20220062338A (ko) 스테레오 카메라들로부터의 손 포즈 추정
US11263457B2 (en) Virtual item display simulations
CN107111361A (zh) 促进用于计算设备上的增强现实的动态非视觉标记
CN105027175B (zh) 基于各设备之间的距离修改功能的方法和设备
US20150138086A1 (en) Calibrating control device for use with spatial operating system
CN110532170B (zh) 搭建测试环境的方法、装置、电子设备及介质
CN109684980A (zh) 自动阅卷方法及装置
US20190340317A1 (en) Computer vision through simulated hardware optimization
KR20180097915A (ko) 개인 맞춤형 3차원 얼굴 모델 생성 방법 및 그 장치
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN110942485B (zh) 基于人工智能的场景感知方法、装置及电子设备
CN113205515A (zh) 目标检测方法、装置、及计算机存储介质
CN112561084B (zh) 特征提取方法、装置、计算机设备及存储介质
CN112818733A (zh) 信息处理方法、装置、存储介质及终端
CN110737454A (zh) 软件项目更新方法、装置、计算机设备及存储介质
CN112346579A (zh) 用于大规模桌面模型的指向和交互控制装置

Legal Events

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