一种悬浮键盘的输入操作作用区域确定方法及装置与流程

文档序号:15557195发布日期:2018-09-29 01:24阅读:163来源:国知局

本申请涉及终端用户界面技术领域,特别是涉及一种悬浮键盘的输入操作作用区域确定方法及装置。



背景技术:

智能操作系统(比如android)设备支持的功能日渐多样化。以android系统为例,在输入法方面,第三方输入法提供的界面不再像操作系统默认输入法的界面一样固定在屏幕底部,而是变成了一个浮动窗,即通过浮动窗来实现输入法界面,该浮动窗即称为悬浮键盘。

悬浮键盘可以由用户拖动到任意位置。同时,应用程序的用户界面不再被输入法界面压缩,用户进行输入的同时可以显示更多的应用内容。如图1所示,图1(a)显示的是使用固定键盘进行输入时的用户界面,图1(b)显示的是采用悬浮键盘进行输入时的用户界面,可以看出,虚浮键盘不再固定在屏幕底部,而是可以随意拖动。

以android系统为例,第三方应用提供的基于悬浮键盘的输入法(以下简称为第三方输入法),其实现并不是基于android现有的框架,而是采用一种非常规的方式:在启动输入法后,第三方输入法通知操作系统将操作系统当前默认的输入法的界面大小设置为零,使操作系统当前默认的输入法的界面无法被显示在终端屏幕中,第三方输入法再通过悬浮窗的方式显示由第三方输入法提供的输入法界面(即悬浮键盘)。

但是,采用悬浮键盘输入方式,在多窗口模式(包括分屏模式、画中画模式等)下时,会出现点击悬浮键盘时误退出的情况。以分屏模式举例,如图2所示,在图示的分屏模式下,屏幕上方显示应用程序a的用户界面201,屏幕下方显示应用程序b的用户界面202,分割线203表示用户界面201和用户界面202之间在屏幕上的分割线。当前,应用程序a拥有焦点,悬浮键盘204跨越分割线203,即,悬浮键盘204一半在分割线203上,一半在分割线203下。当用户点击位于分割线203上方的悬浮键盘中的界面元素(如悬浮键盘204中字符qwert所在行中的字符键)时,第三方输入法可以正常响应用户的点击操作,但当用户点击位于分割线203下方的悬浮键盘中的界面元素(如悬浮键盘204中字符zxcv所在行中的字符键)时,第三方输入法将会退出,同时焦点将从屏幕上方的应用程序a切换到屏幕下方的应用程序b。甚至,当整个悬浮键盘都在分割线以下时,将导致输入法无法使用,即一旦点击悬浮键盘,输入法就会退出。

发生上述误退出的原因为:悬浮键盘不是操作系统认可的输入法界面区域,操作系统认可的输入法界面区域大小已被设置为零,同时,悬浮键盘也不属于当前焦点所在的应用的界面,因此当用户点击悬浮键盘上的界面元素,且点击位置不属于当前焦点所在的应用的界面区域时,操作系统认定用户点击的区域超出了当前焦点所在应用的合法区域,需要切换焦点到其它应用并关闭第三方输入法。

由此可见,悬浮键盘并不兼容智能操作系统的多窗口模式。因此,当前需要针对该问题提供一种解决方案来提高悬浮键盘的兼容性。



技术实现要素:

本申请实施例提供了一种悬浮键盘的输入操作作用区域确定方法及装置,用以提高悬浮键盘的兼容性。

第一方面,提供一种悬浮键盘的输入操作作用区域确定方法,该方法包括:确定使用悬浮键盘,获取所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息,并根据所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息,将所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定为所述悬浮键盘的区域和所述应用的界面区域的合并区域,并将所述合并区域作为对所述应用进行输入操作的作用区域。根据上述方法,在使用悬浮键盘进行输入的场景下,通过将悬浮键盘的区域和该悬浮键盘所关联的应用(即当前焦点所在的应用)的界面区域的并集,确定为这两个区域的合并区域,并将该合并区域作为对该应用进行输入操作的作用区域,这样,当用户使用悬浮键盘进行输入时,若用户在悬浮键盘上的点击位置不属于该应用的界面区域,但仍可认为在对该应用进行输入操作的作用区域内,因此可以正常响应该输入操作,与现有技术相比,避免了输入法误退的问题。

