首页 / 专利库 / 化妆品和香水 / 覆盖 / 可编程的多点触摸屏幕上键盘

可编程的多点触摸屏幕上键盘

阅读:220发布:2021-06-08

专利汇可以提供可编程的多点触摸屏幕上键盘专利检索,专利查询,专利分析的服务。并且屏幕上 键盘 由 操作系统 提供,并且用户输入通过用户触摸该屏幕上键盘而被接收。屏幕上键盘支持多点触摸输入,诸如屏幕上键盘上的手势,或同时 触摸屏 幕上键盘但是保持大致静止的多个对象。操作系统向在计算设备上运行的应用公开 接口 ,从而允许应用 指定 不同的多点触摸输入映射到何种功能。然后,每当操作系统检测到相应的多点触摸输入,操作系统就执行被映射到的功能。附加地或备选地,操作系统向应用通知所检测到的针对屏幕上键盘的多点触摸输入,并且响应于多点触摸输入,该应用确定执行何种功能。操作系统可以向应用传递所有检测到的多点触摸输入,或者仅向应用传递所检测到的多点触摸输入的子集。,下面是可编程的多点触摸屏幕上键盘专利的具体信息内容。

1.一种在计算设备中实现的方法,所述方法包括:
从在所述计算设备上运行的应用接收用以将第一多点触摸输入映射到第一功能的指示;
维持所述第一多点触摸输入到所述第一功能的映射的记录;
接收描述针对所述计算设备的屏幕上键盘的用户输入的触摸信息;
确定所述触摸信息是否描述所述第一多点触摸输入;以及
响应于确定所述触摸信息描述了所述第一多点触摸输入,执行所述第一功能。
2.根据权利要求1所述的方法,所述映射覆盖用于所述第一多点触摸输入的默认映射。
3.根据权利要求1或2所述的方法,所述方法由所述计算设备的操作系统实现。
4.根据权利要求3所述的方法,从所述应用接收所述指示包括经由被所述操作系统公开的应用编程接口接收所述指示。
5.根据权利要求1至4中任一项所述的方法,还包括维持各自被映射到不同功能的多个多点触摸输入的记录。
6.根据权利要求1至5中任一项所述的方法,跨所述计算设备的重新启动来维持所述记录。
7.根据权利要求1至6中任一项所述的方法,还包括:
从所述应用接收第二多点触摸输入的描述;
维持所述第二多点触摸输入的记录;
确定所述触摸信息是否是所述第二多点触摸输入;以及
响应于确定所述触摸信息是所述第二多点触摸输入,向所述应用通知所述第二多点触摸输入已经被接收。
8.根据权利要求1至7中任一项所述的方法,所述第一多点触摸输入包括手势。
9.根据权利要求1至7中任一项所述的方法,所述第一多点触摸输入包括两个对象同时触摸所述键盘。
10.根据权利要求1至7中任一项所述的方法,所述第一多点触摸输入包括一个对象触摸所述键盘并且保持大致静止,同时具有来自触摸所述键盘的另一对象在所述键盘上的手势。
11.一种计算设备,包括:
处理器;以及
计算机可读存储介质,在其上存储有多个指令,所述多个指令响应于被所述处理器执行,使所述处理器:
向所述计算设备上的操作系统提供针对所述操作系统的屏幕上键盘的第一多点触摸输入的描述;
随后从所述操作系统接收针对所述屏幕上键盘的用户输入是所述第一多点触摸输入的指示;以及
响应于接收到针对所述屏幕上键盘的所述用户输入是所述第一多点触摸输入的所述指令,执行第一功能。
12.根据权利要求11所述的计算设备,所述多个指令还使所述处理器向所述操作系统提供指令,以将第二多点触摸输入映射到第二功能,所述操作系统维持所述第二多点触摸输入到所述第二功能的映射的记录,以及响应于描述用户输入的触摸信息是所述第二多点触摸输入,执行所述第二功能。
13.一种计算设备,包括:
处理器;
映射库,所述映射库维持多点触摸输入到功能映射的记录;以及
计算机可读存储介质,其上存储有多个指令,所述多个指令响应于被所述处理器执行,使所述处理器:
从在所述计算设备上运行的应用接收用以将第一多点触摸输入映射到第一功能的指示;
在所述映射库中维持所述第一多点触摸输入到所述第一功能的映射的记录;
接收描述针对所述计算设备的屏幕上键盘的用户输入的触摸信息;
确定所述触摸信息是否描述所述第一多点触摸输入;以及
响应于确定所述触摸信息描述了所述第一多点触摸输入,执行所述第一功能。
14.根据权利要求13所述的计算设备,所述第一多点触摸输入到所述第一功能的所述映射覆盖所述映射库中的针对所述第一多点触摸输入的默认映射。
15.根据权利要求13或14所述的计算设备,所述多个指令还使所述处理器:
从所述应用接收第二多点触摸输入的描述;
维持所述第二多点触摸输入的记录;
确定所述触摸信息是否是所述第二多点触摸输入;以及
响应于确定所述触摸信息是所述第二多点触摸输入,向所述应用通知所述第二多点触摸输入已经被接收。

说明书全文

可编程的多点触摸屏幕上键盘

背景技术

