CN102934052A - 动态输入设备的上下文控制 - Google Patents

动态输入设备的上下文控制 Download PDF

Info

Publication number
CN102934052A
CN102934052A CN2011800301376A CN201180030137A CN102934052A CN 102934052 A CN102934052 A CN 102934052A CN 2011800301376 A CN2011800301376 A CN 2011800301376A CN 201180030137 A CN201180030137 A CN 201180030137A CN 102934052 A CN102934052 A CN 102934052A
Authority
CN
China
Prior art keywords
input equipment
leading
user interface
application
equipment user
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
CN2011800301376A
Other languages
English (en)
Other versions
CN102934052B (zh
Inventor
R.特纳
R.D.杨
D.M.桑斯特
S.R.洪吉
E.弗利加尔
M.武尔夫森
田宪峰
K.J.史密斯
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 Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102934052A publication Critical patent/CN102934052A/zh
Application granted granted Critical
Publication of CN102934052B publication Critical patent/CN102934052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

计算系统包括一个或多个输入设备用户界面运行时应用,用于在动态输入设备上动态地显示图像。一个或多个输入设备用户界面运行时应用在当前活动的桌面中被执行。计算系统进一步包括被配置成在当前活动的桌面中执行的主导应用。主导应用被配置成指定与主导应用的当前上下文相对应的输入设备用户界面运行时应用。所指定的输入设备用户界面运行时应用被配置成在动态输入设备上动态地显示虚拟控制器。所指定的输入设备用户界面运行时应用也被配置成向主导应用报告虚拟控制器的激活。

Description

动态输入设备的上下文控制
背景技术
很多计算系统利用具有系统级活动焦点(active focus)的单个应用来操作。在这样的系统中,输入被自动地路由至当前具有系统级活动焦点的应用。例如,如果字处理应用具有系统级活动焦点,那么敲键盘输入将被自动地路由至字处理应用,例如,以便在文档中写入句子。系统级活动焦点能够从一个应用改变至另一个应用,但是两个不同的应用将不会同时具有系统级活动焦点。例如,系统级活动焦点能够从字处理应用改变至浏览器应用。在这样的改变之后,敲键盘输入将被自动地路由至浏览器应用,例如以便在地址栏中写入URL。
在执行系统级活动焦点的许多系统中,没有用于将敲键盘输入和其他类型的输入转移至除了具有系统级活动焦点的应用之外的其他应用的机制。
发明内容
根据本公开的一个方面的计算系统包括一个或多个输入设备用户界面运行时应用(runtime application),以便在动态输入设备上动态地显示图像。一个或多个输入设备用户界面运行时应用在当前活动桌面中被执行。计算系统进一步包括被配置成在当前活动桌面中执行的主导应用(dominant application)。主导应用被配置成指定与主导应用的当前上下文相对应的输入设备用户界面运行时应用。所指定的输入设备用户界面运行时应用被配置成在动态输入设备上动态地显示虚拟控制器。所指定的输入设备用户界面运行时应用也被配置成将虚拟控制器的激活报告给主导应用。
提供这个发明内容部分来以简化的形式介绍下面在具体描述部分中进一步描述的概念的选择。这个发明内容部分并不打算标识所请求保护的主题的关键特征或基本特征,也不打算用于限制所请求保护的主题的范围。此外,所请求保护的主题并不限于解决在这个公开的任何部分中指出的任何或所有缺陷的实现方式。
附图说明
图1显示包括提供显示与键盘组件的键有关的可视输出的能力的动态输入设备的示例计算系统。
图2是图1所示的动态输入设备的分解图,并且显示在动态输入设备的键盘组件下面的显示设备所提供的可视显示输出。
图3显示根据本公开的实施例的示例计算系统。
图4显示用于实现图3的计算系统的示例架构。
图5显示用于实现图3的计算系统的另一示例架构。
图6显示根据本公开的实施例的一系列用户输入和动态输入设备输出。
图7显示使用无窗口(windowless)运行时环境来管理来自动态输入设备的输入的示例方法。
图8显示用于主导应用利用动态输入设备来实现辅助体验的示例方法。
具体实施方式
公开用于将敲键盘和其他类型的输入递送至除了具有系统级活动焦点的应用之外的其他应用的系统和方法。如下所述,能够由托管(host)无窗口运行时环境的容器模块来处理来自动态输入设备的触摸输入和其他类型的输入,其中在无窗口运行时环境内能够托管采用输入设备用户界面运行时应用(UI运行时应用)形式的辅助体验。如下面更详细描述的,动态输入设备可以被配置成在不同的键或其他输入位置上显示不同的图像。UI运行时应用能够控制在不同的键或其他输入位置上显示什么图像。当用户按下在输入位置上显示的虚拟按钮时,由于虚拟按钮而导致的输入消息能够被路由至在此公开的容器模块,以便远离当前具有系统级活动焦点的应用来处理。在一些实施例中,由于物理键按压而导致的输入消息可以任选地被路由至在此公开的容器模块。这样,辅助体验或UI运行时应用能够与具有系统级活动焦点的桌面应用协作来给用户提供丰富的用户体验。
图1显示包括显示监视器22、组件外壳24(例如,包含处理器、硬盘驱动器等等)和动态输入设备26的示例计算系统20。因为动态输入设备26能够通过显示不同的图像来动态地适配,所以动态输入设备26也可以被称为自适应输入设备。图2提供可以在其构造中使用的动态输入设备26和示例组件的附加视图。如将在各个示例中所描述的,除了键盘类型输入功能之外,还可以实现动态输入设备26来提供可显示的输出。特别地,计算机外设可以包括有助于图像的键上和/或通过键观看的键。在其他实施例中,动态输入设备可能不包括键,而可能包括能够识别触摸激活的一个或多个显示区域。
如利用键28上的“Q”、“W”、“E”、“R”、“T”、“Y”等等所示的(图1和2),将时常希望将动态输入设备26配置成提供常规的字母数字输入能力。为了简化说明,图1和2的许多键被显示成没有标记,然而将意识到:将时常在每一个键上显示标签或图像。此外,除了或替代“QWERTY”表述方式(formulation),键盘的键28可以动态地被改变来提供其他功能。例如,键可以被指派来针对各种语言与字母表提供功能和/或激活其他输入命令来控制计算系统20。在一些实现方式中,键功能可以基于上下文来改变,例如,以响应在计算系统20上运行的软件块的不断变化的操作上下文。例如,一旦按下“ALT”键,以其他方式用于输入字母“F”的键可能反而导致软件应用中的“文件”菜单的激活。通常,应明白:目前示例中的键可以选择地被按下,以产生用于控制计算机的任何类型的输入信号。
动态输入设备26能够提供各种各样的可显示输出,以增强和以其他方式增加计算体验。在一些示例中,计算机外设引起在个别键28上或在其附近可视输出的显示,以指示键功能。这能够在图1和2中看到,其中替代具有在键帽表面上喷涂或印刷的字母的键,使用显示机制(例如,位于这些键下方的液晶显示(LCD)设备)来指示这些键的“Q”、“W”等等功能。这种动态的且可编程的显示能力有助于采用各种不同方式的动态输入设备26的的潜在使用。例如,上述的基于英语的键盘能够被映射(map)来按照字母表顺序而非常规的“QWERTY”表述方式来提供字母,并且用于每一个键的显示则能够容易地被改变来反映不同的键设置。
在此设想的显示能力可以用于给计算系统20的用户提供任何类型的可视输出,并且不限于字母表、字母、数字、符号等等。作为上面示例的选择方案,图像可以采用未必在空间意义上与个别键相关联的方式来显示。例如,图像可能被呈现在跨越(span)多个键的键盘的区域中。所提供的图像不需要与键盘的输入功能相关联。例如,图像可以出于美观目的来提供,以个性化用户体验,或提供其他类型的输出。实际上,目前的公开涵盖用于任何目的的显示输出。此外,除了在键28上或在其附近提供的显示之外,显示功能还可以在其他区域中提供,例如在位于键28上方的区域32中提供。更进一步,除了利用键28提供的键盘类型输入之外,还可以给区域32或动态输入设备26的其他部分提供基于触摸或手势的交互。例如,借助于基于电容的技术、基于电阻的技术或其他适当的方法,可以将区域32作为交互式触摸屏显示来实现。还进一步,在一些实施例中,动态计算机外设可以只包括触摸区域而没有可按键。
图2显示动态输入设备26的非限制示例配置。所提供的示例不以任何方式进行限制,并且将明白:目前的公开与任何的动态输入设备相兼容。如所示的,动态输入设备26可以包括显示设备40以及部署在显示设备之上并与显示设备相耦合的键盘组件42。键盘组件42可能至少部分是透明的,以允许用户通过键盘组件查看显示设备所产生的图像。例如,在一个实施例中,每一个键28具有中央透明的部分,其允许用户查看位于键盘组件42下方的LCD面板或其他显示设备所产生的图像。在一些情况中,实质上所有的键将是透明的。在其他的示例中,例如,键的外围部分可以是不透明的,以隐藏有助于键帽的上下移动的结构。在一些实施例中,键帽可以包括透镜状屏幕或其他光漫射屏幕,其中可以将图像背投到这些屏幕上。
可以采用各种类型的显示设备。如上简要指示的,一种类型的合适显示设备是LCD设备。然而,应该意识到:键盘组件可以与各种其他的显示器类型包括投影显示器和楔形投影显示器相耦合。
如上所介绍的,来自键盘和其他计算机外设的输入通常被自动地路由至当前具有系统级活动焦点的应用。当前具有系统级活动焦点的应用随后直接处理以这种方式接收的输入。在许多环境中,这样的框架给用户提供可预测的计算体验。然而,在一些情景中,可能希望的是除了当前具有系统级活动焦点的应用之外的某事来处理来自键盘和其他计算机外设的输入。例如,在动态输入设备的上下文中,可能希望的是采用UI运行时应用形式的辅助体验从动态输入设备接收输入以及处理一些或所有这样的输入。这样的范例允许UI运行时应用来控制利用动态输入设备显示的图像。这样的范例也允许UI运行时应用控制激活键或在动态输入设备上的其他输入区域的最终效果。
集中输入和输出控制与UI运行时应用允许桌面应用和其他程序利用动态输入设备而不必被设计来处理所有的设备输入和设备显示输出。换句话说,被写入以便与标准键盘一起使用的桌面应用可以与动态输入设备一起使用,并且采用UI运行时应用形式的辅助体验能够用于在动态输入设备与桌面应用之间功能工作。UI运行时应用能够控制由动态输入设备显示什么图像以及用户激活将如何取决于显示什么图像来解释。为了允许这种类型的控制,UI运行时应用替代具有系统级活动焦点的应用来处理至少一些输入消息。
为了提供这样的灵活性,UI运行时应用可能不是坚持(adhere to)系统级活动焦点的约定的常规桌面应用。如下面更详细描述的,反而UI运行时应用可以作为桌面应用的辅助体验在无窗口运行时环境内操作。
图3示意性地显示能够将触摸输入、敲键盘输入和/或其他类型的输入递送至除了具有系统级活动焦点的应用之外的其他应用的计算系统50的示例实施例。特别地,图3显示包括动态输入设备的计算系统,其中动态输入设备将输入消息递送至UI运行时应用,如上所介绍的。
计算系统50可以任选地包括采用键盘形式的直接输入设备52。计算系统50也包括采用自适应键盘形式的动态输入设备54,其中自适应键盘包括其上能够显示不同图像的多个键56。动态输入设备54也包括没有键的触摸区域58。触摸区域能够用于显示能被用户激活的一个或多个虚拟按钮或其他虚拟控制器。虽然在这个示例中没有显示出,但是动态输入设备可以包括键和触摸区域的不同安排或组合,并且一些动态输入设备可以包括键而没有触摸区域或包括触摸区域而没有键。
动态输入设备可以被配置成向用户动态地显示多个输入图像以及确认针对多个输入图像之中任何特定图像的用户输入。作为示例,不同的输入图像可以显示在多个键56上,并且动态输入设备54可以输出包括特定键的指示以响应针对那个特定键的用户输入的动态输入消息。作为另一示例,不同的输入图像可以作为虚拟控制器而显示在触摸区域58的不同位置上,并且动态输入设备54可以输出包括特定虚拟控制器的指示以响应针对那个特定虚拟控制器的用户输入的动态输入消息。
计算系统50可以包括用于执行一个或多个本机应用的操作系统60。操作系统60可以管理和协调在执行的应用之间的资源共享和分配。操作系统60也可以控制计算系统50的至少一些I/O功能。在至少一些框架中,操作系统60被配置成允许当前被执行的一个或多个本机应用中的单个应用具有系统级活动焦点。在这样的框架中,操作系统60将来自一个或多个直接输入设备的所有直接输入消息引导到具有系统级活动焦点的本机应用。操作系统的非限制示例包括MICROSOFT® WINDOWS®、APPLE® MAC OS®和 LINUX®。
在一些实施例中,操作系统可以将键盘消息(例如,由于键盘键被按压而产生的消息)路由至具有系统级活动焦点的应用。在这样的情况下,操作系统挂钩(hook)可以用于偷窥键盘消息。这些消息也可以被发送至UI运行时应用,因而允许UI运行时应用基于UI运行时应用观察到什么键盘消息来响应。另一方面,触摸输入消息(例如,由于触摸区域58上的用户触摸而产生的消息)可以被直接路由至运行时环境并被转换成UI运行时应用能够明白的消息。触摸输入消息能够被路由至运行时环境而不被路由至具有系统级活动焦点的应用。
动态输入设备可以包括不会导致操作系统枚举(enumerate)动态输入设备并将动态输入设备视为标准显示监视器和/或键盘的接口。然而,在一些实施例中,操作系统可以将动态输入设备的键枚举为标准键盘,但是不将触摸区域枚举为标准数字转换器,以避免动态输入设备上的触摸被解释为主显示监视器上的触摸。如下面更详细描述的,容器模块62、虚拟运行时环境64和UI运行时应用66可以提供其他软件能够调用的功能,以便接收来自动态输入设备的输入(例如触摸输入、键按压等等)以及发送图像输出至动态输入设备。
计算系统50包括容器模块62。容器模块62可以提供一个或多个不同的控制器能够在其中运行的环境。作为非限制示例,容器模块62可以是MICROSOFT® ACTIVEX®容器,其被配置成提供MICROSOFT® ACTIVEX®控制器能够在其中运行的环境。容器模块62可以操纵、管理和提供服务给容器模块所托管的所有控制器。例如,容器模块62可以给控制器提供事件句柄(handle)。在一些实施例中,容器模块可以作为桌面应用的一部分来实现。
容器模块62可以被配置成以运行在当前活动的桌面的上下文中的运行时环境64的形式来托管控制器。虽然目前的公开与任何数量的不同的适当运行时环境相兼容,但是在此提供MICROSOFT® SILVERLIGHTTM运行时环境作为非限制示例。使用这个示例,采用MICROSOFT® ACTIVEX®容器形式的容器模块62可以采用MICROSOFT® SILVERLIGHTTM插件(plug-in)的形式来托管运行时环境。然而,将明白:可以使用其他的容器模块和/或运行时环境而不脱离这个公开的范围。作为非限制示例,运行时环境可以作为Adobe® Flash®运行时环境来实现。
在一些实施例中,运行时环境64可以是运行在当前活动桌面的上下文中的无窗口运行时环境。换句话说,运行时环境64可能不像大多数的本机桌面应用以及其他运行时环境那样实例化专用GUI再现窗口。
在一些实施例中,容器模块和无窗口运行时环境可以利用开发人员使用来针对其他目的而开发应用的相同框架。作为示例,无窗口运行时环境可以与本机浏览器应用相兼容。就此而论,为了与本机浏览器应用的兼容性而开发的应用与容器模块以及无窗口运行时环境相兼容。换句话说,开发人员可以使用与开发人员将使用来为本机浏览器应用而开发应用相同的工具和约定来为无窗口运行时环境开发应用。就此而论,针对无窗口运行时环境来开发是相对容易的。使用上面的示例,任何的熟悉开发Microsoft® SilverlightTM应用的开发人员能够开发用于与动态输入设备一起使用的应用。作为不同的示例,如果运行时环境作为Adobe® Flash®运行时环境来实现的话,任何的熟悉开发Adobe® Flash® 应用的开发人员能够开发用于与动态输入设备一起使用的应用。
计算系统50进一步包括一个或多个在无窗口运行时环境内执行的输入设备用户界面运行时应用(例如,UI运行时应用66)。在这样的情景中,在容器模块62的外部执行的不同应用(例如,桌面应用68)可以具有系统级活动焦点。就此而论,桌面应用68将接收常规输入,诸如来自直接输入设备52的输入和/或来自动态输入设备中被枚举成标准的直接输入设备(例如,在一些实施例中动态键盘的键)的那些部分的输入。然而,UI运行时应用66可以被配置成接收来自动态输入设备54的动态输入消息。扼要,即使桌面应用68接收来自一个或多个直接输入设备的所有直接输入消息,UI运行时应用至少接收来自动态输入设备的一些输入。
桌面应用或其他主导应用可以注册和/或指定一个或多个能够控制动态输入设备上的可显示输出的辅助体验。例如,这样的辅助体验可以采用在无窗口运行时环境中运行的UI运行时应用的形式。作为一个非限制示例,辅助体验可以被封装为一个或多个Microsoft® SilverlightTM XAP文件。这些辅助体验能够经由客户端应用编程接口(API)来注册。
每一个主导应用能够注册一个或多个体验,并且主导应用能够基于主导应用的当前上下文来动态地指定所注册的体验之中哪一个是活动的。每一个XAP文件或辅助体验的其他实现方式可以与主导应用的特定上下文相关联。在一些实现方式中,这样的上下文可以对应于可以借助于主导应用来完成的不同的用户任务(例如创建新的电子邮件、查找联系人、安排新的会议、审查任务等等)。每一个上下文或任务可以通过利用被定制为帮助用户执行当前活动的上下文或任务的图像、虚拟控制器以及更新的键来动态地更新动态输入设备而促进。与特定上下文相对应的辅助体验可以被配置成在动态输入设备上动态地显示第一组虚拟控制器以及将第一组虚拟控制器的激活报告给主导应用。
客户端API能够被配置成为主导应用提供信道来发送消息至辅助体验和从辅助体验接收消息。作为非限制示例,应用编程接口可以包括对于主导应用基于主导应用的当前上下文来指定辅助体验的调用以及对于所指定的辅助体验将借助于辅助体验而显示的虚拟控制器的激活返回报告给主导应用的调用。
在一些实施例中,操作系统可以被配置成将直接输入和动态输入路由至具有系统级活动焦点的应用。例如,操作系统可以将直接输入和动态输入路由至桌面应用。在这样的实施例中,桌面应用能够被配置成确定特定输入是动态的还是直接的。被确定为动态的输入可以被路由至UI运行时应用66,以便处理。在这样的实施例中,桌面应用和UI运行时应用可以被配置成借助于任何适当的消息传递方法(例如,消息传递API)来协作和共享信息。
在其他的实施例中,操作系统可以被配置成确定特定输入是动态的还是直接的。在这样的实施例中,操作系统可以被配置成将直接输入路由至具有系统级活动焦点的应用,而动态输入被路由至UI运行时应用。
访问控制层(ACL)可以使用来自注册应用中的注入挂钩的输入以及来自操作系统可访问系统的输入来做出有关什么最终再现的体验将在动态输入设备上的决定。
在一种实现方式中,ACL监视操作系统中的所有焦点变化,以便ACL知晓哪一个应用具有焦点。在每一个焦点改变时,ACL能够移除与丧失焦点的应用相关联的任何辅助体验。接下来,ACL能够查找是否赢得焦点的应用具有任何注册的辅助体验。如果赢得焦点的应用已注册了辅助体验,则当前“活动的”辅助体验被加载、被初始化并被准备好来再现。如果赢得焦点的应用没有注册的辅助体验,则ACL可以加载、初始化以及准备好默认辅助体验。一旦已识别并准备好了正确的辅助体验,则该辅助体验任选地与该系统所提供的任何“默认”体验(例如,在键盘键上显示的标准键盘图像)相合成。
如上所介绍的,在一些实施例中,再现系统可以是私自托管的MICROSOFT® SILVERLIGHTTM控制器。然而,可供选择的运行时环境可以托管再现系统而不脱离这个公开的范围。在这个示例中,MICROSOFT® SILVERLIGHTTM控制器中的活动内容能够利用ACL和/或支持控制模块来管理。诸如MICROSOFT® SILVERLIGHTTM之类的无窗口运行时控制器可以作为用于动态输入设备的唯一再现器来使用。使用该示例,无窗口运行时控制器是具有独立焦点系统的可托管XAML再现器。独立焦点系统允许恰当的控制反馈在辅助体验中进行显示而不影响操作系统的焦点状态。
鼠标消息可以基于从动态输入设备接收的原始触摸数据而被注入无窗口运行时控制器中,从而允许来自动态输入设备的触摸输入直接与辅助体验交互。QWERTY管理器能够用于给辅助体验提供关于什么键在键盘上正被按压的通知。这个QWERTY管理器连同默认QWERTY XAML布局一起为动态输入设备上的每个键提供动态的恰当的再现。这个QWERTY管理器提供独立于操作系统来监视所有击键报告的机制。附加地,QWERTY管理器被配置成报告包括在运行时环境中可能没有默认支持的键按压(key-press)在内的所有键按压。
UI运行时应用66可以被配置成将从设备消息导出的系统消息输出到具有系统级活动焦点的应用。这可以借助于桌面应用与UI运行时应用之间的通信信道来完成。系统消息允许具有系统级活动焦点的应用借助于动态输入设备来应答用户输入。考虑到虚拟控制器或键的可改变功能,如可以利用在虚拟控制器或键上显示的图像所指示的,UI运行时应用66能够向具有系统级活动焦点的应用发送与用户激活的虚拟控制器或键相对应的系统消息。这样,动态输入设备54可以用于控制具有系统级活动焦点的应用。此外,与激活任何特定键或任何特定虚拟控制器相关联的功能能够动态地被改变,并且具有系统级活动焦点的应用可以根据那个特定键或虚拟控制器的当前功能经由UI运行时应用66来接收转换的输入。
使用上面提供的示例,当MICROSOFT® ACTIVEX®容器从动态输入设备54接收到触摸输入信息时,MICROSOFT® ACTIVEX®容器将这个信息转换为与MICROSOFT® WINDOWS®鼠标消息类似的信息并调用用于将输入注入MICROSOFT® SILVERLIGHTTM插件(在这种情况中IOleInPlaceObjectWindowless::OnWindowMessage( . . .))中的方法。
如上所述,UI运行时应用66可以被进一步配置成向动态输入设备54输出显示输出消息。显示输出消息可以用于指定将由动态输入设备显示的一个或多个图像。这样的图像能够被用作视觉提示,其将与特定键或虚拟控制器动态相关联的功能用信号通知(signal)用户。如上所述,UI运行时应用66能够输出与显示在用户输入所针对并被检测到的位置(例如,键或虚拟控制器)上的图像相对应的系统消息。
使用上面提供的示例,在处理鼠标消息中,MICROSOFT® SILVERLIGHTTM插件能够改变动态输入设备的视觉外观。例如,该插件可以借助于lOlelnPlaceSiteWindowless: :InvalidateRect( . . .)将脏矩形(即,改变的像素的集合)通知容器模块62。
例如,容器模块62可以使用脏矩形来要求插件借助于IViewObject::Draw(. . .) 将无效区域拖至位图。容器模块62随后可以借助于恰当的调用使用脏矩形和源自位图的比特来利用新的图像数据仅更新动态输入设备中无效的部分。
运行时环境64可以任选地包括输入模块70和/或输出模块72。在被包括时,输入模块70和输出模块72可以用于处理动态输入设备54与计算系统50之间的通信。在一些实施例中,UI运行时应用66、容器模块62和/或操作系统60可以用于处理动态输入设备54与计算系统50之间的通信。在一些实施例中,能够具有系统级活动焦点的桌面应用和/或其他应用或模块可以被配置来帮助处理在动态输入设备54与计算系统50之间的通信。在此介绍的API可以用于促进这样的通信。
计算系统50可以任选地包括安全通信模块74。安全通信模块可以用于促进在UI运行时应用66、运行时环境64和/或容器模块62以及计算系统的其他方面之间的安全通信。作为一个非限制示例,UI运行时应用66、运行时环境64和/或容器模块62可以具有能够用于验证所有消息的签名的数字证书,以便计算系统的其他方面能够验证该证书来确保这些消息来自信任的源。
计算系统50也可以包括能够由各种系统组件使用来访问包括传送消息在内的系统功能的一个或多个系统API 76。虽然在图3中没有显示,但是在一些实施例中,动态输入设备可以利用API 76。
返回到图3,在一些实施例中,计算系统50包括逻辑子系统78和数据保持子系统80。逻辑子系统78可以包括被配置成执行一个或多个指令的一个或多个物理设备。例如。逻辑子系统可以被配置成执行一个或多个指令,其中这一个或多个指令是一个或多个程序、例程、对象、组件、数据结构或其他逻辑构造的一部分。这样的指令可以被实现来执行任务、实现数据类型、转换一个或多个设备的状态或者以其他方式达到所希望的结果。逻辑子系统可以包括被配置来执行软件指令的一个或多个处理器。附加地或替换地,逻辑子系统可以包括被配置来执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统可以任选地包括遍及两个或更多设备分布的个别组件,其在一些实施例中可以远程定位。
数据保持子系统80可以包括一个或多个物理的非暂时的设备,其被配置来保持由逻辑子系统可执行以实现在此描述的方法和进程(process)的数据和/或指令。作为非限制示例,数据保持子系统80可以用于保持用于执行操作系统60、容器模块62、运行时环境64、UI运行时应用66以及桌面应用68的指令。在实现这样的方法和进程时,数据保持子系统80的状态可以被变换(例如,以保持不同的数据)。数据保持子系统80可以包括可移除媒体和/或内置设备。特别地,数据保持子系统80可以包括光存储设备、半导体存储设备和/或磁存储设备。数据保持子系统80可以包括具有以下特性中的一个或多个特性的设备:易失性,非易失性,动态的,静态的,读/写型,只读型,随机存取型,顺序存取型,位置可寻址的,文件可寻址的以及内容可寻址的。在一些实施例中,逻辑子系统78和数据保持子系统80可以被集成在一个或多个通用设备诸如专用集成电路或片上系统中。
术语“模块”和“引擎”可以用于描述被实现来执行一个或多个特定功能的计算系统50的方面。在一些情况中,这样的模块或引擎可以借助于执行由数据保持子系统80保持的指令的逻辑子系统78来实例化。将明白:不同的模块和/或引擎可以根据相同的应用、码块、对象、例程和/或功能来实例化。同样,相同的模块和/或引擎在一些情况中可以利用不同的应用、码块、对象、例程和/或功能来实例化。
如上所述,桌面应用和辅助体验(例如UI运行时应用)可以协作来给用户提供丰富且交互式输入体验。各种不同的架构和协议可以用于实现参考图3所描述的范例。图4和5显示两个不同的示例架构。
在图4和5的示例架构中,动态输入设备作为光栅化设备来处理。因此,软件堆栈不必支持动态输入设备中复杂的GPU,而是所有复杂的合成和再现能够在主计算设备上完成。就此而论,只有光栅图像(位图)被传递至动态输入设备。在其中动态输入设备不是简单的光栅化器而是具有更强大CPU和/或GPU的设备的实施例中,该架构可以被扩展,以便在动态输入设备本身上托管运行时环境。
设备抽象能够用于枚举动态输入设备的所有自适应特征(例如,动态输入设备包括键盘吗?动态输入设备包括触摸传感器吗?什么是触摸传感器的大小?等等)。设备抽象也能够用于控制在动态输入设备上再现什么。设备抽象接口也能够用于从无窗口运行时控制器得到完全再现的位图,并将完全再现的位图路由至动态输入设备,以便显示。设备抽象接口也提供用于动态输入设备报告触摸数据以及与动态输入设备进行的任何其他用户交互的设施。这个触摸数据以及其他信息可以被返回路由,用于在无窗口运行时控制器中在当前运行视觉树中的表达。抽象是总线(例如USB、以太网等等)不可知的(agnostic)。
图4显示使用共享的无窗口运行时环境92的示例架构90,其中环境92被配置来执行利用两个或更多不同的主导应用指定的输入设备用户界面运行时应用。特别地,示例架构使用具有访问控制层(ACL)94的单个MICROSOFT® SILVERLIGHTTM控制器,其中访问控制层被配置成利用那个单个MICROSOFT® SILVERLIGHTTM控制器来管理源于所有应用的所有已注册内容。如上所述,可以使用不同的运行时环境而不脱离这个公开的范围。这个架构使用单个控制器,并因而使用跨越进程边界的较少的数据实例。然而,任何已注册辅助体验中的任何错误代码可能影响所有其他的体验。
图5显示使用本地无窗口运行时环境98 的示例架构96,其中本地无窗口运行时环境98利用主导应用100来托管并被配置成执行仅利用主导应用指定的输入设备用户界面运行时应用。特别地,在注册/激活辅助体验的每一个主导应用的进程内创建MICROSOFT® SILVERLIGHTTM控制器。另一个MICROSOFT® SILVERLIGHTTM控制器102在用于利用访问控制层104的规则来控制的最终组成的单独的运行时间中被创建。除了跟踪焦点改变之外,ACL还被增强来跟踪来自每个相关联的应用/体验的当前位图。这个架构将所有的应用体验保持为独立的,并且给定体验中的坏代码仅影响供应坏代码的应用。附加地,任何安全问题也被包含在应用自身中。因为主导应用和体验二者在相同的进程中,所以这个架构也可以允许在主导应用与相关联的被托管体验之间更高保真度通信信道。这个架构可以使用更高的带宽用于跨越进程数据共享。
图4和5中所示的并在上面描述的示例架构不进行限制。可以使用其他的架构而不脱离这个公开的范围。
图6颇为示意性地显示其中通过动态输入设备112执行用户输入的序列110,其中动态输入设备可以充当使用显示器114的计算设备(例如,图3的计算系统50,未显示)的外设。在所示的示例中,电子邮件应用116当前具有计算设备的系统级活动焦点,并且电子邮件应用正采用UI运行时应用的形式与辅助体验协作。序列110演示上述的系统和方法的示例实现方式,其允许计算设备在动态输入设备112和显示器114二者上呈现图形。所示的序列110借助于按年代顺序从时间t1前进到时间t4的时间线来描绘。
在t1,通过用户在动态输入设备112上执行键输入来启动输入序列。在所示的示例中,键输入是其中用户按下t键并随后按下r键的键向下(key-down)输入。将注意:动态输入设备112可以在每个键上显示图像(例如,在t键上“t”的图像以及在r键上“r”的图像)。然而,为了简化理解,图6仅在与这个示例相关的那些键上显示键图像。
包括在动态输入设备中的输入感测子系统可以检测键输入并发送键输入信号给计算系统,如上所述。可以使用任何适当类型的消息和/或编码来报告键输入。计算设备可以处理输入信号,如上所述。
显示器随后可以从计算设备接收信号并改变在显示器上呈现的活动内容。在这个示例中,与这些键相对应的字母在相应键被激活时在文本框118中进行显示。电子邮件应用也可以分析输入,并预测用户正在尝试用电子邮件发送的内容。
在t2,动态输入设备从计算设备接收信号,并在动态输入设备的触摸显示器121上呈现多个虚拟按钮(即联系人控制按钮120a、联系人控制按钮120b、联系人控制按钮120c)。与电子邮件应用已确定的联系人相对应的虚拟按钮是电子邮件最可能的接收方。将意识到:虚拟按钮可以充当用户可以触摸来激活的触摸屏上的控制器。虚拟按钮可以借助于正向电子邮件应用提供辅助体验的UI运行时应用而被提供给动态输入设备。如上所述,UI运行时应用可以是无窗口控制器。
在t3,用户执行针对利用动态输入设备显示的虚拟按钮之一(即,联系人控制按钮120a)的触摸输入。感测子系统检测触摸输入,并向计算设备发送消息。如上所述,即使电子邮件应用具有系统级活动焦点,这个消息也能够利用UI运行时应用来处理。一旦接收到消息,UI运行时应用能够与电子邮件应用通信,指示用户已选择与联系人控制按钮120a相对应的联系人。
在t4,响应于触摸输入,并且一旦接收到来自UI运行时应用的通信,电子邮件应用自动填充并显示与联系人控制按钮120a相对应的联系人的电子邮件地址122。
如通过上面的示例能够意识到的,在此描述的系统和方法允许动态输入设备以能够被用户激活的虚拟控制器和/或动态键的方式向用户显示信息。此外,在此描述的系统和方法允许虚拟控制器的激活,并且在一些实施例中,允许动态键起作用而没有系统级活动焦点的正常限制。
图7显示使用无窗口运行时环境来管理来自动态输入设备的输入的示例方法130。在132,方法130包括托管一个或多个运行时环境,其包括无窗口运行时环境。在134,方法130包括从动态输入设备接收动态输入消息,而在无窗口运行时环境外部执行的另一个应用具有系统级活动焦点。
图8显示用于主导应用利用动态输入设备来实现辅助体验的示例方法140。在142,方法140包括确定主导应用的第一上下文。例如,主导应用可以自行确定主导应用处于特定上下文(例如创建新的电子邮件,查找联系人,安排新的会议,审查任务等等)中。应用能够具有各种不同的上下文,其中每一个上下文可以对应于不同的辅助体验。
在144,方法140包括指定第一辅助体验。所指定的辅助体验与主导应用相分离并对应于主导应用的第一上下文。如上所述,所指定的辅助体验可以被配置成在动态输入设备上动态地显示第一组虚拟控制器并将第一组虚拟控制器的激活报告给主导应用。
在146,方法140包括确定与主导应用的第一上下文不同的主导应用的第二上下文。例如,主导应用可以自行确定主导应用已从第一上下文改变为第二上下文(例如从创建电子邮件上下文改变为安排约会上下文)。不同的上下文可以对应于将要借助于动态输入设备来显示的不同的辅助体验。
在148,方法140包括指定与主导应用相分离并与第一辅助体验不同的第二辅助体验。第二辅助体验对应于主导应用的第二上下文,并被配置成在动态输入设备上动态地显示第二组虚拟控制器以及将第二组虚拟控制器的激活报告给主导应用。
将明白:在此描述的配置和/或方法本质上是示例性的,并且这些特定的实施例或示例将不在限制意义上被考虑,这是因为许多变体是可能的。在此描述的特定例程或方法可以代表任何数量的处理策略中的一种或多种处理策略。就此而论,所示的各种动作可以在所示的序列中、在其他序列中、并行或在省略的某些情况中被执行。同样,上述进程的顺序可以被改变。
目前公开的主题包括在此公开的各种进程、系统和配置以及其他特征、功能、动作和/或属性的所有新颖的以及非显而易见的组合和子组合以及其任何的与所有的等价物。

Claims (15)

1.一种计算系统,包括:
一个或多个输入设备用户界面运行时应用,用于在动态输入设备上动态地显示图像,所述一个或多个输入设备用户界面运行时应用被配置成在无窗口运行时环境内执行,其中无窗口运行时环境被配置成在当前活动的桌面中执行;以及
主导应用,被配置成在当前活动的桌面中在无窗口运行时环境外部执行,所述主导应用被配置成指定与主导应用的当前上下文相对应的输入设备用户界面运行时应用,并且所指定的输入设备用户界面运行时应用被配置成在动态输入设备上动态地显示虚拟控制器以及向主导应用报告虚拟控制器的激活。
2.权利要求1的计算系统,其中无窗口运行时环境是被配置成执行利用两个或更多不同的主导应用指定的输入设备用户界面运行时应用的共享无窗口运行时环境。
3.权利要求1的计算系统,其中无窗口运行时环境是利用主导应用托管并被配置成执行利用主导应用指定的输入设备用户界面运行时应用的本地无窗口运行时环境。
4.权利要求1的计算系统,其中无窗口运行时环境是Microsoft® ActiveX®控制器。
5.权利要求4的计算系统,其中Microsoft® ActiveX®控制器是Microsoft® SilverlightTM插件。
6.权利要求4的计算系统,其中Microsoft® ActiveX®控制器是Adobe® Flash®插件。
7.权利要求1的计算系统,其中一个或多个输入设备用户界面运行时应用是Microsoft® SilverlightTM应用。
8.权利要求1的计算系统,其中一个或多个输入设备用户界面运行时应用作为一个或多个Microsoft® SilverlightTM XAP文件被封装。
9.权利要求1的计算系统,进一步包括应用编程接口,其包括对于主导应用指定输入设备用户界面运行时应用的第一调用以及对于所指定的输入设备用户界面运行时应用向主导应用报告虚拟控制器的激活的第二调用。
10.权利要求9的计算系统,其中应用编程接口被配置成在主导应用的当前上下文改变时允许主导应用改变在无窗口运行时环境内执行的一个或多个输入设备用户界面运行时应用,以便在动态输入设备上动态显示的虚拟控制器对应于主导应用的当前上下文。
11.一种用于主导应用在动态输入设备上实现输入设备用户界面的方法,所述方法包括:
确定主导应用的第一上下文;
指定与利用主导应用提供的桌面用户界面相分离并与主导应用的第一上下文相对应的第一输入设备用户界面,第一输入设备用户界面被配置成在动态输入设备上动态地显示第一组虚拟控制器并向主导应用报告第一组虚拟控制器的激活;
确定与主导应用的第一上下文不同的主导应用的第二上下文;和
指定与主导应用相分离并且与第一输入设备用户界面不同的第二输入设备用户界面,第二输入设备用户界面对应于主导应用的第二上下文并且被配置成在动态输入设备上动态地显示第二组虚拟控制器以及向主导应用报告第二组虚拟控制器的激活。
12.权利要求11的方法,其中指定第一输入设备用户界面包括将第一输入设备用户界面递送至被配置成执行利用两个或更多不同的主导应用指定的输入设备用户界面的共享的无窗口运行时环境。
13.权利要求11的方法,其中指定第一输入设备用户界面包括将第一输入设备用户界面递送至利用主导应用托管并被配置成执行利用主导应用指定的输入设备用户界面的本地无窗口运行时环境。
14.权利要求11的方法,其中第一输入设备用户界面经由应用编程接口被递送至无窗口运行时环境。
15.权利要求14的方法,其中当在无窗口运行时环境内执行第一输入设备用户界面时,应用编程接口在主导应用与第一输入设备用户界面之间提供通信信道。
CN201180030137.6A 2010-06-18 2011-06-06 动态输入设备的上下文控制 Active CN102934052B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/818,809 2010-06-18
US12/818,809 US8248373B2 (en) 2010-06-18 2010-06-18 Contextual control of dynamic input device
US12/818809 2010-06-18
PCT/US2011/039321 WO2011159519A2 (en) 2010-06-18 2011-06-06 Contextual control of dynamic input device

Publications (2)

Publication Number Publication Date
CN102934052A true CN102934052A (zh) 2013-02-13
CN102934052B CN102934052B (zh) 2016-03-16

Family

ID=45329804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180030137.6A Active CN102934052B (zh) 2010-06-18 2011-06-06 动态输入设备的上下文控制

Country Status (7)

Country Link
US (1) US8248373B2 (zh)
EP (1) EP2583154B1 (zh)
JP (1) JP5798623B2 (zh)
KR (1) KR101741293B1 (zh)
CN (1) CN102934052B (zh)
HK (1) HK1178988A1 (zh)
WO (1) WO2011159519A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233241A (zh) * 2014-01-23 2016-12-14 苹果公司 虚拟计算机键盘
TWI649686B (zh) * 2015-09-30 2019-02-01 美商蘋果公司 具有適應性輸入列之鍵盤
CN109997196A (zh) * 2016-11-25 2019-07-09 霍罗吉克公司 医疗保健信息操纵和可视化控制器
US10719167B2 (en) 2016-07-29 2020-07-21 Apple Inc. Systems, devices and methods for dynamically providing user interface secondary display
US11029942B1 (en) 2011-12-19 2021-06-08 Majen Tech, LLC System, method, and computer program product for device coordination
US11914419B2 (en) 2014-01-23 2024-02-27 Apple Inc. Systems and methods for prompting a log-in to an electronic device based on biometric information received from a user

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671357B2 (en) 2008-11-25 2014-03-11 Jeffrey R. Spetalnick Methods and systems for improved data input, compression, recognition, correction, and translation through frequency-based language analysis
EP2616908A2 (en) * 2010-09-15 2013-07-24 Jeffrey R. Spetalnick Methods of and systems for reducing keyboard data entry errors
GB2510761B (en) * 2011-12-08 2020-05-13 Intel Corp Methods and apparatus for dynamically adapting a virtual keyboard
TW201335794A (zh) * 2012-02-17 2013-09-01 Primax Electronics Ltd 鍵盤裝置
US9817442B2 (en) * 2012-02-28 2017-11-14 Razer (Asia-Pacific) Pte. Ltd. Systems and methods for presenting visual interface content
CN103294207A (zh) * 2012-02-29 2013-09-11 致伸科技股份有限公司 键盘装置
US10367859B2 (en) * 2013-09-12 2019-07-30 International Business Machines Corporation Organizing a synchronous communication session according to context
CN106716320B (zh) 2014-09-30 2020-10-30 苹果公司 用于电子设备的可配置的力敏输入结构
US10409412B1 (en) 2015-09-30 2019-09-10 Apple Inc. Multi-input element for electronic device
US10191621B2 (en) * 2016-04-29 2019-01-29 Microsoft Technology Licensing, Llc Exposing populated lists of personalized strings
US10318065B2 (en) 2016-08-03 2019-06-11 Apple Inc. Input device having a dimensionally configurable input area
US10871860B1 (en) 2016-09-19 2020-12-22 Apple Inc. Flexible sensor configured to detect user inputs
US20210191527A1 (en) * 2016-10-07 2021-06-24 Hewlett-Packard Development Company, L.P. Keyboard with secondary display device
US10732743B2 (en) 2017-07-18 2020-08-04 Apple Inc. Concealable input region for an electronic device having microperforations
US10732676B2 (en) 2017-09-06 2020-08-04 Apple Inc. Illuminated device enclosure with dynamic trackpad
US10635134B2 (en) 2018-05-11 2020-04-28 Apple Inc. Systems and methods for customizing display modes for a touch-sensitive secondary display
US20230137876A1 (en) * 2021-11-04 2023-05-04 Oracle International Corporation System and method for providing on-demand localization in a microservice application environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168187A1 (en) * 2006-10-30 2008-07-10 Microsoft Corporation Web configurable human input devices
US20090033628A1 (en) * 2007-07-16 2009-02-05 Srivastava Aditya Narain Method and systems for revealing function assignments on fixed keypads
US20090174663A1 (en) * 2008-01-03 2009-07-09 Electronic Data Systems Corporation Dynamically configurable keyboard for computer
US20100042682A1 (en) * 2008-08-15 2010-02-18 Evan John Kaye Digital Rights Management for Music Video Soundtracks

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09222952A (ja) * 1996-02-19 1997-08-26 Toshiba Corp 文字入力方法およびメッセージ送信方法
US6401138B1 (en) 1996-10-28 2002-06-04 Koninklijke Philips Electronics N.V. Interface for patient context sharing and application switching
US5818361A (en) 1996-11-07 1998-10-06 Acevedo; Elkin Display keyboard
EP1016066A4 (en) 1997-03-31 2001-06-13 G & R Associates Inc COMPUTER / TELEPHONE INTEGRATION WITH INTELLIGENT KEYBOARD, AND ASSOCIATED METHOD
US6968405B1 (en) 1998-07-24 2005-11-22 Aristocrat Leisure Industries Pty Limited Input/Output Interface and device abstraction
US6677933B1 (en) 1999-11-15 2004-01-13 Espial Group Inc. Method and apparatus for operating a virtual keyboard
US7577915B2 (en) 2002-03-08 2009-08-18 4Homemedia, Inc. Dynamic reconfiguration of inputs based on contextual focus
US20040036632A1 (en) * 2002-08-21 2004-02-26 Intel Corporation Universal display keyboard, system, and methods
US7277915B2 (en) 2002-11-11 2007-10-02 Openwave Systems Inc. Application-based protocol and proxy selection by a mobile device in a multi-protocol network environment
US7069206B2 (en) 2003-04-24 2006-06-27 International Business Machines Corporation Method and apparatus for abstraction of physical hardware implementation to logical software drivers
US8552984B2 (en) 2005-01-13 2013-10-08 602531 British Columbia Ltd. Method, system, apparatus and computer-readable media for directing input associated with keyboard-type device
US8689135B2 (en) 2005-08-11 2014-04-01 Koninklijke Philips N.V. Method of driving an interactive system and user interface system
US20080092087A1 (en) 2005-09-19 2008-04-17 Ronald Brown Method and Display Data Entry Unit
US8078984B2 (en) 2007-06-19 2011-12-13 Microsoft Corporation Virtual keyboard text replication
US20090073126A1 (en) * 2007-07-16 2009-03-19 Srivastava Aditya Narain Standardized method and systems for providing configurable keypads
US20090027346A1 (en) * 2007-07-16 2009-01-29 Srivastava Aditya Narain Methods and systems for personalizing and branding mobile device keypads
US9442584B2 (en) * 2007-07-30 2016-09-13 Qualcomm Incorporated Electronic device with reconfigurable keypad
US20090079702A1 (en) 2007-09-25 2009-03-26 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Keypad on Touch Display Devices
US20090215512A1 (en) * 2008-02-25 2009-08-27 Tc Websites Llc Systems and methods for a gaming platform
CN102067069A (zh) 2008-06-16 2011-05-18 高通股份有限公司 移动电视和多媒体播放器键呈现
US8040233B2 (en) * 2008-06-16 2011-10-18 Qualcomm Incorporated Methods and systems for configuring mobile devices using sensors
US9081590B2 (en) 2008-06-24 2015-07-14 Microsoft Technology Licensing, Llc Multimodal input using scratchpad graphical user interface to edit speech text input with keyboard input
US20100259482A1 (en) * 2009-04-10 2010-10-14 Microsoft Corporation Keyboard gesturing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168187A1 (en) * 2006-10-30 2008-07-10 Microsoft Corporation Web configurable human input devices
US20090033628A1 (en) * 2007-07-16 2009-02-05 Srivastava Aditya Narain Method and systems for revealing function assignments on fixed keypads
US20090174663A1 (en) * 2008-01-03 2009-07-09 Electronic Data Systems Corporation Dynamically configurable keyboard for computer
US20100042682A1 (en) * 2008-08-15 2010-02-18 Evan John Kaye Digital Rights Management for Music Video Soundtracks

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11029942B1 (en) 2011-12-19 2021-06-08 Majen Tech, LLC System, method, and computer program product for device coordination
US11321041B2 (en) 2014-01-23 2022-05-03 Apple Inc. Systems, devices, and methods for dynamically providing user interface controls at a touch-sensitive secondary display
US10754603B2 (en) 2014-01-23 2020-08-25 Apple Inc. Systems, devices, and methods for dynamically providing user interface controls at a touch-sensitive secondary display
CN106445184B (zh) * 2014-01-23 2019-05-17 苹果公司 虚拟计算机键盘
CN111488112A (zh) * 2014-01-23 2020-08-04 苹果公司 虚拟计算机键盘
US11914419B2 (en) 2014-01-23 2024-02-27 Apple Inc. Systems and methods for prompting a log-in to an electronic device based on biometric information received from a user
US10606539B2 (en) 2014-01-23 2020-03-31 Apple Inc. System and method of updating a dynamic input and output device
US10613808B2 (en) 2014-01-23 2020-04-07 Apple Inc. Systems, devices, and methods for dynamically providing user interface controls at a touch-sensitive secondary display
CN106233241A (zh) * 2014-01-23 2016-12-14 苹果公司 虚拟计算机键盘
CN111488112B (zh) * 2014-01-23 2024-03-08 苹果公司 虚拟计算机键盘
CN111488111A (zh) * 2014-01-23 2020-08-04 苹果公司 虚拟计算机键盘
CN111488111B (zh) * 2014-01-23 2023-10-20 苹果公司 虚拟计算机键盘
US10908864B2 (en) 2014-01-23 2021-02-02 Apple Inc. Systems, devices, and methods for dynamically providing user interface controls at a touch-sensitive secondary display
CN106445184A (zh) * 2014-01-23 2017-02-22 苹果公司 虚拟计算机键盘
US11429145B2 (en) 2014-01-23 2022-08-30 Apple Inc. Systems and methods for prompting a log-in to an electronic device based on biometric information received from a user
US11073954B2 (en) 2015-09-30 2021-07-27 Apple Inc. Keyboard with adaptive input row
TWI649686B (zh) * 2015-09-30 2019-02-01 美商蘋果公司 具有適應性輸入列之鍵盤
US10409391B2 (en) 2015-09-30 2019-09-10 Apple Inc. Keyboard with adaptive input row
US10719167B2 (en) 2016-07-29 2020-07-21 Apple Inc. Systems, devices and methods for dynamically providing user interface secondary display
CN109997196B (zh) * 2016-11-25 2024-02-23 霍罗吉克公司 医疗保健信息操纵和可视化控制器
CN109997196A (zh) * 2016-11-25 2019-07-09 霍罗吉克公司 医疗保健信息操纵和可视化控制器

Also Published As

Publication number Publication date
KR20130121692A (ko) 2013-11-06
EP2583154A2 (en) 2013-04-24
US20110314405A1 (en) 2011-12-22
EP2583154B1 (en) 2019-04-10
JP2013532334A (ja) 2013-08-15
HK1178988A1 (zh) 2013-09-19
KR101741293B1 (ko) 2017-05-29
CN102934052B (zh) 2016-03-16
WO2011159519A2 (en) 2011-12-22
EP2583154A4 (en) 2016-04-06
JP5798623B2 (ja) 2015-10-21
US8248373B2 (en) 2012-08-21
WO2011159519A3 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
CN102934052B (zh) 动态输入设备的上下文控制
US11281360B2 (en) Display management for native user experiences
US10353661B2 (en) Method for sharing screen between devices and device using the same
KR102006598B1 (ko) 채널 바의 관리
KR101925806B1 (ko) 보안 방법 및 장치
US20110310118A1 (en) Ink Lag Compensation Techniques
KR20160013162A (ko) 다수의 디스플레이들을 위한 사용자 인터페이스 요소
KR20130116345A (ko) 단일 제스처 입력으로 복수의 오퍼레이팅 시스템 환경들을 록킹 및 언록킹하기 위한 방법 및 장치
CN107111496A (zh) 可定制刀片应用
CN104704448A (zh) 本地和远程计算环境之间的反向无缝集成
CN103492978A (zh) 用于远程化的应用的触摸支持
US20140298245A1 (en) Display Instance Management
CN102138122A (zh) 组合壳应用和子应用的界面
CN113268212A (zh) 投屏方法、装置、存储介质及电子设备
KR20160097415A (ko) 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스
CN104281318A (zh) 减少软键盘按压的显示延迟的方法和装置
CN102289371A (zh) 动态输入设备的无窗运行时控件
US20150325254A1 (en) Method and apparatus for displaying speech recognition information
US10637827B2 (en) Security network system and data processing method therefor
EP3639136B1 (en) Generating user interface containers
CN117608560B (zh) Lvgl页面显示代码生成方法、装置、设备及介质
CN117076265A (zh) 进程指示方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1178988

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150608

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150608

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1178988

Country of ref document: HK