在一种可能的实现方式中,所述方法还包括:获取所述悬浮键盘的更新状态,并根据状态更新后的所述悬浮键盘的区域信息以及所述应用的界面区域信息,将状态更新后的所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定为状态更新后的所述悬浮键盘的区域和所述应用的界面区域的合并区域,并将状态更新后的所述悬浮键盘的区域和所述应用的界面区域的合并区域,作为对所述应用进行输入操作的作用区域。根据上述方法,当悬浮键盘的状态(比如位置和/或大小)更新时,可以通过重新计算合并区域,将更新后的合并区域作为对当前焦点所在应用进行输入操作的作用区域,使得当悬浮键盘的状态发生变化后,可以对当前焦点所在应用进行输入操作的作用区域进行及时更新,以保证能够正确响应用户基于悬浮键盘的输入操作。

在一种可能的实现方式中,所述方法还包括:获取所述应用的界面的更新状态,并根据所述悬浮键盘的区域信息以及状态更新后的所述应用的界面区域信息,将所述悬浮键盘的区域和状态更新后的所述应用的界面区域的并集,确定为所述悬浮键盘的区域和所述状态更新后的应用的界面区域的合并区域,并将所述悬浮键盘的区域和所述状态更新后的应用的界面区域的合并区域,作为对所述应用进行输入操作的作用区域。根据上述方法,当前焦点所在的应用的界面状态(比如位置和/或大小)更新时,可以通过重新计算合并区域,将更新后的合并区域作为对当前焦点所在应用进行输入操作的作用区域,使得在当前焦点所在的应用的界面状态发生变化后,可以对当前焦点所在应用进行输入操作的作用区域进行及时更新,以保证能够正确响应用户基于悬浮键盘的输入操作。

在一种可能的实现方式中,所述获取所述悬浮键盘的区域信息,包括:获取每个浮动类型窗口的状态信息,并根据每个浮动类型窗口的状态信息,确定每个浮动类型窗口所属的应用;根据每个浮动类型窗口中所有满足预设条件的窗口的区域,确定所述悬浮键盘的区域,所述悬浮键盘的区域为所有满足所述预设条件的浮动类型窗口区域的并集。所述预设条件为窗口所属的应用是操作系统的默认输入法对应的应用。其中,所述状态信息包含窗口所属的应用的指示信息。根据上述方法,可以实现根据窗口状态信息,确定悬浮键盘的区域。

在一种可能的实现方式中,所述确定使用悬浮键盘,包括:获取操作系统的输入法的界面高度;若所述操作系统的输入法的界面高度被设置为零,则确定使用悬浮键盘。根据上述方法,可以通过判断操作系统的输入法的界面高度是否被设置为零,来确定是否使用悬浮键盘。

第二方面,提供一种悬浮键盘的输入操作作用区域确定装置,该装置包括:第一确定模块,用于确定是否使用悬浮键盘;获取模块,用于在所述确定模块确定使用悬浮键盘的情况下,获取所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息;第二确定模块,用于根据所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息,将所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定为所述悬浮键盘的区域和所述应用的界面区域的合并区域,并将所述合并区域作为对所述应用进行输入操作的作用区域。

第三方面,提供一种终端,包括:处理器和存储器;所述处理器,用于读取所述存储器中的程序,执行上述第一方面中任一项所述的方法。

第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述第一方面中任一项所述的方法。

附图说明

图1为现有技术中采用固定键盘输入和采用悬浮键盘输入的示意图;

图2为现有技术中在分屏模式下使用悬浮键盘的示意图;

图3为本申请实施例提供的悬浮键盘的输入操作作用区域确定方法的流程示意图;

图4为本申请实施例提供的确定应用的界面区域的流程示意图;

图5a至图5e分别为本申请实施例提供的悬浮键盘与应用的界面区域合并后的示意图;

图6为本申请实施例提供的第三方输入法启动流程示意图;

图7为本申请实施例提供的系统架构示意图;

图8为本申请实施例提供的悬浮键盘的输入操作作用区域确定装置的结构示意图;

图9为本申请实施例提供的终端的结构示意图。

具体实施方式