[0001] 随着具有触摸屏的计算设备已经变得越来越普遍,经由屏幕上键盘向这些计算设备输入数据和命令的能也已经变得越来越被需要。然而,考虑到许多这些触摸屏的尺寸很小,对于用户而言使用屏幕上键盘可能是困难的。屏幕上键盘可能无法提供常规的全尺寸硬件键盘所提供的用于所有输入的键,从而使得用户难以输入某些数据和命令,这可能导致用户对他们的设备失望。发明内容
[0002] 本发明内容被提供以用简化的形式介绍选择的概念,这些概念在下面的具体实施方式中被进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于限制所要求保护的主题的范围。
[0003] 根据一个或多个方面,用以将第一多点触摸输入映射到第一功能的指示从在计算设备上运行的应用被接收,并且第一多点触摸输入到第一功能的映射的记录被维持。描述针对计算设备的屏幕上键盘的用户输入的触摸信息被接收,并且关于触摸信息是否描述第一多点触摸输入的确定被做出。响应于确定触摸信息描述了第一多点触摸输入,第一功能被执行。
[0004] 根据一个或多个方面,针对操作系统的屏幕上键盘的第一多点触摸输入的描述被提供给操作系统。针对屏幕上键盘的用户输入是第一多点触摸输入的指示随后从操作系统被接收。响应于接收到针对屏幕上键盘的用户输入是第一多点触摸输入的指示,第一功能被执行。附图说明
[0005] 具体实施方式参考附图被描述。在附图中,附图标记的最左的(多个)数字标识该附图标记首次出现的图。在说明书和附图中的不同实例中对相同的附图标记的使用可以指示相似的或相同的项目。图中表示的实体可以指示一个或多个实体,因此在讨论中可以可互换地引用单数或复数形式的实体。
[0006] 图1是示出根据一个或多个实施例的实现可编程的多点触摸屏幕上键盘的示例计算设备的框图
[0007] 图2示出了根据一个或多个实施例的示例屏幕上键盘。
[0008] 图3、图4、图5和图6示出了根据一个或多个实施例的多点触摸输入的示例。
[0009] 图7是示出根据一个或多个实施例的用于实现可编程的多点触摸屏幕上键盘的示例过程的流程图
[0010] 图8是示出根据一个或多个实施例的用于实现可编程的多点触摸屏幕上键盘的另一示例过程的流程图。
[0011] 图9示出了示例系统,该示例系统包括代表可以实现本文中描述的各种技术的一个或多个系统和/或设备的示例计算设备。

具体实施方式

