1.本技术涉及信息处理技术领域,尤其涉及一种控制方法以及装置。
背景技术:2.在用户使用电子设备执行数据输入操作时,用户通常需要先通过一次触控或按键操作选中可编辑区域,再通过第二次触控或按键操作才能执行数据输入操作,这样的数据输入方式不够简洁。
技术实现要素:3.基于以上问题,本技术实施例提供了一种控制方法以及装置。
4.本技术实施例提供的技术方案是这样的:
5.本技术实施例提供了一种控制方法,所述方法包括:
6.获取到一触控操作;
7.若所述触控操作的位置信息表示所述触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,控制所述可编辑区域切换至聚焦状态;
8.基于所述触控操作的位置信息在所述轨迹输入区域跟踪所述触控操作,得到所述触控操作的轨迹信息;
9.识别所述轨迹信息,得到识别结果;
10.传输所述识别结果至所述可编辑区域,以供所述可编辑区域显示所述识别结果。
11.本技术实施例还提供了一种控制装置,包括:
12.获取模块,用于获取到一触控操作;
13.控制模块,用于若所述触控操作的位置信息表示所述触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,控制所述可编辑区域切换至聚焦状态;
14.跟踪识别模块,用于基于所述触控操作的位置信息在所述轨迹输入区域跟踪所述触控操作,得到所述触控操作的轨迹信息;识别所述轨迹信息,得到识别结果;
15.传输模块,用于传输所述识别结果至所述可编辑区域,以供所述可编辑区域显示所述识别结果。
16.本技术实施例还提供了一种电子设备,包括处理器和存储器;所述存储器中存储有计算机程序;所述计算机程序被所述处理器执行时能够实现如前任一所述的控制方法。
17.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被电子设备的处理器执行时,能够实现如前任一所述的控制方法。
18.由以上可知,本技术实施例提供的控制方法,在检测到针对显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域的触控操作的情况下,就直接控制可编辑区域从非聚焦状态切换至聚焦状态,并跟踪触控操作的轨迹信息且进一步识别轨迹信息得到识别结果,从而通过一次触控操作不仅能够将显示窗口中的可编辑区域切换至聚焦状态,而且
能够跟踪触控操作的轨迹信息并识别轨迹信息,简化了数据输入的流程,提高了数据输入的效率,解决了相关技术中对电子设备的可编辑区域执行数据输入操作时需要两步操作而导致的数据输入效率低下的技术问题。
附图说明
19.图1为本技术实施例提供的控制方法的流程示意图;
20.图2为本技术实施例提供的控制可编辑区域切换至聚焦状态的流程示意图;
21.图3为本技术实施例提供的得到触控操作的轨迹信息的流程示意图;
22.图4为本技术实施例提供的得到触控操作的轨迹信息的另一流程示意图;
23.图5为本技术实施例提供的控制方法的另一流程示意图;
24.图6为本技术实施例提供的控制装置的结构示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
26.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.本技术涉及信息技术领域,尤其涉及一种控制方法以及装置。
28.对于一些提供了人机交互机制且能够接收用户输入数据的电子设备,若用户想要通过电子设备的显示区域输入数据至电子设备,通常需要用户首先在电子设备显示的可编辑区域中执行一次触控或按键操作,使显示区域切换至聚焦状态,再通过第二次触控或按键操作后可编辑区域才能接收用户的输入数据。这样的数据输入方式不够简洁,且效率低下。
29.基于以上问题,本技术实施例提供了一种控制方法以及装置。
30.本技术实施例提供的控制方法,可以通过电子设备的处理器实现。需要说明的是,电子设备的处理器,可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程逻辑门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。
31.示例性的,上述电子设备,可以包括具备人机交互机制且能够接收、跟踪并识别用户执行的触控操作的设备;示例性的,上述电子设备可以为计算机设备;示例性的,上述电子设备还可以为移动智能终端,比如智能手机或平板电子设备等,本技术实施例对此不作限定。
32.示例性的,电子设备可以通过显示装置的触控检测功能检测用户的触控操作。
33.图1为本技术实施例提供的控制方法的流程示意图。如图1所示,该方法可以包括步骤101至步骤105:
34.步骤101、获取到一触控操作。
35.在一种实施方式中,触控操作,可以是针对电子设备的显示区域的滑动或点击操作;示例性的,触控操作可以是用户手动输入至电子设备的显示区域的;示例性的,用户可
以手部触控电子设备的显示区域以触发触控操作,还可以通过输入装置比如手写笔触控电子设备的显示区域以触发触控操作。
36.步骤102、若触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,控制可编辑区域切换至聚焦状态。
37.相应的,若触控操作的位置信息表示触控操作位于显示窗口中除去可编辑区域对应的轨迹输入区域之外的其它区域,则可以不控制可编辑区域切换至聚焦状态。
38.在一种实施方式中,触控操作的位置信息,可以包括触控操作的执行位置相对于显示区域的指定点的相对位置;示例性的,显示区域的指定点,可以包括显示屏幕的至少一个角点,也可以包括显示屏幕的几何中心点;示例性的,触控操作的位置信息,可以以二维坐标的形式体现。
39.在一种实施方式中,显示窗口,可以包括电子设备的显示屏幕中处于前端显示状态的任一窗口,也就是说,显示窗口可以为电子设备中显示的多个窗口中任意一个用户可操作的窗口。
40.在一种实施方式中,显示窗口可以包括至少一个可编辑区域;示例性的,可编辑区域可以包括能够提供编辑功能的区域;示例性的,编辑功能包括文本编辑/输入以及图形编辑等;示例性的,图形编辑可以包括图形绘制以及图形修改等针对图形和/或图像的编辑操作。
41.在一种实施方式中,可编辑区域可以包括能够显示用户的编辑结果的区域,比如记事本应用程序的文本编辑框。
42.在一种实施方式中,电子设备可以通过系统辅助功能服务(accessibility service),持续收集电子设备创建和/或显示的任一窗口比如显示窗口的窗口节点控件参数,并根据窗口节点控件参数确定任一窗口比如显示窗口是否包含可编辑区域、以及可编辑区域的位置信息等;示例性的,电子设备的上述收集操作,可以是动态执行的,比如在用户使用电子设备的过程中,根据窗口的创建和/或显示的顺序动态的收集窗口的窗口节点控件参数。
43.在一种实施方式中,轨迹输入区域可以为可编辑区域,此时,可编辑区域可以为能够显示用户的编辑轨迹的区域,比如画图应用程序中的图形绘制区域。
44.在一种实施方式中,轨迹输入区域可以是与可编辑区域不同的区域,此时,轨迹输入区域可以与可编辑区域关联;示例性的,轨迹输入区域可以位于或包括可编辑区域的周边区域;示例性的,若可编辑区域为搜索控件所在的区域,则轨迹输入区域可以位于或包括与搜索控件相邻的区域;示例性的,电子设备还可以在用户编辑的过程中获取用户的编辑习惯,并根据用户的编辑习惯在显示窗口中创建与可编辑区域关联的轨迹输入区域。
45.在一种实施方式中,电子设备可以获取显示窗口中可编辑区域的状态参数,从而确定可编辑区域是否处于非聚焦状态。
46.在一种实施方式中,电子设备可以获取轨迹输入区域的位置信息,并将触控操作的位置信息与轨迹输入区域的位置信息进行比较,以确定触控操作的位置区域是否位于轨迹输入区域,即触控操作是否针对可编辑区域。
47.在一种实施方式中,控制可编辑区域切换至聚焦状态,可以通过将输入装置的图标显示在可编辑区域中的形式体现;比如在输入装置为输入笔的情况下,输入装置的图标
可以为光标,此时可以将输入笔的光标以闪烁的形式显示在可编辑区域中,以提示用户可编辑区域切换至聚焦状态。
48.步骤103、基于触控操作的位置信息在轨迹输入区域跟踪触控操作,得到触控操作的轨迹信息。
49.在一种实施方式中,触控操作的轨迹信息,可以为直线、曲线以及点等任一形状;示例性的,触控操作的轨迹信息,可以包括直线、曲线以及点中的至少两种的任意组合形状,本技术实施例对此不作限定。
50.在一种实施方式中,基于触控操作的位置信息在轨迹输入区域跟踪触控操作,得到触控操作的轨迹信息,可以是通过以下方式实现的:
51.将触控操作的位置信息对应的位置作为触控操作的起点位置,在轨迹输入区域中持续跟踪触控操作,在触控操作切换为按键释放操作比如key_up事件时,根据起点位置以及持续跟踪触控操作得到的触控轨迹,得到触控操作的轨迹信息。
52.步骤104、识别轨迹信息,得到识别结果。
53.在一种实施方式中,识别结果可以与轨迹信息对应的轨迹图形一致,比如,在可编辑区域为图形绘制区域的情况下,识别轨迹信息得到的识别结果,可以是用户绘制的图形。
54.在一种实施方式中,识别结果可以与轨迹信息对应的轨迹图形不一致;示例性的,在可编辑区域为文本编辑区域的情况下,轨迹信息可以包括用户输入的第一类型的文本轨迹,此时对第一类型的文本轨迹进行识别得到的识别结果可以为第二类型的文本轨迹;其中,第一类型例如可以为草书;第二类型可以为可编辑区域预先设定的或优选的数据显示形式,比如第二类型可以为楷书。
55.步骤105、传输识别结果至可编辑区域,以供可编辑区域显示识别结果。
56.在一种实施方式中,由于可编辑区域处于聚焦状态,且触控操作为针对可编辑区域的轨迹输入区域,因此,电子设备可以将接收识别结果的目标区域设置为显示窗口的可编辑区域,再可以通过电子设备的操作系统(operating system,os)提供的消息传输机制,将识别结果传输至可编辑区域;可编辑区域在接收到识别结果之后,可以在可编辑区域中显示识别结果。
57.在一种实施方式中,可编辑区域在接收到识别结果之后,可以根据识别结果的数据量大小以及可编辑区域设置的显示参数,对识别结果进行处理,以改善识别结果的显示效果,比如在识别结果为文本数据且文本数据的数据量超过数据量阈值的情况下,可编辑区域可以根据显示参数调整文本数据,从而实现对文本数据的多行显示。
58.由以上可知,本技术实施例提供的控制方法中,在获取到触控操作、且触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域的情况下,能够控制可编辑区域切换至聚焦状态,并基于触控操作的位置信息在轨迹输入区域中跟踪触控操作得到触控操作的轨迹信息,然后识别轨迹信息得到识别结果并传输识别结果至可编辑区域进行显示。
59.如此,本技术实施例提供的控制方法,在检测到针对显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域的触控操作的情况下,就直接控制可编辑区域从非聚焦状态切换至聚焦状态,并跟踪触控操作的轨迹信息且进一步识别轨迹信息得到识别结果,从而通过一次触控操作不仅能够将显示窗口中的可编辑区域切换至聚焦状态,而且能够跟
踪触控操作的轨迹信息并识别轨迹信息,简化了数据输入的流程,提高了数据输入的效率,解决了相关技术中对电子设备的可编辑区域执行数据输入操作时需要两步操作而导致的数据输入效率低下的技术问题。
60.基于前述实施例,在本技术实施例提供的控制方法中,若触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,控制可编辑区域切换至聚焦状态,可以通过图2所示的流程实现,图2为本技术实施例提供的控制可编辑区域切换至聚焦状态的流程示意图,如图2所示,该流程可以包括步骤1021至步骤1022:
61.步骤1021、若触控操作的位置信息表示触控操作位于轨迹输入区域,基于触控操作的位置信息,创建关联至可编辑区域的按键事件以及按键释放事件。
62.相应的,若触控操作的位置信息表示触控操作并不位于轨迹输入区域,则不需要创建关联至可编辑区域的按键事件以及按键释放事件。
63.在一种实施方式中,关联至可编辑区域的按键事件以及按键释放事件,可以是电子设备的os中与按键操作相关的标准事件;示例性的,上述按键事件,可以是电子设备在确定触控操作的位置信息位于轨迹输入区域的情况下,根据触控操作的位置信息创建的;示例性的,上述按键事件,可以为key_down事件;示例性的,上述按键释放事件,可以为key_up事件。
64.在一种实施方式中,关联至可编辑区域的按键事件,可以是由触控操作本身触发创建的,也就是说,关联至可编辑区域的按键事件,是电子设备检测到触控操作的情况下,自行触发电子设备的窗口消息处理机制创建的。
65.在一种实施方式中,关联至可编辑区域的按键释放事件,可以表示在电子设备检测到触控操作并且触控操作并未切换至按键释放状态的情况下,电子设备模拟的、与触控操作对应的、针对轨迹输入区域的按键释放事件;如此,电子设备根据触控操作的位置信息创建的关联至可编辑区域的按键事件、以及电子设备模拟的关联至可编辑区域的按键释放事件,就可以组成电子设备的os所能够识别的将可编辑区域从非聚焦状态切换至聚焦状态的标准触发事件。
66.步骤1022、基于关联至可编辑区域的按键事件以及按键释放事件,控制可编辑区域切换至聚焦状态。
67.在一种实施方式中,电子设备的os中的窗口消息处理机制,在确定触控操作的位置信息位于轨迹输入区域中且可编辑区域处于非聚焦状态的情况下,根据触控操作的位置信息生成的按键事件、以及模拟得到的按键释放事件,就能够自行触发可编辑区域从非聚焦状态切换至聚焦状态,也就是说,通过关联至可编辑区域的按键事件以及按键释放事件,创造了可编辑区域聚焦状态切换的条件。
68.由以上可知,在本技术实施例提供的控制方法中,电子设备在确定触控操作的位置信息位于轨迹输入区域且可编辑区域处于非聚焦状态的情况下,能够创建关联至可编辑区域的按键事件以及按键释放事件,从而通过一次触控操作对应的按键事件、以及模拟得到的与触控操作对应的按键释放事件,就能够快速创造控制可编辑区域聚焦状态切换的条件;并且,由于关联至可编辑区域的按键事件以及按键释放事件,属于电子设备的os中控制可编辑区域聚焦状态切换的标准条件,因此,还能充分利用电子设备的os中的聚焦状态切
换条件,提高了对可编辑区域聚焦状态切换控制的精准度以及稳定性。
69.在本技术实施例提供的控制方法中,目标窗口可以通过以下方式创建:
70.若触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,创建目标窗口。
71.其中,目标窗口至少覆盖轨迹输入区域。
72.相应的,若触控操作的位置信息表示触控操作不位于轨迹输入区域、或者显示窗口中的可编辑区域已经处于聚焦状态,那么可以不创建目标窗口。
73.在一种实施方式中,目标窗口可以仅覆盖轨迹输入区域;示例性的,目标窗口还可以覆盖轨迹输入区域以及可编辑区域;示例性的,目标窗口还可以覆盖显示窗口的整体窗口区域。
74.在一种实施方式中,在显示窗口中的可编辑区域处于非聚焦状态、且触控操作的位置信息表示触控操作位于可编辑区域对应的轨迹输入区域的情况下,则可以通过电子设备的窗口管理机制创建目标窗口。
75.在一种实施方式中,若显示窗口中包括至少一个可编辑区域、且任一可编辑区域处于非聚焦状态,那么可以创建仅覆盖处于非聚焦状态的可编辑区域的目标窗口。
76.由以上可知,本技术实施例提供的控制方法中,在显示窗口中的可编辑区域处于非聚焦状态、且触控操作的位置信息位于可编辑区域对应的轨迹输入区域的情况下,能够创建至少覆盖估计输入区域的目标窗口。
77.如此,一方面,根据显示窗口中可编辑区域的实际状态创建目标窗口,从而实现了目标窗口的按需创建,能够降低电子设备的内存消耗;另一方面,由于目标窗口至少覆盖轨迹输入区域,且目标窗口的透明度大于或等于透明度阈值,从而能够削弱目标窗口对轨迹输入区域的影响程度。
78.在本技术实施例提供的控制方法中,目标窗口还可以通过以下方式创建:
79.在电子设备的os启动完成之后,创建目标窗口。
80.其中,目标窗口覆盖电子设备的显示装置的显示区域。
81.在一种实施方式中,电子设备的显示装置可以为显示屏;电子设备的显示装置的显示区域,可以包括显示屏的整体数据输出区域。
82.在一种实施方式中,在电子设备的os启动完成、且电子设备的窗口管理机制就绪的情况下,可以触发电子设备的窗口管理机制创建目标窗口,并将目标窗口设置为顶层显示状态。
83.在一种实施方式中,在电子设备创建任意数量的窗口的情况下,目标窗口可以均处于顶层显示状态。如此,在显示窗口包括处于非聚焦状态的可编辑区域、且触控操作的位置信息位于与可编辑区域对应的轨迹输入区域的情况下,都可以快速的从处于顶层显示状态的目标窗口中确定目标区域,从而为触控操作的轨迹信息的实时跟踪奠定基础。
84.由以上可知,在本技术实施例提供的控制方法中,在电子设备os启动完成之后,就创建了处于顶层显示状态、且覆盖电子设备的显示装置的显示区域的目标窗口。如此,在任一显示窗口包括处于非聚焦状态的可编辑区域、且触控操作的位置信息位于与可编辑区域对应的轨迹输入区域的情况下,都能够实时的从目标窗口中确定与轨迹输入区域对应的目标区域,从而提高了跟踪触控操作的轨迹信息的效率。
85.基于前述实施例,本技术实施例提供的控制方法中,创建目标窗口,可以通过以下方式实现:
86.通过目标输入法创建目标窗口。
87.其中,目标输入法与电子设备中设置的默认输入法不同。
88.在一种实施方式中,默认输入法可以是电子设备中预先设置的、优先级较高的输入法。
89.在一种实施方式中,在检测到触控操作的轨迹信息确定之后,可以通过目标输入法创建目标窗口。
90.在一种实施方式中,在电子设备的os启动完成、且电子设备的窗口处理机制就绪之后,可以通过目标输入法创建目标窗口。
91.在一种实施方式中,在电子设备的os启动完成之后,可以控制目标输入法切换至就绪状态,在电子设备的窗口处理机制就绪之后、或检测到触控操作的轨迹信息确定之后,通过目标输入法就可以创建目标窗口。
92.在一种实施方式中,目标输入法可以是电子设备中预先设置的应用程序,示例性的,目标输入法可以电子设备中设置的系统应用程序;示例性的,目标输入法可以是用户安装的用户应用程序;示例性的,电子设备的os可以检测电子设备中是否设置有目标输入法,若设置有目标输入法,则可以通过目标输入法创建目标窗口。
93.由以上可知,在本技术实施例提供的控制方法中,用于跟踪触控操作的轨迹信息的目标窗口,是通过目标输入法创建的,如此,提供了目标窗口的特定创建方式,那么,通过控制目标输入法,就能够实现目标窗口创建的灵活控制。
94.基于前述实施例,本技术实施例提供的控制方法中,基于触控操作的位置信息在轨迹输入区域跟踪触控操作,得到触控操作的轨迹信息,可以通过图3所示的流程是体现,图3为本技术实施例提供的得到触控操作的轨迹信息的流程示意图,如图3所示,该流程可以包括步骤1031至步骤1033:
95.步骤1031、获取轨迹输入区域的位置信息;
96.在一种实施方式中,轨迹输入区域的位置信息,可以是通过对显示窗口中窗口元素的属性参数的参数值进行分析得到的;示例性的,轨迹输入区域的位置信息,可以包括轨迹输入区域的边缘的位置信息。
97.步骤1032、基于轨迹输入区域的位置信息,从处于顶层显示状态的目标窗口中确定与轨迹输入区域对应的目标区域。
98.其中,目标窗口的透明度大于或等于透明度阈值。
99.在一种实施方式中,目标窗口的z-order,可以是电子设备当前显示的所有窗口的z-order中的最高值,此时目标窗口可以处于顶层显示状态。
100.在一种实施方式中,目标窗口可以是完全透明的状态,如此,目标窗口可以不遮挡电子设备的显示区域显示的数据;示例性的,目标窗口可以是半透明的状态,比如目标窗口可以以用户设定的透明度和/或颜色显示,如此一方面降低目标窗口遮挡电子设备的显示区域显示的数据的概率,另一方面还能实现目标窗口参数的个性化设置和灵活调整控制。
101.在一种实施方式中,基于轨迹输入区域的位置信息,从处于顶层显示状态的目标窗口中确定与轨迹输入区域对应的目标区域,可以是通过以下任一方式实现的:
102.在处于顶层显示状态的目标窗口完全覆盖电子设备的显示窗口的情况下,可以基于轨迹输入窗口的位置信息,从目标窗口中确定与轨迹输入区域对应的目标区域的位置信息,此时的目标区域的位置信息可以与轨迹输入区域的位置信息完全一致。
103.若处于顶层显示状态的目标窗口并未完全覆盖显示窗口,可以调整目标窗口的显示区域,比如移动目标窗口直至其能覆盖显示窗口,或者扩大目标窗口的区域,直至其能覆盖显示窗口,然后从目标窗口中确定位置信息与轨迹输入区域的位置信息一致的目标区域。
104.步骤1033、在目标区域中基于触控操作的位置信息跟踪触控操作,得到触控操作的轨迹信息。
105.在一种实施方式中,在目标区域确定之后,电子设备可以将触控操作的位置信息从轨迹输入区域传输至目标区域,并以触控操作的位置信息为起始点,在目标区域中检测并跟踪触控操作,从而得到触控操作的轨迹信息。
106.在一种实施方式中,在得到触控操作的轨迹信息之后,还可以在目标区域中显示触控操作的轨迹信息。
107.在一种实施方式中,在得到触控操作的轨迹信息之后,可以将触控操作的轨迹信息传输至轨迹输入区域,并在轨迹输入区域中显示触控操作的轨迹信息,由于目标窗口的透明度大于或等于透明度阈值,因此,轨迹输入区域的触控操作的轨迹信息并不会被目标区域或目标窗口遮挡。
108.由以上可知,本技术实施例提供的控制方法,在获取轨迹输入区域的位置信息之后,能够基于轨迹输入区域的位置信息,从处于顶层显示状态的目标窗口中确定与轨迹输入区域对应的目标区域,并在目标区域中基于触控操作的位置信息跟踪触控操作,从而得到触控操作的轨迹信息。由此,本技术实施例提供的控制方法,通过目标窗口中与轨迹输入区域对应的目标区域,实现了通过处于顶层显示状态的目标窗口对触控操作的轨迹信息的拦截获取,从而为触控操作的轨迹信息的识别提供了便利条件。
109.基于前述实施例,本技术实施例提供的控制方法中,在目标区域中基于触控操作的位置信息跟踪触控操作,得到触控操作的轨迹信息,可以通过图4所示的流程实现,图4为本技术实施例提供的得到触控操作的轨迹信息的另一流程示意图。如图4所示,该流程可以包括步骤10331至步骤10334:
110.步骤10331、基于触控操作的位置信息,创建关联至目标窗口的按键事件。
111.在一种实施方式中,电子设备可以将触控操作的位置信息传输至目标窗口;示例性的,电子设备还可以将触控操作的位置信息添加至关联至目标窗口的按键事件。
112.在一种实施方式中,关联至目标窗口的按键事件,可以将触控操作绑定至目标窗口,如此,在轨迹输入区域或目标区域中,触控操作的位置信息发生变化的情况下,触控操作的位置信息可以实时的传输至目标窗口的目标区域。
113.在一种实施方式中,基于触控操作的位置信息,创建关联至目标窗口的按键事件的操作,可以是通过电子设备的窗口处理机制以及消息处理机制实现的。
114.在一种实施方式中,电子设备执行的创建关联至目标窗口的按键事件,是在触控操作并未切换至按键释放状态的情况下,通过电子设备中的窗口消息处理机制模拟创建的,也就是说,本技术实施例中,关联至目标窗口的按键事件,并不需要依据触控操作的二
次按键触发,因此,在本技术实施例提供的控制方法中,电子设备在不需要依赖触控操作的二次按键触发的情况下,通过软件模拟触控操作的按键事件,就能够将当前触控操作关联至目标窗口。
115.在一种实施方式中,关联至目标窗口的按键事件,可以是电子设备的窗口管理机制中的标准按键事件,比如key_down事件。
116.步骤10332、在目标区域中跟踪触控操作的位置移动信息。
117.示例性的,通过基于触控操作的位置信息,创建关联至目标窗口的按键事件,电子设备可以将触控操作绑定至目标窗口,当触控操作位置信息在目标区域中移动时,通过电子设备的窗口管理机制以及消息传输机制,就可以在目标区域中跟踪触控操作的位置移动信息。
118.在一种实施方式中,触控操作的位置移动信息,可以包括触控操作在移动过程中的快慢、触控操作在移动过程中与目标区域接触面积的大小、触控操作在移动过程中是否停留以及触控操作的停留时间等。
119.步骤10333、若检测到触控操作切换为按键释放状态,创建关联至目标窗口的按键释放事件。
120.在一种实施方式中,若电子设备在目标区域中无法检测到触控操作,则电子设备确定检测到触控操作切换为按键释放事件;示例性的,电子设备在目标区域中无法检测到触控操作,可以包括触控操作切换至按键释放状态比如用户的手指抬起或输入笔抬起的状态;示例性的,电子设备在目标区域中无法检测到触控操作,还可以包括触控操作从目标区域切换至目标窗口的其它区域。
121.在一种实施方式中,关联至目标窗口的按键释放事件,可以是电子设备中的标准按键释放事件比如key_up事件。
122.在一种实施方式中,关联至目标窗口的按键释放事件,可以是由于目标区域中触控操作的抬起而触发的key_up事件,还可以是由于触控操作离开目标区域而触发电子设备模拟的key_up事件,也就是说,关联至目标窗口的按键释放事件,并不是由电子设备的模拟创建的,而是由触控操作触发电子设备创建的。
123.在一种实施方式中,关联至目标窗口的按键释放事件中还可以包括触控操作离开目标区域的位置信息。
124.步骤10334、基于关联至目标窗口的按键事件、位置移动信息以及关联至目标窗口的按键释放事件,得到轨迹信息。
125.在一种实施方式中,关联至目标窗口的按键事件中可以携带有触控操作的按键类型以及触控操作的位置信息;位置移动信息可以包括触控操作在目标区域中的移动路线信息;关联至目标窗口的按键释放事件可以包括触控操作结束的位置信息。如此,将触控操作在目标区域的位置信息、触控操作在目标区域中的移动路线或移动形状信息、以及触控操作离开目标区域的位置信息进行整合就可以得到触控操作的轨迹信息。
126.由以上可知,本技术实施例提供的控制方法,基于触控操作的位置信息创建关联至目标窗口的按键事件,并在目标区域中跟踪触控操作的位置移动信息,若检测到触控操作切换为按键释放操作,则创建关联至目标窗口的按键释放事件,然后再基于关联至目标窗口的按键事件、位置移动信息以及关联至目标窗口的按键释放事件,就构成了电子设备
的窗口消息管理机制中完整的触控操作检测跟踪流程。如此,基于触控操作的位置信息模拟创建关联至目标窗口的按键事件、基于触控操作的实际切换状态创建关联至目标窗口的按键释放事件、以及触控操作在目标区域中的位置移动信息,就构成了电子设备的窗口消息处理机制中轨迹跟踪的完整要素,从而在充分借助电子设备的窗口消息处理机制的基础上,借助于电子设备模拟的按键事件以及由触控操作实际触发的按键释放事件,就能够在目标区域中实现对触控操作的轨迹信息的精确跟踪。
127.基于前述实施例,本技术实施例提供的控制方法中,识别轨迹信息,得到识别结果,可以是通过以下方式实现的:
128.控制电子设备的输入法从默认输入法切换至目标输入法;通过目标输入法识别轨迹信息,得到识别结果。
129.在一种实施方式中,电子设备可以在检测到触控操作的位置信息表示触控操作位于轨迹输入区域、且轨迹输入区域关联的可编辑区域处于非聚焦状态的情况下,就控制电子设备的输入法从默认输入法切换至目标输入法;相应的,若触控操作的位置信息表示触控操作切换至显示窗口中除去轨迹输入区域之外的其它区域,则可以控制电子设备的输入法从目标输入法切换至默认输入法。
130.在一种实施方式中,电子设备可以在获取到触控操作的轨迹信息之后,控制电子设备的输入法从默认输入法切换至目标输入法。
131.在一种实施方式中,目标输入法可以对触控操作的轨迹信息中的位置移动信息所包含的移动方向信息、以及触控操作的轨迹信息中的路线信息进行识别,从而得到识别结果。
132.在一种实施方式中,目标输入法可以结合可编辑区域和/或轨迹输入区域的属性参数对轨迹信息进行识别;示例性的,若可编辑区域和/或轨迹输入区域为文本输入区域,则目标输入法可以将触控操作的轨迹信息识别为文本数据,此时的识别结果为文本数据;示例性的,若可编辑区域和/或轨迹输入区域为图形输入区域,则目标输入法可以保存记录触控操作的轨迹信息,并基于可编辑区域的面积和/或形状对触控操作的轨迹信息进行识别和调整,此时的识别结果,可以包括识别和调整之后的触控操作的轨迹信息。
133.相应的,传输识别结果至可编辑区域,可以是通过以下方式实现的:
134.通过目标输入法传输识别结果至可编辑区域。
135.在一种实施方式中,目标输入法可以将目标窗口关联至显示窗口,那么,在得到与触控操作的轨迹信息对应的识别结果的情况下,目标输入法可以基于目标窗口的确定显示窗口,并根据触控操作的轨迹信息确定其所对应的可编辑区域,然后将识别结果传输至显示窗口中的可编辑区域。
136.由以上可知,本技术实施例提供的控制方法中,控制电子设备的输入法从默认输入法切换至创建目标窗口的目标输入法之后,能够通过目标输入法识别轨迹信息得到识别结果,再通过目标输入法传输识别结果至可编辑区域。如此,由于目标输入法与目标窗口关联,因此,通过目标输入法识别轨迹信息不仅能够提高对从目标窗口中获取的轨迹信息识别的针对性,而且,还能挺高识别结果传输至可编辑区域的效率。
137.基于前述实施例,本技术实施例提供的控制方法,还可以包括以下步骤:
138.若触控操作的位置信息表示触控操作位于显示窗口中除去轨迹输入区域之外的
区域,通过显示窗口中与触控操作的位置信息对应的控件响应触控操作。
139.在一种实施方式中,显示窗口中除去轨迹输入区域之外的区域,可以包括显示窗口中用于加载控件或用于数据展示的区域,比如显示窗口中用于显示菜单控件的区域以及只读数据的展示区域等;示例性的,只读数据可以包括图片数据以及文本数据等,本技术实施例对此不作限定。
140.在一种实施方式中,显示窗口中与触控操作的位置信息对应的控件,可以包括在检测到触控操作时、显示窗口在触控操作的位置处加载的任一类型的控件;示例性的,上述控件可以包括button控件、列表框(listbox)、以及滚动条等。本技术实施例对此不作限定。
141.在一种实施方式中,显示窗口中与触控操作的位置信息对应的控件,可以基于电子设备中设置的消息传输机制以及窗口处理机制,对触控操作进行响应。
142.由以上可知,本技术实施例提供的控制方法,若触控操作的位置信息表示触控操作位于显示窗口中除去轨迹输入区域之外的区域,则通过显示窗口中与触控操作的位置信息对应的控件响应触控操作。如此,实现了根据触控操作的位置信息对触控操作的不同的处理方式,从而实现了对触控操作的针对性的处理。
143.基于前述实施例,本技术实施例还提供了另一种控制方法,图5为本技术实施例提供的控制方法的另一流程示意图,需要说明的是,在图5中,电子设备可以为移动智能手机或平板电子设备等,如图5所示,该方法可以包括步骤501至步骤512:
144.步骤501、显示窗口切换至前端显示状态。
145.示例性的,显示窗口切换至前端显示状态,可以包括电子设备创建显示窗口的操作完成之后,直接控制显示窗口切换至前端显示状态,还可以是电子设备控制显示窗口从隐藏状态切换至前端显示状态。
146.步骤502、检测到触控操作。
147.示例性的,触控操作可以是用户通过输入装置比如手写笔输入的,也可以是用户手指触发的。
148.示例性的,在检测到触控操作之后,电子设备可以获取触控操作的位置信息。
149.步骤503、判断显示窗口是否包括可编辑区域。
150.示例性的,电子设备可以获取显示窗口中各个窗口元素的属性参数,并基于属性参数判断显示窗口中是否包含可编辑区域;示例性的,显示窗口中可以包含至少一个可编辑区域。
151.示例性的,电子设备在任一窗口创建完成之后,可以通过系统辅助功能服务(accessibilityservice),根据该窗口与其它窗口之间的关联关系,收集上述任一窗口、以及与该窗口关联的其它窗口中是否包含可编辑区域;示例性的,在得到一系列的可编辑区域的参数信息之后,可以将可编辑区域的参数信息添加到可编辑区域的参数集合中。
152.示例性的,若显示窗口中不包括可编辑区域,则可以执行步骤504;若显示窗口中包括可编辑区域,则可以执行步骤505。
153.步骤504、通过显示窗口中与触控操作的位置信息对应的控件响应触控操作。
154.示例性的,上述控件可以包括button控件、列表框(listbox)、以及滚动条等。
155.步骤505、判断触控操作是否位于处于非聚焦状态的可编辑区域对应的轨迹输入区域。
156.示例性的,电子设备可以基于触控操作的位置信息、与可编辑区域对应的轨迹输入区域的轮廓信息,确定触控操作是否位于可编辑区域对应的轨迹输入区域。
157.示例性的,若可编辑区域处于非聚焦状态、且触控操作位于与可编辑区域对应的轨迹输入区域,则可以执行步骤506。
158.示例性的,若触控操作未位于可编辑区域对应的轨迹输入区域或可编辑区域处于聚焦状态,则可以执行步骤504。
159.步骤506、通过system_server切换输入法,并检测触控操作的位置移动信息。
160.示例性的,通过system_server切换输入法,可以是通过system_server中的输入法管理服务(inputmethod manager service,imms)实现的;示例性的,imms可以从电子设备的默认输入法切换至目标输入法,并执行步骤507。
161.示例性的,system_server可以持续检测触控操作的位置移动信息,并检测触控操作是否切换为按键释放状态。
162.步骤507、启动目标输入法。
163.示例性的,若目标输入法处于未启动状态,则可以启动目标输入法;若目标输入法处于暂停运行状态,则可以将目标输入法切换至运行状态,并执行步骤508。
164.步骤508、创建目标窗口。
165.示例性的,目标窗口可以是目标输入法创建的;示例性的,目标窗口的透明度可以大于或等于透明度阈值;示例性的,目标窗口可以至少覆盖显示窗口中与可编辑区域对应的轨迹输入区域;示例性的,目标窗口可以处于顶层显示状态。
166.示例性的,在本技术实施例中,目标窗口还可以是在电子设备的os启动之后,电子设备中的窗口处理机制就绪之后,就通过目标输入法创建的。
167.在目标窗口创建完成之后,可以执行步骤509。
168.步骤509、通过inputflinger创建关联至可编辑区域的按键事件以及按键释放事件、以及关联至目标窗口的按键事件,并分发上述各个事件。
169.示例性的,inputflinger可以依次创建关联至可编辑区域的按键事件以及按键释放事件、和关联至目标窗口的按键事件。
170.示例性的,在电子设备检测到触控操作、且确定触控操作位于可编辑区域对应的轨迹输入区域的情况下,电子设备可以基于轨迹输入区域的位置信息,从目标窗口中确定与轨迹输入区域对应的目标区域。
171.示例性的,在触控操作位于可编辑区域对应的轨迹输入区域的情况下,触控操作会触发电子设备创建关联至可编辑区域对应的按键事件。
172.示例性的,关联至可编辑区域的按键释放事件,可以是电子设备并未检测到触控操作切换至按键释放状态的情况下,通过软件模拟创建的,如此,通过关联至可编辑区域的按键事件以及按键释放事件,就可以构建改变可编辑区域的聚集状态的条件,并将于该条件将可编辑区域从非聚焦状态切换至聚焦状态。
173.示例性的,电子设备中的reader可以新建notifymotionargs对象,并将notifymotionargs对象的类型设置为key_up,结合触控操作触发的按键事件即key_down事件,从而将可编辑区域从非聚焦状态切换至聚焦状态。
174.示例性的,在触控操作并未结束的情况下,电子设备再新建notifymotionargs对
象,并将notifymotionargs对象设置为key_down,即关联至目标窗口的按键事件,然后通过inputlistener将该对象发送至dispatcher,以供dispatcher对该对象进行分发。
175.示例性的,在dispatcher分发类型为key_down的notifymotionargs对象的过程中,检测到该对象的接收窗口为目标窗口,则将该对象分发至目标窗口,并执行步骤510。
176.步骤510、在目标窗口中跟踪触控操作的轨迹信息。
177.示例性的,由于在目标窗口中已经确定了与轨迹输入区域对应的目标区域,因此,可以在目标区域中跟踪触控操作的轨迹信息。
178.示例性的,在检测到触控操作切换至按键释放状态的情况下,可以在目标窗口中得到触控操作的轨迹信息;示例性的,在目标窗口中得到触控操作的轨迹信息之后,还可以将触控操作的轨迹信息传输至目标输入法,并执行步骤511。
179.步骤511、通过目标输入法得到识别结果,传输识别结果至可编辑区域。
180.示例性的,目标输入法可以对触控操作的轨迹信息进行识别,从而得到识别结果。
181.示例性的,目标输入法传输识别结果至可编辑区域,可以是通过电子设备的os提供的标准消息传输机制实现的。
182.步骤512、在可编辑区域中显示识别结果。
183.示例性的,电子设备可以根据可编辑区域的数据显示参数对识别结果的显示格式进行调整,从而改善识别结果的显示效果。
184.由以上可知,本技术实施例提供的控制方法,在不需要依赖两次触控操作的情况下,通过电子设备模拟的关联至可编辑区域的按键释放事件结合由于触控操作触发的按键事件,就能够直接将可编辑区域切换至聚焦状态,并且,通过电子设备模拟的关联至目标窗口的按键事件,以及触控操作切换至按键释放状态触发的按键释放事件,就能够实现触控操作的轨迹信息在目标窗口中的精细跟踪,与此同时是,通过目标输入法对触控操作的轨迹信息的识别得到识别结果之后,目标输入法还能借助于电子设备的窗口消息传输机制将识别结果传输至可编辑区域,从而能够根据单一的触控操作将可编辑区域切换至聚焦状态、并获得触控操作的识别结果,进而简化了电子设备的输入流程,改善了电子设备的数据输入效率。
185.基于前述实施例,本技术实施例还提供了一种控制装置6,图6为本技术实施例提供的控制装置6的结构示意图,如图6所示,该装置可以包括:
186.获取模块601,用于获取到一触控操作。
187.控制模块601,用于若触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,控制可编辑区域切换至聚焦状态。
188.跟踪识别模块603,用于基于触控操作的位置信息在轨迹输入区域跟踪触控操作,得到触控操作的轨迹信息,识别轨迹信息,得到识别结果。
189.传输模块604,用于传输识别结果至可编辑区域,以供可编辑区域显示识别结果。
190.在一些实施方式中,控制模块602,用于若触控操作的位置信息表示触控操作位于轨迹输入区域,基于触控操作的位置信息,创建关联至可编辑区域的按键事件以及按键释放事件;基于关联至可编辑区域的按键事件以及按键释放事件,控制可编辑区域切换至聚焦状态。
191.在一些实施方式中,跟踪识别模块603,用于获取轨迹输入区域的位置信息;基于
轨迹输入区域的位置信息,从处于顶层显示状态的目标窗口中确定与轨迹输入区域对应的目标区域;在目标区域中基于触控操作的位置信息跟踪触控操作,得到触控操作的轨迹信息;其中,目标窗口的透明度大于或等于透明度阈值。
192.在一些实施方式中,跟踪识别模块603,用于基于触控操作的位置信息,创建关联至目标窗口的按键事件;在目标区域中跟踪触控操作的位置移动信息;若检测到触控操作切换为按键释放状态,创建关联至目标窗口的按键释放事件;基于关联至目标窗口的按键事件、位置移动信息以及关联至目标窗口的按键释放事件,得到轨迹信息。
193.在一些实施方式中,控制模块602,用于若触控操作的位置信息表示触控操作位于显示窗口中处于非聚焦状态的可编辑区域对应的轨迹输入区域,创建目标窗口;其中,目标窗口至少覆盖轨迹输入区域。
194.在一些实施方式中,控制模块602,用于在电子设备的os启动完成之后,创建目标窗口;其中,目标窗口覆盖电子设备的显示装置的显示区域。
195.在一些实施方式中,控制模块602,用于通过目标输入法创建目标窗口;其中,目标输入法与电子设备中设置的默认输入法不同。
196.在一些实施方式中,控制模块602,用于控制电子设备的输入法从默认输入法切换至目标输入法;通过目标输入法识别轨迹信息,得到识别结果;
197.传输模块604,用于通过目标输入法传输识别结果至可编辑区域。
198.在一些实施方式中,跟踪识别模块603,用于若触控操作的位置信息表示触控操作位于显示窗口中除去轨迹输入区域之外的区域,通过显示窗口中与触控操作的位置信息对应的控件响应触控操作。
199.基于前述实施例,本技术实施例还提供了一种电子设备,该电子设备包括处理器和存储器,其中,存储器中存储有计算机程序,该计算机程序被电子设备的处理器执行时,能够实现如前任一所述的控制方法。
200.需要说明的是,上述处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
201.上述存储器,可以是易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),flash memory,硬盘驱动器(hard disk drive,hdd)或固态硬盘(solid state disk,ssd);或者上述种类的存储器的组合,并向处理器提供指令和数据。
202.示例性的,上述获取模块601、控制模块602、跟踪识别模块603以及传输模块604,可以通过电子设备的处理器实现。
203.基于前述实施例,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被电子设备的处理器执行时,能够实现如前任一所述的控制方法。
204.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
205.本技术所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
206.本技术所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
207.本技术所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
208.需要说明的是,上述计算机可读存储介质可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
209.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
210.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
211.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件节点的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所描述的方法。
212.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的发热模块以产生一个机器,使得通过计算机或其他可编程数据处理设备的发热模块执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
213.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
214.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
215.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。