针对背景技术部分提出的上述问题,本申请实施例提供了一种悬浮键盘的输入操作作用区域确定方法及装置。本申请实施例中,操作系统可将悬浮键盘的区域合并到与该悬浮键盘关联的应用的界面区域,即,将悬浮键盘的区域作为与其所关联的应用的合法区域(即输入操作的作用区域),这样,当用户点击悬浮键盘上的界面元素,但点击位置不属于当前焦点所在的应用的界面区域时,操作系统也能够认定用户点击的区域属于当前焦点所在应用的合法区域,因而用户的输入操作可以得到正确响应。

其中,当某个应用启动了悬浮键盘,则该应用可以称为该悬浮键盘的关联应用。举例来说,当用户在应用程序a的一个用户界面中点击该界面上的输入框后,弹出悬浮键盘,则该应用程序a即为该悬浮键盘的关联应用,应用程序a为当前焦点所在的应用。

其中,本申请实施例中涉及的“应用”,可以理解为应用程序或应用程序组件。以android系统为例,应用组件包括activity,是实现应用程序的主体,它承担了大量的显示和交互工作,一个应用程序通常包含多个activity。一个activity可提供一个独立的可视用户界面(userinterface,ui),用户可以通过activity所提供的ui完成某项任务。其中,一个activity所提供的ui中,可包含一个或多个窗口(window)。

下面结合附图对本申请进行详细描述。

参见图3,为本申请实施例提供的悬浮键盘的输入操作作用区域确定方法的流程示意图。

该流程可在终端侧实现。具体地,该流程可由终端实现,或者由终端中的相关装置实现。

该终端具有智能操作系统,比如android系统。该终端上还设置有第三方提供的悬浮键盘的输入法应用程序。举例来说,该终端可以是移动终端或pc(个人电脑)等设备,所述移动终端可以是手机、pda(personaldigitalassistant,掌上电脑)车载终端或智能穿戴设备等。

如图3所示,该流程可包括:

s301:确定是否使用悬浮键盘,若确定使用悬浮键盘,则执行s302,否则,执行s304。

该步骤中,可以在绘制窗口之前,根据操作系统的默认输入法的界面高度是否被设置为零,来确定是否使用悬浮键盘。比如,启动输入法后,需要进行窗口绘制,此时可获取操作系统的输入法的界面高度,若操作系统默认的输入法的界面高度被设置为零,则确定当前焦点所在的应用使用悬浮键盘进行信息输入。

以启动第三方输入法过程为例,在一些应用场景中,用户可预先通过用户设置界面设置使用悬浮键盘输入(即采用悬浮键盘模式)还是使用操作系统默认输入(即采用固定键盘模式),该设置信息可被保存为输入模式配置信息,存储于终端中。当需要启动输入法时,如果根据该输入模式配置信息,发现用户设置的输入模式为悬浮键盘模式,则第三方输入法被启动,第三输入法将操作系统默认的输入法的界面高度设置为零,即需要使用悬浮键盘,此后通过s302~s303计算对悬浮键盘所关联的应用进行输入操作的作用区域。通过设置操作系统默认的输入法界面高度为零,可以使得操作系统默认的输入法界面在终端屏幕上不可见。

可选地,在确定出使用悬浮键盘后,还可包含以下步骤:设置输入模式指示信息,设置后的输入方式指示信息用于指示使用悬浮键盘,即采用悬浮键盘输入模式。通过这种方式,当后续在该应用的运行过程中,需要重新绘制界面时,可直接通过读取该指示信息,并根据该指示信息的取值来判断当前焦点所在的应用是否采用悬浮键盘进行信息输入。

在一些实施例中,输入模式指示信息可以是布尔型参数,当取值为0(true)时,表示当前输入法是激活状态,当前可以进行文字输入,并且操作系统认为没有可用的输入键盘区域,即,当前为悬浮键盘输入模式;当取值为1(false)时,表示当前为固定键盘输入模式。

可选地,输入模式指示信息可以是属性,如定义名为sys.inputactive的systemproperies属性,若该属性的取值为true,则sys.inputactive=true,否则sys.inputactive=false。隐藏或关闭输入法时,该属性的属性值为false。

s302:获取悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息。