[0012] 本文中讨论了可编程的多点触摸屏幕上键盘。屏幕上键盘,也被称为软键盘,是被显示在计算设备的触摸屏上的键盘。用户输入通过用户使用诸如输入笔或手指的对象触摸屏幕上键盘来被接收。屏幕上键盘由计算设备的操作系统提供,并且支持多点触摸输入。这些多点触摸输入可以包括屏幕上键盘上的手势的用户输入。这样的手势可以是单个对象触摸屏幕上键盘的结果(例如,单个手指的手势),或者是多个对象同时触摸屏幕上键盘的结果(例如,两个手指或三个手指的手势)。这些多点触摸输入还可以包括多个对象同时触摸屏幕上键盘但是保持大致静止(例如,两个或三个手指各自触摸屏幕上键盘的不同键)的用户输入。
[0013] 计算设备的操作系统显示屏幕上键盘,并且标识对屏幕上键盘的用户输入。操作系统可以标识对屏幕上键盘的各种不同的多点触摸输入,诸如不同的手势、不同的键组合等。操作系统向在计算设备上运行的应用公开接口,从而允许应用指定不同的多点触摸输入映射到何种功能。然后,每当操作系统检测到相应的多点触摸输入,操作系统就执行所映射到的功能。操作系统还可以具有默认的多点触摸输入对功能的映射,并且这些默认映射可以被应用覆盖。相应地,当多点触摸输入被检测到时,操作系统执行默认的所映射到的功能,除非其被应用覆盖,在这种情况下,由应用指示的所映射到的功能被执行。
[0014] 附加地或备选地,操作系统向应用通知所检测到的对屏幕上键盘的多点触摸输入,并且该应用确定响应于该多点触摸输入执行何种功能(如果有的话)。操作系统可以将所有检测到的多点触摸输入传递到应用或者仅将所检测到的多点触摸的子集传递到应用。例如,应用可以向操作系统注册该应用想被通知哪些多点触摸输入,并且在那些被注册的多点触摸输入被检测到时,操作系统将通知该应用。
[0015] 本文中讨论的技术允许操作系统提供可被多个不同应用使用的屏幕上键盘。每个应用可以有效地编程或配置应用所期望的屏幕上键盘,从而允许每个应用对该应用期望的任何功能定制多点触摸输入。这减轻了应用和应用开发者对于提供其自身的屏幕上键盘的需求,因此减少了应用复杂度和开发时间。
[0016] 图1是示出了根据一个或多个实施例的实现可编程的多点触摸屏幕上键盘的示例计算设备100的框图。计算设备100可以是很多不同类型的设备,诸如台式计算机、服务器计算机、膝上型计算机或上网本计算机、移动设备(例如,平板或平板手机、蜂窝或其他无线电话(例如,智能电话)、笔记本计算机、移动站)、可穿戴设备(例如,眼镜、头戴式显示器手表、手环、增强现实(AR)设备、虚拟现实(VR)设备)、娱乐设备(例如,娱乐电器、通信地耦合到显示设备的机顶盒、游戏机)、物联网(IoT)设备(例如,具有软件固件和/或硬件以允许与其他设备通信的对象或事物)、电视机或其他显示设备、汽车计算机等等。因此,计算设备100的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机,游戏机)到具有有限的存储器和/或处理资源的低资源设备(例如,常规的机顶盒、手持游戏机)。
[0017] 计算设备100包括操作系统102和应用104。操作系统102管理应用104在计算设备100上的运行。操作系统102为应用104提供用以访问计算设备100的各种功能和硬件组件的接口。应用104可以是各种不同类型的应用中的任何一个,诸如生产力应用、娱乐应用、网络应用等。尽管在图1中示出了单个应用104,但是应当注意的是,多个应用104可以被包括在计算设备100中。
[0018] 操作系统102包括输入模112,输出模块114、输入确定模块116、操作系统(OS)接口118、一个或多个功能模块120和映射库122。输出模块114生成、管理和/或输出用于显示、播放和/或其他呈现的内容。该内容可以由输出模块114创建和/或从计算设备100的其他模块获得。例如,该内容可以是用户接口(UI)的显示或播放部分。该内容包括屏幕上键盘,用户可以经由该屏幕上键盘向计算设备100输入命令或数据。
[0019] 输出模块114在计算设备100的触屏显示器上显示屏幕上键盘。在一个或多个实施例中,触屏显示器被包括作为计算设备100的一部分(例如,在与计算设备100的处理器、存储器和其他硬件组件相同的外壳中)。附加地或备选地,触屏显示器可以与计算设备100分离,但是与其通信地耦合,诸如经由有线或无线连接被耦合到计算设备100。
[0020] 图2示出了根据一个或多个实施例的示例屏幕上键盘。触屏显示器200包括屏幕上键盘202和数据显示部分204。屏幕上键盘202被显示为触屏显示器的部分,并且允许用户向计算设备100输入多点触摸输入,如下面所详细讨论的。数据显示部分204允许各种数据按照应用104期望的被显示,诸如网页内容、被编辑的数据、被播放的视频等。
[0021] 回到图1,触屏显示器可以使用各种不同的感测技术来感测输入。这些感测技术可以包括感测压力或力的压力敏感系统。这些输入感测技术还可以包括感测触摸的电容性系统和/或电阻性系统。这些输入感测技术还可以包括基于光学的图像,其感测来自对象触摸(或接近)显示器设备表面的光的反射和分裂,例如像素传感器(SIP)系统、红外系统、光学成像系统等。其他类型的输入感测技术也可以被使用,例如表面声波系统、声学脉冲标识系统、分散信号系统等。尽管输入感测技术的示例在本文中被讨论,但是其他输入感测技术也被考虑。
[0022] 输入模块112从触屏显示器获得触摸信息。通常,触摸信息是指描述作为用户的一部分或者由用户控制的、在物理上触摸屏幕上键盘或在屏幕上键盘的阈值距离(例如,5毫米)内的对象(例如,手指、手写笔)的信息。该阈值距离可以基于触屏显示器所使用的感测技术而改变。
[0023] 在一个或多个实施例中,该触摸信息是由一个或多个对象随时间施加的压力量,以及如上文讨论的,由触屏显示器感测的所施加的压力随时间的位置的指示。附加地或备选地,该触摸信息是由一个或多个对象随时间施加的接触信息,以及如上文讨论的,由触屏显示器感测的接触信息随时间的位置的指示。接触信息是指用户在触摸键盘时被触摸的区域(触屏显示器的被对象触摸的部分,被对象反射的光的量等等)。
[0024] 输入模块112可选地感测来自计算设备100的用户的其他类型的输入。例如,用户输入可以可选地通过按压计算设备100的小键盘或键盘的一个或多个键、通过按压计算设备100的控制器(例如,远程控制设备、鼠标、触控板等)的一个或多个键、可以被运动检测或计算设备100的其他组件识别的动作(诸如,摇动或旋转计算设备100,经由麦克的可听输入等)来提供。
[0025] 多点触摸输入包括作为屏幕上键盘上的手势的用户输入。手势是指由一个或多个对象(例如,用户的手指)跨屏幕上键盘所作出的运动或路径。例如,手势可以是用户的手指沿特定方向的滑动,用户的手指描绘特定字符或符号(例如,圆圈、字母“Z”等)等。手势可以是由单个对象(例如,单个手指描绘字符或符号)跨屏幕上键盘作出的的运动或路径。手势还可以是由多个对象同时跨屏幕上键盘作出的运动或路径(例如,用户手指中的两个手指用于执行两个手指垂直向上划动或捏合)。
[0026] 图3示出了根据一个或多个实施例的多点触摸输入的示例。图3示出了图2的示例触屏显示器200和经由手写笔302的笔尖被接收的多点触摸输入。图3中的多点触摸输入被示为从右向左的移动,其中该多点触摸输入在304处开始且在306处结束。使用手写笔的虚线轮廓示出了手写笔302的结束位置。
[0027] 图4示出了根据一个或多个实施例的多点触摸输入的另一示例。图4示出了图2的示例触屏显示器200和经由三个手指的手势被接收的多点触摸输入。图4中的多点触摸输入被示为从左向右的移动,其中该多点触摸输入以手的手指在402处开始且以手的手指在404处结束。使用手的虚线轮廓来示出手的结束位置406。
[0028] 回到图1,多点触摸输入还可以包括多个对象同时触摸屏幕上键盘但是保持大致静止的用户输入(例如,两个或三个手指分别触摸屏幕上键盘的不同键)。保持大致静止的对象是指可以轻微移动(例如,随着用户的手摇晃),但不是跨屏幕上键盘的多个键进行的较长的运动或路径的对象。例如,如果对象以低于阈值速度(例如,每秒2毫米)跨屏幕上键盘移动,则该对象可以被认为保持大致静止。
[0029] 图5示出了根据一个或多个实施例的多点触摸输入的另一示例。图5示出了图2的示例触屏显示器200和经由手的手指被接收的多点触摸输入。图5中的多点触摸输入被示为两个手指(大拇指502和食指504)同时触摸屏幕上键盘。如图所示,大拇指502正触摸Shift键并且食指504正触摸E键。
[0030] 多点触摸输入还包括触摸屏幕上键盘但是保持大致静止的手势和对象的组合的用户输入。例如,多点触摸输入可以是一个手指保持大致静止(例如,在屏幕上键盘的特定键,诸如Shift键上),同时另一手指描绘特定的字符或符号(例如,圆圈、字母“Z”等)。
[0031] 图6示出了根据一个或多个实施例的多点触摸输入的另一示例。图6示出了图2的示例触屏显示器200和经由多个手指被接收的多点触摸输入。图6中的多点触摸输入被示为一个手指在602处(在Ctrl键上)保持大致静止,同时另一手指从左向右移动输入,以手指在604处开始且以手指在606处结束。使用手的虚线轮廓示出了在606处的手指的结束位置。
[0032] 回到图1,输入确定模块116从输入模块112接收由触屏显示器感测的触摸信息的指示,并且将触摸信息分类。触摸信息可以包括各种特性,诸如所触摸的区域的大小(例如,所触摸的区域的量)、所触摸的区域的大小随时间的改变、所触摸的区域的形状(例如,几何形状或所触摸的区域的轮廓)、所触摸的区域的形状随时间的改变、所触摸的区域的位置随时间的改变、所触摸的区域的压力随时间的改变,对象的移动(被触摸的位置和方向)、对象的速度、对象的加速度、对象在触屏显示器上行进的距离、及其组合等。
[0033] 触摸信息被分类或被检测为多个不同的用户输入中的一个用户输入。各种不同的公共和/或专用准则可以用于确定触摸信息的分类,诸如各种规则、算法等。这些不同的准则可以被包括作为输入确定模块116的一部分(例如,被编程到输入确定模块116)。附加地或备选地,这些不同的准则可以由输入确定模块116从其他设备或模块获得。这些用户输入可以包括各种不同的用户输入,诸如在屏幕上键盘选择特定的键、在屏幕上键盘输入手势等。这些多个不同的用户输入包括一个或多个多点触摸输入。
[0034] 在一个或多个实施例中,用于分类触摸信息的标准中的一个是触摸信息是否描述了屏幕上键盘被触摸的位置。响应于触摸信息描述了在屏幕上键盘上被触摸的位置,输入确定模块116可以将触摸信息分类为特定的触摸输入。
[0035] 映射库122包括用户输入到功能的映射。映射库122可以被实现在任何各种不同类型的存储器设备或存储设备中,诸如随机存取存储器、闪存、磁盘等等。输入确定模块116包括将特定的用户输入映射到特定功能的一个或多个记录或其他数据结构。在将触摸信息分类或检测为特定的用户输入之后,输入确定模块116使用映射库122来标识何种功能被映射(对应)到该用户输入。触摸信息可以被分类为各种不同的用户输入,包括单点触摸输入(例如,单个对象触摸屏幕上键盘并且保持大致静止)或多点触摸输入。
[0036] 在一个或多个实施例中,映射库122在非易失性存储器中维持用户输入到应用104(以及可选地附加应用)的功能的映射的记录。因此,该映射的记录可以在计算设备100的重新启动或重置之间被维持,并且每次应用104被运行时,用于不同用户输入的映射都可用于输入确定模块116。附加地或备选地,当应用104在运行时(例如,在执行应用104的开始),应用104可以向输入确定模块116提供映射。在这样的情况下,映射的记录无需在计算设备100的重新启动或重置之间被维持。
[0037] 用户输入可以被映射到各种不同的功能中的任何功能,诸如键选择、文本编辑操作、字体大小或类型改变、文本选择、光标导航(例如,在图2的数据显示区域204中被显示)等。例如,不同的功能可以包括选择在数据显示区域204中显示的词、选择在数据显示区域204中显示的一行文本、将在数据显示区域204中被选择的文本加粗或加下划线、减小使用屏幕上键盘正被键入的(例如,并且在数据显示区域204中显示的)文本的字体大小、增大或减小使用屏幕上键盘正被键入的(例如,并且在数据显示区域204中显示的)文本的字体大小、向上或向下滚动在数据显示区域204中显示的内容、垂直向上或向下移动在数据显示区域204中显示的光标,等等。
[0038] 输入确定模块116调用适当的功能模块120以执行针对用户输入的被映射到的功能。调用的适当的功能模块120可以在输入确定模块116中被预先配置。附加地或可选地,适当的功能模块120可以以不同的方式被确定,诸如从映射库122获得(例如,作为与用户输入到功能的映射相关联的元数据),从另一设备或模块获得等等。
[0039] 在一个或多个实施例中,每个功能模块120在被调用时,都执行单个功能(例如,向上或向下滚动在数据显示区域204中被显示的内容)。附加地或备选地,功能模块120可以执行多个不同的功能,并且当输入确定模块116调用功能模块120时,输入确定模块116向功能模块120提供特定功能要被执行的指示(例如,在调用功能模块120时提供指示作为参数)。
[0040] 操作系统102向在计算设备100上运行的应用104公开OS接口118。OS接口118可以是例如应用程序接口(API)。应用104包括应用接口132、多点触摸定义模块134和一个或多个功能模块136。
[0041] 应用104可以(例如,通过多点触摸定义模块134调用OS接口118的方法)指定特定的多点触摸输入映射到何种功能。应用104可以指定用于单个多点触摸输入或多个不同的多点触摸输入的功能。多点触摸定义模块134可以用不同的方式指定特定的多点触摸输入。在一个或多个实施例中,多点触摸定义模块134知道哪些多点触摸输入被输入确定模块116支持(例如,知道)。该知识可以以各种方式被获得,诸如通过调用OS接口118的方法以枚举映射库122中的功能被映射到的不同多点触摸输入。在这样的情形中,多点触摸定义模块
134可以通过输入确定模块116已知的名字或其他标识符来指定特定的多点触摸输入。
[0042] 附加地或备选地,多点触摸定义模块134可以定义其自身的多点触摸输入。定义多点触摸输入是指向输入确定模块116提供用于描述多点触摸输入的准则(由输入确定模块116用于将触摸信息分类为多点触摸输入的准则)。然后,输入确定模块116可以将该准则添加到映射库122,该准则用于描述多点触摸输入和该多点触摸输入被映射到的功能。多点触摸输入可以由(例如,被多点触摸定义模块134提供的)名字或标识符和/或在其他事项中被指定,诸如通过所提供的用于描述多点触摸输入的准则。相似地,如果需要,应用104可以定义其自身的单点触摸输入。
[0043] 输入确定模块116从多点触摸定义模块134接收所指定的映射,并且更新映射库122以包括所指定的多点触摸输入被映射到指定的功能的记录。在一个或多个实施例中,映射库122包括多点触摸输入到功能的默认映射,并且这些默认映射可以由应用104覆盖。如果输入确定模块116接收多点触摸输入到特定功能的映射,并且映射库122已经将该多点触摸输入映射到不同的功能,则输入确定模块116将先前存储的功能替换(例如,覆盖)为新接收的功能。因此,当多点触摸输入被检测到时,输入确定模块116执行默认被映射到的功能,除非其被应用104覆盖,在这种情况下,由应用指示的被映射到的功能被执行。
[0044] 在一个或多个实施例中,执行被映射到的功能包括调用应用104以执行至少部分功能。应用104包括应用接口132,应用接口132可以采用各种形式,诸如API、用以辅助来执行被映射到的功能的回调函数等。例如,如果被映射到的功能指示当前所选择的词将改变其字体类型,则操作系统102的功能模块120可以通过调用应用接口132来向应用104发送字体类型改变的请求。然后,应用104中的适当的功能模块136可以对所选择的词执行指定的字体改变。
[0045] 尽管功能模块136可以由应用接口132响应于来自功能模块120的请求调用,功能模块136可以类似于功能模块120来被调用。在一个或多个实施例中,当每个功能模块136被调用时,其执行单个功能(例如,改变所选择的文本的字体类型)。附加地或备选地,功能模块136可以执行多个不同的功能,并且当应用接口132调用功能模块136时,应用接口132向功能模块136提供特定功能要被执行的指示(例如,在调用功能模块136时,提供指示作为参数)。
[0046] 因此,应用104能够按照应用104所期望的来编程或配置屏幕上键盘的功能。应用104可以改变响应于特定的多点触摸输入而被执行的功能,并且可以定义其自身的多点触摸输入。
[0047] 应当注意的是,多个不同的应用可以提供其自身的映射,并且不同的应用可以提供不同的映射。例如,一个应用可以替换多点触摸输入的默认功能,而另一应用无法替换该多点触摸输入的默认功能。作为另一示例,一个应用可以定义其自身的多点触摸输入,在该一个应用运行时该多点触摸输入引起特定功能,但是当其他应用运行时(或者对于当前不是活动应用的其他应用),该多点触摸输入不引起功能。输入确定模块116在映射库122中维持用于不同应用的这些不同的映射,以使得用于一个应用的映射无法替换或影响用于另一应用的映射。
[0048] 附加地或备选地,在某些情况下,输入确定模块116向应用104通知特定的多点触摸输入已经被接收。输入确定模块116通过调用应用接口132来向应用104通知特定的多点触摸输入已经被接收。响应于该通知,应用接口132确定何种功能要被执行,并且调用适当的功能模块136以执行该功能。应用接口132可以用各种方式来确定何种功能要被执行,诸如通过被预先配置有多点触摸输入到功能的映射,维持映射库(与映射库122相似,但仅用于应用104),等等。
[0049] 因此,应用104可以具有这样的知识,而不是依赖操作系统102以知晓特定的多点触摸输入到功能的映射。输入确定模块116仅标识多点触摸输入,并且依赖于应用104来执行适当的功能。
[0050] 在一个或多个实施例中,输入确定模块116针对所有多点触摸输入来向应用104通知特定的多点触摸输入已经被接收。因此,输入确定模块116不需要为用于应用104的任何多点触摸输入维持多点触摸输入到功能的映射。
[0051] 附加地或备选地,输入确定模块116仅针对多点触摸输入的子集来向应用104通知特定的多点触摸输入已经被接收。该子集可以用不同的方式被确定。例如,应用104可以向输入确定模块116注册应用104要被通知哪些多点触摸输入。响应于检测到被包括在多点触摸输入的子集中的多点触摸输入,输入确定模块116向应用104通知该多点触摸输入已经被接收。然而,响应于检测到未被包括在多点触摸的子集中的多点触摸输入,输入确定模块116使用映射库122中的映射来确定针对该多点触摸输入的被映射到的功能,并且调用适当的功能模块120来执行被映射到的功能。
[0052] 图7是示出了根据一个或多个实施例的用于实现可编程的多点触摸屏幕上键盘的示例过程700的流程图。过程700由诸如图1的计算设备100的操作系统102的设备执行,并且可以在软件、固件、硬件或它们的组合中实现。过程700被示出为一组动作,并且不限于所示出的用于执行各种动作的操作的顺序。过程700是用于实现可编程的多点触摸屏幕上键盘的示例过程;参考不同的附图,本文包括实现可编程的多点触摸屏幕上键盘的附加的讨论被。
[0053] 在过程700中,用以将特定的多点触摸输入映射到应用的特定功能的指示被接收(动作702)。如上文所讨论的,该指示从应用被接收。
[0054] 将特定的多点触摸输入映射到特定功能的记录被维持(动作704)。该记录可以是对先前映射(例如,默认映射或由应用先前提供的映射)的替换或者(例如,由应用定义的针对多点触摸输入的)新的映射。
[0055] 描述针对屏幕上键盘的用户输入的触摸信息被接收(动作706)。该触摸信息可以是例如由一个或多个对象随时间施加的压力的数量、随时间的接触信息等。针对屏幕上键盘的用户输入指代在屏幕上键盘的顶部或上方的用户输入,例如,如在图3-6中所示。
[0056] 关于触摸信息是否描述特定的多点触摸输入的确定被做出(动作708)。如上文所讨论的,该确定是通过对触摸信息应用各种不同的规则、算法等而做出的。
[0057] 响应于确定触摸信息描述了特定的多点触摸输入,特定功能被执行(动作710)。如上文所讨论的,特定功能通过调用适当的功能模块被执行,并且可能涉及向应用传输请求。
[0058] 如果触摸信息没有描述特定的多点触摸输入,则响应于触摸信息,特定功能不被执行。而是,其他功能(或没有功能)可以被执行。
[0059] 图8是示出根据一个或多个实施例的用于实现可编程的多点触摸屏幕上键盘的示例过程800的流程图。过程800由诸如图1的计算设备100的应用104的设备执行,并且该过程可以在软件、固件、硬件或它们的组合中实现。过程800被示出为一组动作,并且不限于所示出的用于执行各种动作的操作的顺序。过程800是用于实现可编程的多点触摸屏幕上键盘的示例过程;参考不同的附图,本文包括实现可编程的多点触摸屏幕上键盘的附加的讨论。
[0060] 在过程800中,应用提供针对屏幕上键盘的特定的多点触摸输入的描述(动作802)。该多点触摸输入的描述可以是由应用定义的多点触摸输入,或者可以是先前已知的或被定义的多点触摸输入的标识符。
[0061] 随后,针对屏幕上键盘的用户输入是特定的多点触摸输入的指示从操作系统被接收(动作804)。针对屏幕上键盘的用户输入是被分类为特定的多点触摸输入的触摸信息,如上面所讨论的。
[0062] 响应于动作804中的指示,特定功能被执行(806)。如上文所讨论的,特定功能可以通过调用应用的适当的功能模块来被执行。
[0063] 与一次仅允许单个击键或触摸的屏幕上键盘相比,本文中讨论的技术支持针对屏幕上键盘的各种多点触摸输入。这允许,例如用户通过同时触摸屏幕上键盘的与Shift键、G键、R键相对应的位置来输入Shift-G-R序列。作为另一示例,这允许用户输入各种不同的手势(单个手指或多个手指)到屏幕上键盘。
[0064] 手势可以被映射到各种不同的功能。例如,捏合手势(两个对象同时触摸屏幕上键盘并且向彼此移动)可以减小使用屏幕上键盘正被键入的文本的字体大小。作为另一示例,扩远手势(两个对象同时触摸屏幕上键盘并且远离彼此移动)可以增大使用屏幕上键盘正被键入的文本的字体大小。作为另一示例,圆形(顺时针)手势或两个手指垂直向上刷的手势可以向上滚动被显示在触屏显示器上其他地方(除了屏幕上键盘被显示的地方)的内容,或者在垂直向上的方向上移动光标。作为又一示例,圆形(逆时针)的手势或两个手指垂直向下刷的手势可以向下滚动被显示在触屏显示器其他地方(除了屏幕上键盘被显示的地方)的内容,或者在垂直向下的方向上移动光标。作为又一示例,两个手指轻击输入(例如,每个手指在触摸屏上保持大致静止)可以用于选择光标出现处的整个词,或者如果该文本已经被选择,则将该文本加粗或加下划线。
[0065] 尽管在本文中参考特定的模块讨论了特定功能,但是应当注意的是,本文中讨论的各个模块的功能可以被分成多个模块,和/或多个模块的至少一些功能可以被组合成单个模块。附加地,在本文中讨论为执行动作的特定的模块包括执行该动作的该特定模块本身,或备选地,调用或以其他方式访问执行动作的另一组件或模块的特定模块。因此,执行动作的特定模块包括执行动作的特定模块本身和/或由执行动作的特定模块调用或以其他方式访问的另一模块。
[0066] 图9示出了总体上在900处的示例系统,该示例系统900包括示例计算设备902示例计算设备902表示可以实现本文中讨论的各种技术的一个或多个系统和/或设备。计算设备902可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他适合的计算设备或计算系统。
[0067] 如所示的示例计算设备902包括处理系统904、一个或多个计算机可读的介质906和彼此通信地耦合的一个或多个I/O接口908。尽管未被示出,计算设备902还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构中的任何一个或它们的组合,诸如存储器总线或存储控制器、外围总线、通用串行总线和/或利用各种总线结构中的任何一种的处理器或局部总线。各种其他示例也被考虑,诸如控制和数据线。
[0068] 处理系统904表示使用硬件来执行一个或多个操作的功能。因此,处理系统904被示为包括可以被配置为处理器、功能块等的硬件元件910。这可以包括在硬件中作为专用集成电路或使用一个或多个半导体形成的其他逻辑设备的实现。硬件元件910不受形成它们的材料或其中被采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文下,处理器可执行的指令可以是电子可执行指令。
[0069] 计算机可读介质906被示为包括存储器/存储装置912。存储器/存储装置912表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置912可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如,只读存储器(ROM)、电阻式RAM(ReRAM)、闪存、光盘、磁盘等)。存储器/存储装置912可以包括固定介质(例如,RAM、ROM、固定硬盘驱动等)以及可移动介质(例如,闪存、可移动硬盘驱动、光盘等)。存储器/存储装置912可以包括存储级存储器(SCM),诸如可从加州圣克拉拉的英特尔公司或爱德华州博伊西的美光科技公司获得的3D Xpoint存储器。计算机可读介质906可以按照下文进一步描述的各种其他方式被配置。
[0070] 一个或多个输入/输出接口908表示通过使用各种输入/输出设备来允许用户向计算设备902输入命令和信息,并且还允许信息被呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容性传感器或其他传感器)、照相机(例如,其可以采用可见或不可见的波长(诸如红外频率)以检测如手势等不涉及触摸的移动)等。
输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以如下文进一步描述的以各种方法来配置计算设备902来支持用户交互。
[0071] 计算设备902还包括可编程的屏幕上键盘系统914。可编程的屏幕上键盘系统914提供如上面所讨论的用于可编程的多点触摸屏幕上键盘的各种功能。可编程的屏幕上键盘系统914可以实现例如图1的输入确定模块116,或图1的多点触摸定义模块134。
[0072] 在本文中可以在软件、硬件元件或编程模块的通用上下文中描述各种技术。通常地,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如本文中使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或它们的组合。本文中描述的技术的特征与平台无关,意味着该技术可以在具有各种处理器的各种计算平台上被实现。
[0073] 被描述的模块和技术的实现可以被存储在某些形式的计算机可读介质上或者跨某些形式的计算机可读介质被传输。计算机可读介质可以包括可以被计算设备902访问的各种介质。通过示例而非限制的方式,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
[0074] “计算机可读存储介质”指代有形的介质和/或设备,相比于纯信号传输、载波或信号本身,其能够持久地存储信息和/或存储,。计算机可读存储介质指代非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质的硬件和/或以适合存储诸如计算机可读指令、数据结构、编程模块、逻辑元件/电路或其他数据的信息的方法或技术来实现的存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用光盘(DVD)或其他光学存储装置、硬盘、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或其他存储设备、有形介质、或者适合存储所期望的信息并且可以由计算机访问的制品。
[0075] “计算机可读信号介质”指代被配置为诸如经由网络向计算设备902的硬件传输指令的信号承载介质。信号介质通常可以体现计算机可读指令,数据结构,编程模块,或诸如载波、数据信号或其他传送机制等经调制的数据信号中的其他数据。信号介质还包括任何信息递送介质。术语“经调制的数据信号”是指以将信息编码到信号中的方式来设置或改变其一个或多个特征的信号。通过示例而非限制的方式,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。
[0076] 如先前所描述的,硬件元件910和计算机可读介质906代表以硬件形式实现的指令、模块、可编程的设备逻辑和/或固定设备逻辑,在一些实施例中其可以被采用以实现本文中描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程阵列(FPGA)、复杂可编程逻辑器件(CPLD)、以及在或其他硬件设备中的其他实现。在该上下文中,硬件元件可以作为处理设备来操作,该处理设备执行由用于存储供执行的指令的硬件元件以及硬件设备(例如,先前描述的计算机可读存储介质)体现的指令、模块和/或逻辑定义的程序任务。
[0077] 前述内容的组合也可以被采用以实现本文中描述的各种计算和模块。因此,软件、硬件或程序模块和其他程序模块可以被实现为体现某种形式的计算机可读存储介质上的和/或由一个或多个硬件元件910实现的一个或多个指令和/或逻辑。计算设备902可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用计算机可读存储介质和/或处理系统的硬件元件910,可以至少部分地在硬件中将模块实现为由计算设备902作为软件可执行的模块。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备902和/或处理系统904)可执行/可操作,以实现本文中描述的技术、模块和示例。
[0078] 如在图9中被进一步示出的,当示例系统900在个人计算机(PC)、电视设备和/或移动设备上运行应用时,支持用于无缝用户体验的普适环境。在使用应用、玩视频游戏,观看视频等时从一个设备转换到另一个设备时,服务和应用在所有三个环境中以大体上相似的方式运行,以用于共同的用户体验。
[0079] 在示例系统900中,多个设备通过中央计算设备被互连。中央计算设备可以在多个设备的本地或者可以位于远离多个设备的位置。在一个或多个实施例中,中央计算设备可以是通过网络、互联网、或其他数据通信链接被连接到多个设备的一个或多个服务器计算机的
[0080] 在一个或多个实施例中,该互连架构使功能能够跨多个设备被递送,以向多个设备的用户提供共用且无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得对设备的体验递送既能够针对设备来定制,也能够为所有设备共用。在一个或多个实施例中,一类目标设备被创建,并且针对通用类别的设备定制体验。可以由物理特征、使用类型或设备的其他共同特征来定义一类设备。
[0081] 在各种实现中,计算设备902可以采取各种不同的配置,诸如,以供计算机916、移动设备918和电视920使用。这些配置分别包括可能具有大体上不同的构造和能力的设备,因此,计算设备902可以根据不同设备类别中的一个或多个来被配置。例如,计算设备902可以被实现为计算机916类设备,包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
[0082] 计算设备902还可以被实现为包括移动设备的移动918类设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备902还可以被实现为电视920类设备,包括在随意浏览的环境中具有或被连接到通常较大的屏幕的设备。这些设备包括电视、机顶盒、游戏机等。
[0083] 本文中描述的技术可以被计算设备902的这些各种配置支持,并且不限于本文中描述的技术的特定示例。该功能也可以通过使用分布式系统,诸如如下文描述的在“云”922上经由平台924,被全部或部分地实现。
[0084] 云922包括和/或表示用于资源926的平台924。平台924抽象化硬件(例如,服务器)和云922的软件资源的基本功能。资源926可以包括应用和/或数据,该应用和/或数据可以在远离计算设备902的服务器上执行计算能处理时被利用。资源926还可以包括通过互联网和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供的服务。
[0085] 平台924可以抽象化资源和功能,以将计算设备902与其他计算设备连接。平台924还可以服务以抽象化资源的规模,来向遇到的对于经由平台924实现的资源926的需求提供相应平的规模。因此,在互连的设备实施例中,本文中描述的功能的实现可以在系统900各处分布。例如,功能可以部分地在计算设备902上以及经由抽象化云922的功能的平台924来实现。
[0086] 在本文的讨论中,描述了各种不同的实施例。应当理解和明白的是,本文中描述的每个实施例可以独立使用或者与本文中描述的一个或多个其他实施例结合使用。本文中描述的技术的其他方面涉及以下实施例中的一个或多个实施例。
[0087] 一种在计算设备中实现的方法,该方法包括:从在计算设备上运行的应用接收用以将第一多点触摸输入映射到第一功能的指示;维持第一多点触摸输入到第一功能的映射的记录;接收描述针对计算设备的屏幕上键盘的用户输入的触摸信息;确定该触摸信息是否描述第一多点触摸输入;以及响应于确定该触摸信息描述了第一多点触摸输入,执行第一功能。
[0088] 备选地或除了本文中描述的任何方法或设备以外,以下中的任何一个或其组合:该映射覆盖用于第一多点触摸输入的默认映射;该方法由计算设备的操作系统实现;从应用接收指示包括:经由被操作系统公开的应用编程接口接收指示;还包括保持各自被映射到不同功能的多个多点触摸输入的记录;跨计算设备的重新启动来维持记录;还包括从应用接收描述第二多点触摸输入的描述,维持第二多点触摸输入的记录,确定该触摸信息是否是第二多点触摸输入,以及响应于确定该触摸信息是第二多点触摸输入向应用通知第二多点触摸输入已经被接收;第一多点触摸输入包括手势;第一多点触摸输入包括两个对象同时触摸键盘;第一多点触摸输入包括一个对象触摸键盘并且保持大致静止,同时具有来自触摸键盘的另一对象在键盘上的手势。
[0089] 一种计算设备方法,包括:处理器;以及计算机可读存储介质,在其上存储有多个指令。该多个指令响应于被处理器执行,使处理器向计算设备上的操作系统提供针对操作系统的屏幕上键盘的第一多点触摸输入的描述;随后从操作系统接收针对屏幕上键盘的用户输入是第一多点触摸输入的指示;以及响应于接收到针对屏幕上键盘的用户输入是第一多点触摸输入,执行第一功能。
[0090] 备选地或除了本文中描述的任何方法或设备以外,以下中的任何一个或其组合:多个指令还使处理器向操作系统提供用以将第二多点触摸输入映射到第二功能的指示,操作系统维持第二多点触摸输入到第二功能的映射的记录,以及响应于描述用户输入的触摸信息是第二多点触摸输入,执行第二功能。
[0091] 一种计算设备方法,包括:处理器;映射库,该映射库维持多点触摸输入到功能映射的记录映射库;以及计算机可读存储介质,在其上存储有多个指令。该多个指令响应于被处理器执行,使处理器:从在计算设备上运行的应用接收用以将第一多点触摸输入映射到第一功能的指示;在映射库中维持第一多点触摸输入到第一功能的映射的记录;接收描述针对计算设备的屏幕上键盘的用户输入的触摸信息;确定该触摸信息是否描述第一多点触摸输入;以及响应于确定该触摸信息描述了第一多点触摸输入,执行第一功能。
[0092] 备选地或除了本文中描述的任何方法或设备以外,以下中的任何一个或其组合:第一多点触摸输入到第一功能的映射覆盖映射库中的用于第一多点触摸输入的默认映射;
多个指令实现计算设备的操作系统;其中维持第一多点触摸输入到第一功能的映射的记录是跨计算设备的重新启动来保持第一多点触摸输入到第一功能的映射;多个指令还使处理器从应用接收第二多点触摸输入的描述,维持第二多点触摸输入的记录,确定触摸信息是否是第二多点触摸输入,以及响应于确定该触摸信息是第二多点触摸输入,向应用通知第二多点触摸输入已经被接收;第一多点触摸输入包括手势;第一多点触摸输入包括:两个对象同时触摸键盘,并保持大致静止;第一多点触摸输入包括一个对象触摸键盘并且保持大概静止,同时具有来自触摸键盘的另一对象在键盘上的手势。
[0093] 尽管已经用特定于结构特征和/或方法动作的语言描述了主题,应当理解的是在所附权利要求中被限定的主题不一定被限制于上文描述的特定的特征或动作。而是,上文描述的特定的特征和动作作为实现权利要求的示例形式而被公开。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