启动第三方输入法后,该第三方输入法的悬浮键盘的位置,可通过悬浮键盘显示策略来确定,比如可预先设定悬浮键盘的位置,或者与上一次启动该第三方输入法时悬浮键盘的位置相同。

考虑到悬浮键盘中可能包括多个窗口,则针对这种情况,本申请实施例中,可以根据所有属于悬浮键盘的窗口的区域,确定出该悬浮键盘的区域。具体地,可采用以下方法确定悬浮键盘的区域:

获取每个浮动类型窗口的状态信息,并根据每个浮动类型窗口的状态信息,确定每个浮动类型窗口所属的应用。其中,由于一个窗口的状态信息包含该窗口所属的应用的指示信息,因此可以根据浮动类型窗口的状态信息确定该浮动类型窗口所属的应用。然后,根据每个浮动类型窗口中所有满足预设条件的浮动类型窗口的区域,确定该悬浮键盘的区域,该预设条件为窗口所属的应用是操作系统的默认输入法对应的应用(操作系统的默认输入法对应的应用为当前被启动的第三方输入法,即悬浮键盘所属的输入法)。更具体地,可以将满足上述预设条件的所有浮动类型窗口的区域的并集,作为这些窗口所属的应用(即第三方输入法)的界面区域,也就是作为悬浮键盘的区域。

根据上述方法,图4示出了本申请实施例提供的一种确定悬浮键盘的区域的流程。

首先,需要判断当前是否采用悬浮键盘输入模式,具体可读取输入模式指示信息(输入模式指示信息的设置方法,可参见前述描述),根据输入模式指示信息的取值,判断当前是否采用悬浮键盘输入模式。若判定采用悬浮键盘输入模式,则如图4所示,可执行以下步骤:

s401:获取当前参与计算的窗口(window)。

s402:判断当前参与计算的窗口的类型是否为浮动窗类型,若是,则转入s403,否则转入s407。

该步骤中,若判定当前参与计算的窗口的类型为浮动窗类型,则表明该窗口有可能是悬浮键盘的窗口,需要进一步执行后续步骤来判断该窗口所属的应用是不是第三方输入法。

s403:根据当前参与计算的窗口的状态信息,确定该窗口所属的应用。

该步骤中,可获取当前参与计算的窗口的状态信息(windowstate信息),并从该windowstate信息中取出该窗口所属的应用包名。其中,windowstate信息为系统类信息,用来描述窗口的各种属性,一个窗口对应一个windowstate,windowstate信息中包含其所属应用的指示信息(比如应用包名)和窗口信息。

s404:获取操作系统默认的输入法对应的应用。操作系统默认的输入法与被启动的第三方输入法相对应。

该步骤中,可获取当前操作系统默认的输入法所对应的应用包名。本例子中,操作系统默认的输入法所对应的应用为当前焦点所在的应用,该应用也是悬浮键盘所关联的应用。

s405:将s403中确定的应用与s404中获取的应用进行比较,若两者相同,则转入s406,否则转入s407。

该步骤中,可将s404中获取到的应用包名与s403中获取的应用包名进行比较,若两者相同,则表明当前参与计算的窗口属于第三方输入法的界面(即悬浮键盘)。

s406:根据当前参与计算的窗口的区域,更新悬浮键盘的区域。

该步骤中,可将当前参与计算的窗口的区域,合并到悬浮键盘的区域中。

s407:判断是否还有未遍历到的窗口,若有,则返回s501,否则结束本流程。

通过上述流程,可根据所有浮动类型且属于第三方输入法的窗口的区域,计算得到该第三方输入法的悬浮键盘的区域,即,将这些窗口的区域的并集,确定为这些窗口所属应用的界面区域。

确定出悬浮键盘的区域信息后可将其进行保存,以便后续步骤使用。保存的格式可采用rect结构体的形式,如rect{100,200,300,500}表示悬浮键盘的区域为左上角位于坐标(100,200),宽为(300-100)=200,高为(500-200)=300。可以将悬浮键盘的区域信息保存为属性,如定义名为sys.inputrect的systemproperies属性,使用操作系统提供的setprop接口将悬浮键盘的区域信息写入到该属性,使得该属性的属性值为{100,200,300,500}。如果后续需要获取悬浮键盘的区域信息,则可以使用getprop接口读取systemproperies属性的属性值。

s303:根据悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息,将所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定为输入法悬浮键盘的区域和该应用的界面区域的合并区域,并将该合并区域作为对该应用进行输入操作的作用区域。

根据悬浮键盘和当前焦点所在的应用(即该悬浮键盘所关联的应用)的界面的相对位置,悬浮键盘的区域和该应用的界面区域的合并区域,可包括以下几种情况:

情况1:悬浮键盘的区域与该应用的界面区域重叠,比如,悬浮键盘位于该应用的界面的上层且悬浮键盘的区域完全落入该应用的界面区域内,则合并区域为该应用的界面区域。如图5a所示,当前焦点所在的应用的界面区域501与悬浮键盘的区域502重叠,则该应用的界面区域501和悬浮键盘的区域502的合并区域,为图中斜线填充范围内的区域。

需要说明的是,一般情况下,为了使输入的信息可见,用户不会将悬浮键盘完全遮挡当前焦点所在的应用的界面,即,悬浮键盘的区域不会完全覆盖该应用的界面区域。如果发生悬浮键盘完全遮挡焦点所在应用的情况,则合并区域为悬浮键盘的区域。

情况2:悬浮键盘的区域与该应用的界面区域分离,且没有重叠区域,则合并区域为悬浮键盘的区域与该应用的界面区域之和。如图5b所示,当前焦点所在的应用的界面区域501与悬浮键盘的区域502分离,则该应用的界面区域501和悬浮键盘的区域502的合并区域,为图中斜线填充范围内的区域。

情况3:悬浮键盘的区域与该应用的界面区域部分重叠,则合并区域为悬浮键盘的区域与该应用的界面区域的并集。如图5c所示,当前焦点所在的应用的界面区域501与悬浮键盘的区域502部分重叠,则该应用的界面区域501和悬浮键盘的区域502的合并区域,为图中斜线填充范围内的区域,即为这两个区域的并集。

s304:结束本流程,即不执行上述区域合并处理。

计算得到对当前焦点所在的应用进行输入操作的作用区域后,可进行窗口绘制等处理操作。本申请实施例对这些处理过程的具体实现方式不作限制。

为了更清楚地理解本申请实施例,下面基于图6,以android系统为例,描述第三方输入法启动流程,在该流程中,执行上述合并区域的处理操作。

如图6所示,该流程可包括:

s601:接收输入法启动请求。

在一些应用场景中,终端屏幕上当前显示有第一应用的界面,该界面上设置有文本输入框。当用户点击该文本输入框后,用户的这个操作被终端的操作系统捕获,生成输入法启动请求,并将该请求发送给终端中用于实现输入法启动的相关装置。其中,“第一应用”为当前焦点所在的应用。

需要说明的是,“第一应用”仅用来表示某一应用,并不特指某一特定应用或某一特定类型的应用。

s602:获取用户设置的输入模式配置信息,该输入模式配置信息用于指示使用第三方输入法的悬浮键盘还是使用系统默认输入法的固定键盘。

s603:根据输入模式配置信息,判断是否使用悬浮键盘,若是,则转入s604,否则,转入s608。

s604:启动第三方输入法,第三方输入法通知操作系统将默认输入法的界面(即固定键盘)的高度设置为零,即该悬浮键盘在终端屏幕上可见。用户可以拖动该悬浮键盘到任意位置。

s605:计算悬浮键盘与第一应用界面的合并区域。具体实现方式可参见上述图3所示的流程。

s606:调用操作系统提供的showcurrentinput接口启动输入法界面。通过调用该接口,来保证用户可以向目标输入区域(比如目标文本框)输入信息,并可以通过调用该接口,将输入法与第一应用的界面中的目标输入区域进行关联,保证输入的信息可以到指定输入区域,而不是其它输入区域。

s607:弹出浮动窗类型的界面模拟输入法,即弹出第三方输入法的悬浮键盘。该悬浮键盘的高度不为零。

s608:调用操作系统提供的showcurrentinput接口启动输入法界面。

s609:弹出操作系统默认的输入法的界面,即弹出操作系统默认的输入法的固定键盘。该固定键盘的高度不为零,即该固定键盘在终端屏幕上可见。

上述流程中,s608~s609为操作系统输入法框架下的规范流程,s602~s604以及s606~s607为第三方输入法为了实现悬浮效果而使用的流程,s605为本申请实施例提供的区域合并流程。

进一步地,当悬浮键盘被显示后,如果窗口状态发生变化,比如用户将悬浮键盘拖动到其他位置或改变悬浮键盘的大小,或者用户将当前焦点所在的应用的界面改变位置或改变该界面的大小,则会触发重新绘制窗口的过程。在重新绘制窗口之前,可按照上述流程,对该悬浮键盘当前所在的区域和该应用的界面当前所在的区域的合并区域进行重新计算。具体计算方法可与上述实施例描述的计算方法类似。

举例来说,在计算得到的合并区域如图5c所示的合并区域(图中斜线填充区域)的情况下,用户将悬浮键盘502移动到了新的位置,如图5d中的(1)所示。此种情况下,根据上述实施例描述的合并区域计算方法,可以得到如图5d中的(2)所示的合并区域(图中斜线填充的区域),该合并区域即为对当前焦点所在应用进行输入操作的作用区域。当用户使用悬浮键盘进行信息输入时,由于悬浮键盘的区域属于对当前焦点所在应用进行输入操作的作用区域,因此可以正常响应该输入操作。

再举例来说,在计算得到的合并区域如图5c所示的合并区域(图中斜线填充区域)的情况下,用户改变了当前焦点所在的应用的界面501的大小,如图5e中的(1)所示。此种情况下,根据上述实施例描述的合并区域计算方法,可以得到如图5e中的(2)所示的合并区域(图中斜线填充的区域),该合并区域即为对当前焦点所在应用进行输入操作的作用区域。当用户使用悬浮键盘进行信息输入时,由于悬浮键盘的区域属于对当前焦点所在应用进行输入操作的作用区域,因此可以正常响应该输入操作。

通过上述根据用户的拖动行为进行动态计算合并区域的过程,可以及时根据用户对悬浮键盘或当前焦点所在应用的界面的位置改变操作,调整合并区域的大小和位置,以便保证基于悬浮键盘进行输入操作的实现。

根据上述图3所示的流程,当用户点击悬浮键盘上的界面元素时,终端可接收作用于该悬浮键盘的区域的输入操作,并响应该输入操作。即使该输入操作的作用位置,在当前焦点所在的应用的界面区域之外,由于根据图3所示的流程,对该应用进行输入操作的作用区域已经设置为该应用的界面区域与悬浮键盘的区域的合并区域,因此该输入操作的作为位置在该应用的合法区域内,因此可以响应该输入操作,而不会出现输入法误退出的情况,也不会出现焦点切换的情况。

本申请实施例提供的上述基于浮动键盘的输入方法,可适用于各种场景,比如可适用于多窗口模式场景,也可适用于其他应用场景。尤其在多窗口模式场景下,通过悬浮键盘区域重新计算对相关联的应用进行输入操作的作用区域,将悬浮键盘的区域和该应用的界面区域进行合并,可以避免当用户点击悬浮键盘上的界面元素且该点击位置在相关联的应用的界面区域之外时,发生悬浮键盘误退以及焦点切换的问题,从而提高悬浮键盘的兼容性。

由于本申请实施例中,悬浮键盘的区域和应用的界面区域的合并区域是动态计算的(包括在输入法启动过程,以及输入法启动后的窗口状态更新过程),所以并不局限于某一种第三方输入法,只要是悬浮键盘类的第三方输入法都可以适用。

本申请实施例提供的输入操作作用区域确定功能,可通过终端操作系统中应用框架层内的软件模块实现。

图7示例性地示出了终端的操作系统架构,其中仅示出了与本申请实施例相关的组成部分。如图所示,在该操作系统的架构中,应用框架层中可包括“悬浮键盘的输入操作作用区域确定装置”,该装置具体可以表现为一种系统服务,可实现本申请实施例提供的主页面设置功能。应用框架层中还可包括输入管理服务(inputmanagerservice)、窗口管理服务(windowsmanagerservice)等系统服务。输入管理服务从下层的输入设备驱动(inputdevicedriver)读取基于用户操作生成的事件,进行处理。“悬浮键盘的输入操作作用区域确定装置”可按照上述实施例描述的方式进行输入操作作用区域的计算。

可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所申请的实施例描述的各示例的单元(器、器件)及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。

本申请实施例可以根据上述方法示例对终端进行功能单元(器、器件)的划分,例如,可以对应各个功能划分各个功能单元(器、器件),也可以将两个或两个以上的功能集成在一个处理单元(器、器件)中。上述集成的单元(器、器件)既可以采用硬件的形式实现,也可以采用软件功能单元(器、器件)的形式实现。需要说明的是,本申请实施例中对单元(器、器件)的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用集成的单元(器、器件)的情况下,图8示出了本申请实施例提供的一种悬浮键盘的输入装置的结构示意图。参阅图8所示,装置800包括:

第一确定模块801、获取模块802、第二确定模块803,可选地,还可包括设置模块804。

第一确定模块801用于确定是否使用悬浮键盘;获取模块802用于在所述确定模块确定使用悬浮键盘的情况下,获取所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息;第二确定模块803用于根据所述悬浮键盘的区域信息以及当前焦点所在的应用的界面区域信息,将所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定我所述悬浮键盘的区域和所述应用的界面区域的合并区域,并将所述合并区域作为对所述应用进行输入操作的作用区域。

可选地,获取模块802可进一步用于:获取所述悬浮键盘的更新状态。相应地,第二确定模块803可进一步用于:根据状态更新后的所述悬浮键盘的区域信息以及所述应用的界面区域信息,将状态更新后的所述悬浮键盘的区域和当前焦点所在的应用的界面区域的并集,确定为所述状态更新后的所述悬浮键盘的区域和所述应用的界面区域的合并区域,并将状态更新后的所述悬浮键盘的区域和所述应用的界面区域的合并区域,作为对所述应用进行输入操作的作用区域。

可选地,获取模块802可进一步用于:获取所述应用的界面的状态位置。相应地,第二确定模块803可进一步用于:根据所述悬浮键盘的区域信息以及状态更新后的所述应用的界面区域信息,将所述悬浮键盘的区域和状态更新后的所述应用的界面区域的并集,确定为所述悬浮键盘的区域和所述状态更新后的应用的界面区域的合并区域,并将所述悬浮键盘的区域和所述状态更新后的应用的界面区域的合并区域,作为对所述应用进行输入操作的作用区域。

可选地,获取模块802可具体用于:获取每个浮动类型窗口的状态信息,并根据每个浮动类型窗口的状态信息,确定每个浮动类型窗口所属的应用;根据每个浮动类型窗口中所有满足以下条件的窗口的区域,确定所述悬浮键盘的区域:该浮动类型窗口所属的应用是操作系统的默认输入法对应的应用。其中,所述浮动键盘的区域为所有满足所述条件的浮动类型窗口区域的并集,一个窗口的状态信息包含该窗口所属的应用的指示信息。

可选地,第一确定模块801可具体用于:获取操作系统的输入法的界面高度;若所述操作系统的输入法的界面高度被设置为零,则确定使用悬浮键盘。

图9示出了本申请实施例提供的终端900的结构示意图,即示出了装置800的另一结构示意图。参阅图9所示,终端900包括处理器901、存储器902。其中,处理器901也可以为控制器。所述处理器901被配置为支持终端执行图3、图4、图6中涉及的功能。终端900还可以包括显示器903。存储器902用于与处理器901耦合,其保存终端必要的程序指令和数据。其中,处理器901、存储器902和显示器903相连,该存储器902用于存储指令,该处理器901用于执行该存储器902存储的指令,以控制显示器903进行显示,完成上述方法中终端执行相应功能的步骤。

本申请实施例中,装置800和终端900所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。

需要说明的是,本申请实施例上述涉及的处理器可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。其中,所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。

本申请实施例还提供一种计算机存储介质,用于存储一些指令,这些指令被执行时,可以完成前述终端所涉及的任意一种方法。

本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述方法实施例中涉及的方法。

本申请实施例提供了一种芯片,该芯片包括处理器,用于支持终端实现前述终端所涉及的功能。在一种可能的设计中,所述芯片还包括存储器,所述存储器,用于保存终端必要的程序指令和数据。

本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1