CN117631939A - 一种触控输入的方法、系统、电子设备及存储介质 - Google Patents
一种触控输入的方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117631939A CN117631939A CN202211009728.1A CN202211009728A CN117631939A CN 117631939 A CN117631939 A CN 117631939A CN 202211009728 A CN202211009728 A CN 202211009728A CN 117631939 A CN117631939 A CN 117631939A
- Authority
- CN
- China
- Prior art keywords
- touch
- operating system
- window
- application
- event
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000011022 operating instruction Methods 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims description 84
- 238000006073 displacement reaction Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 41
- 238000012795 verification Methods 0.000 claims description 41
- 238000001514 detection method Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 2
- 230000001976 improved effect Effects 0.000 abstract description 21
- 230000008093 supporting effect Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 92
- 239000010410 layer Substances 0.000 description 52
- 238000004891 communication Methods 0.000 description 44
- 230000006854 communication Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 34
- 238000012545 processing Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 20
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
- G06F3/04886—Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
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)
- User Interface Of Digital Computer (AREA)
Abstract
本申请适用于设备控制技术领域,提供了一种触控输入的方法、系统、电子设备及存储介质,该方法包括:所述第一操作系统接收用户对预设应用的触控操作;所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统;所述第二操作系统生成所述触控事件对应的操作指令;所述第二操作系统通过所述预设应用执行所述操作指令。本申请提供的技术方案能够生成支持跨系统运行的预设应用识别的操作指令,提高了跨系统操作的一致性,从而提高了对于操作系统内的应用生态的扩展,满足了用户的使用需求。
Description
技术领域
本申请属于设备控制技术领域,尤其涉及一种触控输入的方法、系统、电子设备及存储介质。
背景技术
随着设备技术的不断发展,移动终端的功能越来越强大,除了能够运行适用于移动端的应用程序,还能够通过运行其他操作系统的模拟器,通过模拟器运行适用于其他操作系统的应用程序,以实现跨系统的应用操作。
然而现有的设备控制技术,虽然能够在某一操作系统内通过模拟器的方式运行基于其他操作系统搭建的应用程序,例如在智能手机配置有运行Linux的容器,通过该容器以运行基于Linux系统搭建的应用程序,但由于不同的操作系统内配置的模块不一致,从而导致了用户对不同操作系统的操作方式存在差异,原本用户在智能设备上能够执行的触控操作无法被通过容器方式运行的另一操作系统识别,即通过跨系统运行部分应用程序时,存在操作方式不通用的情况,从而降低了用户的使用体验。
发明内容
本申请实施例提供了一种触控输入的方法、系统、电子设备以及计算机可读存储介质,可以解决现有的设备控制技术,通过跨系统运行部分应用程序时,存在操作方式不通用的情况,从而降低了用户的使用体验的问题。
第一方面,本申请实施例提供了一种触控输入的方法,所述方法应用于电子设备,所述电子设备同时搭载有第一操作系统以及第二操作系统,所述第一操作系统与所述第二操作系统不同;所述方法包括:
所述第一操作系统接收用户对预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统;
所述第二操作系统生成所述触控事件对应的操作指令;
所述第二操作系统通过所述预设应用执行所述操作指令。
以上可以看出,本申请实施例提供的一种触控输入的方法可以通过在第一操作系统中运行跨操作系统的预设应用,在用户在第一操作系统发起对于预设应用的触控操作时,可以通过第一操作系统的第一触控模块生成对应的触控事件,并传输第二操作系统,通过第二操作系统中的第二触控模块对触控事件进行转换,生成能够被第二操作系统识别的操作指令,从而运行于第二操作系统内的预设应用执行操作指令生成与之对应的响应结果,实现了对跨系统间的触控操作的互通。与现有的设备控制技术相比,本申请实施例中通过在不同的操作系统内配置对应的触控模块,通过触控模块对触控操作进行跨系统的转换,从而能够生成支持跨系统运行的预设应用识别的操作指令,提高了跨系统操作的一致性,从而提高了对于操作系统内的应用生态的扩展,满足了用户的使用需求。
在第一方面的一种可能的实现方式中,所述第一操作系统以及所述第二操作系统为以下任一一种操作系统:安卓操作系统、鸿蒙操作系统、Linux操作系统或windows操作系统。
在第一方面的一种可能的实现方式中,所述触控操作为边缘手势类型的触控操作、多触点类型的触控操作或对于所述预设应用中任一区域进行点击的第三触控操作。
在第一方面的一种可能的实现方式中,所述触控操作为边缘手势类型的第一触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
第一操作系统确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型。
在第一方面的一种可能的实现方式中,所述窗口类型为父窗口类型或子窗口类型,操作类型为关闭窗口、退出应用或进行应用管理。
在第一方面的一种可能的实现方式中,所述触控操作为多触点类型的第二触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
所述第一操作系统生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二操作系统;所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间;
所述通过所述第一触控模块将所述触控事件发送给运行有所述第二操作系统的容器内的第二触控模块,并通过所述第二触控模块生成所述触控事件对应的操作指令,包括:
所述第二操作系统对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
在第一方面的一种可能的实现方式中,所述第一操作系统生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二触控模块,包括:
所述第一操作系统监听所述用户发起的触控操作;
所述第一操作系统若识别得到所述触控操作为第二触控操作,则对所述第二触控操作进行合法校验;
所述第一操作系统若识别得到所述第二触控操作通过所述合法校验,则生成所述多点触控事件,并将所述多点触控事件发送给所述第二操作系统。
在第一方面的一种可能的实现方式中,所述第二操作系统对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令,包括:
所述第二操作系统对所述多点触控事件进行完整校验;
所述第二操作系统若识别到所述多点触控事件通过完整校验,则对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在第二操作系统中对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口;
所述第二操作系统根据所述第二触控坐标生成所述第二操作指令。
在第一方面的一种可能的实现方式中,所述第二操作系统根据所述第二触控坐标生成所述第二操作指令,包括:
所述第二操作系统确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
在第一方面的一种可能的实现方式中,所述触控操作包括对于预设应用中任一区域进行点击的第三触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
所述第一操作系统生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标;
所述第二操作系统生成所述触控事件对应的操作指令,包括:
所述第二操作系统识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令;
在所述第二操作系统生成所述触控事件对应的操作指令之后,还包括:
所述第一操作系统接收所述第二操作系统反馈的关于所述第三触控坐标对应的所述区域类型;
所述第一操作系统在检测到所述区域类型为可编辑区域类型时,开启软键盘。
在第一方面的一种可能的实现方式中,在所述第一操作系统接收所述第二操作系统反馈的关于所述第三触控坐标对应的所述区域类型之后,还包括:
所述第一操作系统在检测到所述区域类型为非编辑区域类型时,不开启所述软键盘。
在第一方面的一种可能的实现方式中,所述第一操作系统生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统,包括:
所述第一操作系统监听所述用户发起的所述触控操作;
所述第一操作系统若识别得到所述触控操作为第三触控操作,则对所述第三触控操作进行合法校验;
所述第一操作系统若识别得到所述第三触控操作通过所述合法校验,则生成点击识别事件;
所述第一操作系统响应于所述点击识别事件,识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二操作系统。
在第一方面的一种可能的实现方式中,所述第二操作系统识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令,包括:
所述第二操作系统接收所述第一操作系统发送的光标位移事件,并将所述第二操作系统内的虚拟光标更新至所述第三触控坐标;
所述第二操作系统识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型。
在第一方面的一种可能的实现方式中,在所述第一操作系统接收用户对预设应用的触控操作,还包括:
所述第一操作系统接收用户对于所述预设应用的启动操作;
所述第一操作系统通过安装于所述第一操作系统中的代理应用向所述第二操作系统发起应用启动指令;所述应用启动指令携带有所述预设应用的应用标识;
所述第二操作系统响应于所述应用启动指令,运行所述预设应用,并将所述预设应用的操作界面反馈给所述第一操作系统内的所述代理应用;
所述第一操作系统通过所述代理应用生成所述操作界面。
第二方面,本申请实施例提供了一种触控输入的系统,所述触控输入的系统包含第一操作系统以及第二操作系统;所述第一操作系统与所述第二操作系统不同;
所述第一操作系统包括:
触控操作接收模块,用于接收用户对所述第一操作系统中的预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
第一触控模块,用于响应于触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统内的第二触控模块;
所述第二操作系统包括:
所述第二触控模块,用于生成所述触控事件对应的操作指令;
操作指令执行单元,用于通过所述预设应用执行所述操作指令。
在第二方面的一种可能实现方式中,所述触控操作为边缘手势类型的触控操作、多触点类型的触控操作或对于所述预设应用中任一区域进行点击的第三触控操作。
在第二方面的一种可能实现方式中,所述第一操作系统以及所述第二操作系统为以下任一一种操作系统:安卓操作系统、鸿蒙操作系统、Linux操作系统或windows操作系统。
在第二方面的一种可能实现方式中,所述触控操作为边缘手势类型的第一触控操作;
所述第一触控模块具体用于:确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型;
所述第二触控模块还包括窗口管理单元;
所述窗口管理单元,用于生成对于所述目标窗口的第一操作指令。
在第二方面的一种可能实现方式中,所述窗口类型为父窗口类型或子窗口类型,操作类型为关闭窗口、退出应用或进行应用管理。
在第二方面的一种可能实现方式中,所述第一触控模块还包括:触控管理单元以及触控窗口管理单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在识别得到所述触控操作为第一触控操作时,将所述第一触控操作发送给所述触控窗口管理单元;
所述触控窗口管理单元,用于建立所述预设应用中各个操作窗口的级联关系;
所述触控窗口管理单元,还用于根据所述第一触控操作确定所述目标窗口的窗口类型。
在第二方面的一种可能实现方式中,所述触控操作为多触点类型的第二触控操作;
所述第一触控模块具体用于:生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二操作系统中的所述第二触控模块;所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间;
所述第二触控模块具体用于:对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
在第二方面的一种可能实现方式中,所述第一触控模块包括:触控管理单元、触控事件转换单元;
所述触控管理单元,用于监听所述用户发起的触控操作,并在检测到所述触控操作为所述第二触控操作时将所述第二触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第二触控操作进行合法校验;
所述触控事件转换单元,还用于若识别得到所述第二触控操作通过所述合法校验,则生成所述多点触控事件,并将所述多点触控事件发送给所述第二操作系统中的所述第二触控模块。
在第二方面的一种可能实现方式中,所述第二触控模块包括:多点触控管理单元以及触控窗口转换单元;
所述多点触控管理单元,用于对所述多点触控事件进行完整校验,并在识别到所述多点触控事件通过完整校验时,将所述多点触控事件发送给所述触控窗口转换单元;
所述触控窗口转换单元,用于对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在第二操作系统中对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口;
所述触控窗口转换单元,还用于根据所述第二触控坐标生成所述第二操作指令。
在第二方面的一种可能实现方式中,所述控窗口转换单元还用于:
确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
在第二方面的一种可能实现方式中,所述触控操作为对于预设应用中任一区域进行点击的第三触控操作;
所述第一触控模块具体用于:生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统中的所述第二触控模块;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标;
所述第二触控模块具体用于:识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令;
所述第二触控模块还用于:将所述区域类型发送给所述第一操作系统中的所述第一触控模块;
所述第一触控模块还用于:在检测到所述区域类型为可编辑区域类型时,开启软键盘。
在第二方面的一种可能实现方式中,所述第一触控模块还用于:在检测到所述区域类型为非编辑区域类型时,不开启所述软键盘。
在第二方面的一种可能实现方式中,所述第一触控模块包括:触控管理单元、触控事件转换单元以及输入触控检测单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在检测到所述触控操作为第三触控操作时,将所述第三触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第三触控操作进行合法校验,并在检测到所述第三触控操作通过所述合法校验时,向所述输入触控检测单元发送基于所述第三触控操作生成的点击识别事件;
所述输入触控检测单元,用于响应于所述点击识别事件,识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二操作系统中的所述第二触控模块。
在第二方面的一种可能实现方式中,所述第一触控模块还包括:输入状态识别单元;
所述输入触控检测单元还用于:向所述第一触控模块内的输入状态识别单元发送点击手势信息,以使所述输入状态识别单元进入监听所述第二触控模块反馈所述区域类型的等待状态;
所述输入状态识别单元,用于接收所述第二触控模块反馈的所述区域类型,并在检测到所述区域类型为可编辑区域类型时,开启所述软键盘。
在第二方面的一种可能实现方式中,所述第二触控模块包括:点击输入子单元以及光标分类单元;
所述点击输入子单元,用于接收所述第一操作系统的所述第一触控模块发送的所述光标位移事件,并将所述第二操作系统内的虚拟光标更新至所述第三触控坐标;
所述光标分类单元,用于识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型;
所述光标分类单元,还用于将所述区域类型发送给所述第一操作系统内的所述第一触控模块。
在第二方面的一种可能实现方式中,所述第一操作系统包括:启动操作接收单元、应用启动单元以及界面显示单元;所述第二操作系统包括:界面反馈单元;
启动操作接收单元,用于接收用户在所述第一操作系统中发起对于所述预设应用的启动操作;
应用启动单元,用于通过安装于所述第一操作系统中的代理应用向所述第二操作系统发起应用启动指令;所述应用启动指令携带有所述预设应用的应用标识;
界面反馈单元,用于响应所述应用启动指令,在所述第二操作系统内运行所述预设应用,并将所述预设应用的操作界面反馈给所述代理应用;
界面显示单元,用于通过所述代理应用在所述第一操作系统内生成所述操作界面。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述触控输入的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任一项所述触控输入的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述触控输入的方法。
第六方面,本申请实施例提供一种芯片系统,包括处理器,处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如第一方面中任一项所述触控输入的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的电子设备的结构示意图;
图2是本申请实施例的电子设备的软件结构框图;
图3是现有的安卓系统与Linux系统间可传输的触控操作的示意图;
图4是本申请一实施例提供的智能平板的结构示意图;
图5是本申请一实施例提供的智能平板的桌面应用的示意图;
图6是本申请一实施例提供的跨系统的数据传输的示意图;
图7是本申请一实施例提供的触控输入的方法的实现流程图;
图8是本申请一实施例提供的运行预设应用的具体实现流程图;
图9是本申请一实施例提供的操作界面的示意图;
图10是本申请实施例提供的不同触控操作的示意图;
图11是本申请一实施例提供的对于不同类型的触控操作转换为操作指令的数据流图;
图12是本申请一实施例对于边缘手势类型的触控输入的方法的实现流程图;
图13是本申请一实施例提供的多种边缘手势的示意图;
图14是本申请提供的不同窗口类型对于同一边缘手势的响应对比图;
图15是本申请一实施例对于多触点类型的触控输入的方法的实现流程图;
图16是本申请一实施例提供的多触点类型的触控操作的示意图;
图17是本申请一实施例提供的取消响应多触点操作的示意图;
图18是本申请一实施例对于预设应用中任一区域进行点击的触控输入的方法的实现流程图;
图19是本申请一实施例提供的光标样式的示意图;
图20是本申请一实施例提供的软键盘开启的示意图;
图21是本申请一实施例提供的软键盘关闭的示意图;
图22是本申请实施例提供的触控输入的装置的结构框图;
图23是本申请一实施例提供的电子设备的结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的触控输入的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,特别地,该触控输入的方法可以应用于具有触控功能的平板电脑上,本申请实施例对电子设备的具体类型不作任何限制。
例如,所述电子设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、电脑、膝上型计算机、手持式通信设备、手持式计算设备、和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(PublicLand Mobile Network,PLMN)网络中的移动终端等。
图1示出了电子设备100的一种结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。其中,上述显示屏194具体可以显示生成的检测报告,以便用户可以通过显示屏194查看检测报告。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。显示屏194可包括触控面板以及其他输入设备。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,脸部识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。特别地,上述扬声器170A可以用于输出提示信息,用于通知用户需要与电子秤接触的部位。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194,例如电子设备可以通过压力传感器180A获取用户的体重。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备的一种软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)的系统层,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,日历,地图,WLAN,蓝牙,音乐,视频,短信息、邮箱、微信、WPS等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统层可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
随着设备技术的不断发展,移动终端(如智能手机、智能平板等可随身携带的电子设备)的功能越来越强大,能够运行的应用类型也随之增加,用户可以在智能终端上安装不同的应用以满足日常生活以及工作过程中多方面的需求,例如在智能手机上安装修图软件,对图库里的图像进行美化以及拼接等处理,又例如在智能手机上对拍摄到的视频进行剪辑、添加背景音乐等,以满足随时随地编辑短视频的需求。然而,伴随着用户对于应用需求的不断增加,并且用户对于应用需求也朝着专业化以及复杂化的方向发展,如今基于移动终端开发的应用程序已经无法满足用户的使用需求,用户需要使用专业化程度较高的任务时,往往需要借助计算机电脑,例如在对以数字底片(RAW)格式封装的图像进行美化编辑时,则需要借助Lightroom应用进行处理,而Lightroom应用的图像编辑功能只开发了计算机电脑端,并没有适用于移动终端的应用程序,导致了用户无法在移动终端上完成对于RAW图像的编辑,大大增加了用户的操作难度。由此可见,基于移动终端的计算机电脑应用生态需快速完善,以满足现今用户对于应用的使用需求。
虽然,可以通过为不同的电脑应用开发适用于移动终端的应用程序,以实现对上述应用生态进行扩展,但由于涉及的应用较多,且基于计算机电脑的应用功能较为复杂,因此采用上述方式需要耗费的工作量较大,若应用程序的开发商不开发适用于移动终端的应用,则会导致用户迟迟无法在移动终端上使用某一类型的应用。现有的解决方案是在移动终端上运行其他操作系统的模拟器,通过模拟器运行已在其他操作系统上开发的应用程序,从而无需重新针对移动终端开发对应的应用程序。
举例性地,移动终端的操作系统可以为安卓系统,在该情况下,可以在移动终端上通过模拟器运行Linux系统,以实现对移动终端的应用生态的扩展。鉴于当前Linux系统上已经有相对完善的计算机电脑的应用生态,且由于Linux操作系统与移动终端的操作系统(如安卓系统)均是基于容器结构搭建的,为在安卓系统上无差别的兼容运行Linux应用程序提供了实现的可能性。然而,由于Linux系统的模块与移动终端上的模块不一致,从而导致用户在对Linux系统进行操作方式(以键鼠为主)与在安卓系统上的操作方式(以触控为主)存在一定的差异,具体地,Linux系统主要以键鼠操作为主,触控操作为辅,而移动终端上主要以触控操作为主,以软键盘操作为辅,因此,移动终端上的部分触控操作对于Linux系统而言是无效的(即并不存在对应的触控手势),从而导致了用户在移动终端上运行基于Linux系统搭建的应用程序时,大量的触控操作无法被Linux系统识别,从而降低了用户的操作效率,需要重新适应Linux系统的操作习惯,大大增加了基于Linux系统搭建的应用程序所需的学习成本。
示例性地,图3示出了现有的安卓系统与Linux系统间可传输的触控操作的示意图。参见图3所示,移动终端上运行有安卓系统,该安卓系统内可以发起不同类型的触控操作,如对某一显示对象进行选择的点击选择操作、针对移动终端显示屏幕边缘发起的手势操作又或者在点击可编辑区域时自动唤起软键盘的文本输入操作等,而现有的在安卓系统内运行Linux系统的模拟技术,无法识别安卓系统内的触控操作。当然,在安卓系统上运行windows系统时同样也存在上述触控操作无法被识别的问题。
由此可见,跨系统间的触控操作存在传输壁垒,触控操作无法映射至另一操作系统内,即在原生的操作系统内原本能够被识别的触控操作无法被模拟运行的另一操作系统识别,降低了在进行跨系统的应用操作时的准确性以及灵活性,继而降低了用户的操作效率,用户的使用体验较差。
实施例一:
因此,为了解决现有的设备控制技术,对跨系统运行的应用程序进行操作时,在原本操作系统内能够被识别的触控操作无法被基于另一操作系统搭建的应用程序识别,从而用户的操作效率较低,用户使用体验较差的问题,本申请提供了一种触控输入的方法,该触控输入的方法的执行主体以一电子设备,该电子设备包括但不限于:智能手机、平板电脑、智能手表、计算机电脑、手提电脑等能够接收用户发起的触控操作的电子设备。为了便于描述,以下实施例中上述电子设备以智能平板为例进行说明,若该电子设备为智能手机或其他电子设备,实现方式与智能平板的实现方式完全相同,可以参考智能平板的具体实现过程。
该智能平板配置有触控屏,能够通过触控屏接收用户发起的触控操作,并通过内置的第一触控模块实现对于接收到的触控操作的转换以及传输,以使基于另一操作系统搭建的预设应用进行识别并执行对应的响应操作。
示例性地,图4示出了本申请一实施例提供的智能平板的结构示意图。参见图4所示,该实施例提供的智能平板至少包含以下层级:应用层、应用框架层、系统层、硬件抽象层、内核层以及物理层。
上述应用层具体用于运行各个应用程序,包括系统内置的应用程序(如系统设置)以及自定义安装的应用程序。其中,上述应用层内包含一代理应用,该代理应用用于实现第一操作系统(即智能平板的原生操作系统)与第二操作系统(即模拟运行的另一操作系统)间的数据交互,例如基于第二操作系统搭建的预设应用可以通过上述代理应用进行传输,上述跨系统间的应用数据传输过程具体包括:通过支持可显示的X11协议的应用以及wayland协议的应用,将窗口、显示数据等相关信息通过第二操作系统(如Linux系统)内的显示模块处理后,显示数据传输给上述代理应用,然后通过代理应用调用第一操作系统(如安卓系统)内的应用框架层内的相关模块完成显示,从而能够在第一操作系统内生成跨系统应用的应用窗口以及显示窗口内图像的能力。
该代理应用具体负责对跨系统运行的应用程序的界面显示、窗口管理以及应用启动等相关功能,具体包含以下模块:主执行模块、应用执行模块、服务模块。其中,主执行模块负责生成桌面内基于跨系统的应用程序的桌面图标,如Linux的桌面图标。示例性地,图5示出了本申请一实施例提供的智能平板的桌面应用的示意图。参见图5所示,该智能平板的桌面内显示有所有可以执行的应用程序,如图库应用51、备忘录应用52等,还显示有基于其他操作系统搭建的应用程序,如文档编辑应用53,该文档编辑应用53的图标生成即可以是通过上述代理应用内的主执行模块生成的。可选地,为了区分跨系统应用与基于原本操作系统的应用,在上述跨系统应用的应用图标的左下角可以配置有一标记,即标记54,从而能够方便用于区分基于不同操作系统搭建的应用。应用执行模块具体用于生成基于第二操作系统搭建的应用程序的窗口界面;而服务模块具体用于对上述生成的窗口界面进行管理以及图像显示等。
上述应用框架层中包含有智能平板内基础功能的应用框架,即框架1,以及实现扩展功能的扩展框架,即框架2。上述原生的应用框架中包含有不同的系统模块,如无线通信模块、蓝牙通信模块、多媒体播放模块等。而扩展框架内可以配置多窗口显示模块,以实现不同应用的应用窗口同时在智能平板的同一界面内显示;该扩展框架还包含第一触控模块,该第一触控模块具体用于实现跨系统间的触控操作的识别以及响应。
与此同时,第二操作系统可以通过镜像容器运行,即在镜像容器内搭建基于第二操作系统,该模拟的操作系统同样包含有应用层、应用框架层以及系统层等。需要说明的是,上述运行有第二操作系统的镜像容器可以部署于云端服务器内,也可以部署于智能平板本地。
示例性地,图6示出了本申请一实施例提供的跨系统的数据传输的示意图。参见图6中的(a)所示,该运行有第二操作系统的镜像容器部署于智能平板,在该情况下,上述镜像容器与智能平板的第一操作系统共用智能平板中的内核层以及物理层,并通过代理应用完成上述两个操作系统间的数据传输,即在该情况下,第一操作系统与第二操作系统均搭载于同一电子设备内。参见图6中的(b)所示,该运行有第二操作系统的镜像容器部署于云端服务器,即第一操作系统与第二操作系统分别搭载于不同的电子设备内,在该情况下,在实现跨系统间的数据传输时,可以通过第一操作系统中的代理应用生成所需发送的数据,并通过智能平板内的物理层发送给云端服务器,以被云端服务地内的镜像容器接收;对应地,镜像容器内生成的数据也可以通过云端服务器发送给智能平板,并被智能平板内的物理层接收并依此传递给智能平板内的代理应用,从而实现了跨系统间的数据传输。
其中,运行有第二操作系统的镜像容器的应用框架层配置有第二触控模块,该第二触控模块可以接收第一触控模块发送的信息,并将其转换为能够被基于第二操作系统搭建的应用程序识别的操作指令;该镜像容器内的应用层运行有基于第二操作系统搭建的应用程序,即后续的预设应用,相关的操作窗口可以通过代理应用于第一操作系统内显示,以实现了跨系统间的应用操作,实现了对智能平板内的应用生态的扩展。
具体地,基于上述的智能平板的结构,以下具体描述本申请实施例提供的触控输入方法的具体实现过程。图7示出了本申请一实施例提供的触控输入的方法的实现流程图,详述如下:
在S701中,第一操作系统接收用户对预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
在S702中,第一操作系统响应于触控操作,通过第一操作系统内的第一触控模块将基于所述触控操作生成的触控事件发送给第二操作系统。
在本实施例中,智能平板是基于第一操作系统搭建的,即第一操作系统具体为智能平板的原生操作系统,在一种可能的实现方式中,上述第一操作系统具体为安卓操作系统、鸿蒙操作系统、Linux操作系统或windows操作系统中的任一一种,当然,该第一操作系统还可以为支持触控操作的其他操作系统,在此不对第一操作系统进行限定。
在本实施例中,智能平板内显示有基于其他操作系统(即第二操作系统)搭建的预设应用对应的应用图标,用户可以通过点击上述应用图标以启动上述的预设应用。继续以图5为了进行说明,上述文档编辑应用53即是一基于Linux系统搭建的应用程序(即上述的预设应用),用户可以通过点击上述文档编辑应用53以启动预设应用。智能平板在检测到用户需要启动跨系统运行的预设应用后,可以生成该预设应用对应的操作界面,用户可以在该操作界面内发起对于预设应用的触控操作。
进一步地,作为本申请的另一实施例,图8示出了本申请一实施例提供的运行预设应用的具体实现流程图。参见图8所示,与图7所示的实施例相比,本申请实施例在S701之前还包括S801~S804,具体描述如下:
在S801中,第一操作系统接收用户发起对于所述预设应用的启动操作。
在本实施例中,智能平板内安装有不同类型的应用程序,其中包含有基于另一操作系统搭建的预设应用。如上所述,该智能平板的应用层内运行有代理应用,通过该代理应用的主执行模块可以在智能平板的桌面内生成预设应用的应用图标,如图5中的文档编辑应用53,在智能平板检测到用户点击上述的文档编辑应用53时,则识别用户发起了上述的启动操作。
在S802中,第一操作系统通过安装于所述第一操作系统中的代理应用向第二操作系统发送应用启动指令;所述应用启动指令携带有所述预设应用的应用标识。
在本实施例中,智能平板的第一操作系统内安装有代理应用,在接收到对于预设应用的启动指令后,可以通过代理应用向安装有第二操作系统的容器发送关于预设应用的启动指令,以使在第二操作系统的容器内运行上述预设应用。需要说明的是,若该容器配置于智能平板内,则代理应用可以通过公用的内核层将上述的启动指令发送给上述运行有第二操作系统的容器;若该容器配置于除智能平板外的其他设备(如云端服务器),则生成携带有云端服务器的通信地址的通信数据包,并通过与云端服务器之间的建立的通信链路发送给云端服务器,以通知云端服务器运行上述的预设应用。
在本实施例中,上述代理应用发送得启动指令中携带有所需启动得预设应用的应用标识,该应用标识可以为该预设应用的应用名称(例如Ligtroom、PhotoshopCS4等),也可以为该预设应用的应用编号(例如LR10245,PS23568等),运行有第二操作系统的容器在接收到给启动应用后,可以提取其中包含的应用标识,并与本地的各个已有应用的应用标识进行匹配,并将与启动指令中关联的应用标识对应的已有应用识别为上述的预设应用。
在一种可能的实现方式中,上述应用标识还可以为在第一操作系统内的坐标信息,由于预设应用在第一操作系统内的应用图标是通过代理应用生成的,因此,代理应用已经建立了应用图标与第二操作系统内关联的预设应用之间的关联关系,该关联关系可以记录有预设应用在第一操作系统内的图标位置。在该情况下,上述启动指令中可以携带有用户点击的坐标信息,并将该坐标信息与运行第二操作系统的容器中记录的上述关联关系内的图标位置进行匹配,将与点击的坐标位置匹配的图标位置关联的应用识别为上述的预设应用。
在S803中,第二操作系统响应所述应用启动指令,运行所述预设应用,并将所述预设应用的操作界面反馈给所述代理应用。
在本实施例中,运行有第二操作系统的容器在生成关于预设应用的启动指令后,可以获取该预设应用对应的应用数据包,并通过该应用数据包以在容器内启动上述的预设应用,通过容器中的应用框架层实现对于预设应用的操作界面的渲染,并将该操作界面反馈给代理应用,以实现跨系统的操作界面的显示。
在一种可能的实现方式中,运行有第二操作系统的容器可以将操作界面转换为对应的界面图像,并将该界面图像发送给代理应用,即在第一操作系统内生成的关于预设应用的操作界面,具体是以图像格式显示的。
在S804中,第一操作系统通过所述代理应用在所述第一操作系统内生成所述操作界面。
在本实施例中,运行于第一操作系统内的代理应用在接收到运行有第二操作系统的容器反馈的操作界面后,可以在智能平板的第一操作系统内进行渲染,从而得到用户可以发起触控操作的操作界面。
示例性地,图9示出了本申请一实施例提供的操作界面的示意图。参见图9中的(a)所示,该操作界面具体为一全屏显示的操作界面,该操作界面是基于运行有第二操作系统的容器内运行的预设应用生成的,并通过代理应用在第一操作系统内进行渲染,具体地,该操作界面具体可以为一图像数据,即上述包含的各个可操作的控件在该操作界面内并没有对应的交互接口,而是需要通过代理应用反馈给容器内运行的预设应用,才能够对上述交互操作进行相应。
参见图9中的(b)所示,该操作界面还可以为一非全屏显示的操作界面,如通过悬浮窗口的方式显示操作界面。具体采用何种方式显示操作界面,根据具体的预设应用进行确定,在此不作限定。
在本申请实施例中,通过代理应用实现跨系统间的数据传输,并通过代理应用接收通过容器运行的预设应用反馈的操作界面,实现了跨系统的操作界面的显示,为后续用户在第一操作系统内发起对于跨系统应用的触控操作提供的实现基础,并且上述操作界面的显示过程与一般应用的操作界面的显示效果是一致的,从而上述跨系统的应用启动对于用户而言是无感的,大大提高了用户操作的一致性,继而提高了用户的使用体验。
在本实施例中,智能平板配置有触控模块,用户可以在触控模块内发起触控操作,上述触控操作包括有点击选择类型的触控操作,以及除点击选择类型的其他触控操作,如边缘手势类型的触控操作、多触点的触控操作以及通过软键盘对可编辑区域输入字符的操作。
示例性地,图10示出了本申请实施例提供的不同触控操作的示意图。
1.点击选择类型的触控操作。参见图10中的(a)所示,用户可以通过点击的方式选择应用程序内操作窗口的显示对象,如操作界面内的虚拟按钮以及打开子界面等,例如用户通过点击的方式选择操作窗口中的开始控件101,以开始控件101对应的菜单栏102。
2.边缘手势类型的触控操作。智能平板记录有多种智能手势,从而能够方便对于智能平板进行操作,以提高用户对于智能平板的操作效率。举例性地,如图10中的(b)所示,用户可以通过从智能平板屏幕的左侧边缘为起点发起一滑动操作,该从边缘为起点的滑动操作对应的操作指令为“返回”,或者“关闭当前操作窗口”等,具体可以根据实际情况对应不同的操作指令,通过发起与预设记录规则相同的手势,以实现对应用程序进行操作,无需点击操作窗口中对应的控件,提高了用户操作的灵活性。
3.多触点的触控操作。智能平板的触控模块支持多点触控,如图10中的(c)所示,用户可以通过双指触控的方式对应用程序内的显示对象进行放大以及缩小。
4.通过软键盘对可编辑区域输入字符的操作。由于智能平板一般没有配置有外设的输入设备,如键盘或者遥控器等,在进行字符输入时需要显示软键盘的方式实现输入。因此,智能平板可以根据用户点击区域的类型不同,确定是否需要唤起软键盘,如图10中的(d)所示,在用户点击可编辑区域时,如对话页面中的内容输入区域,则会开启软键盘,用户可以通过软键盘完成字符输入。
由此可见,智能平板中能够发起的触控操作往往是于智能平板的操作系统以及平板的操作特性相关的,而部分的触控操作在其他操作系统中并无法直接进行映射,例如上述的边缘手势类型的触控操作,对于基于Linux系统搭建的设备以及基于windows系统搭建的设备则不适用,由于上述两个操作系统的设备一般是通过键鼠方式进行控制,往往没有配置对应的触控屏,也当然不存在边缘触控类型的操作。基于此,为了实现不同操作系统间的触控操作的互通互识,第一操作系统内配置有第一触控模块,在智能平板接收到用户对基于跨系统运行的预设应用发起的触控操作时,可以将该触控操作交由第一触控模块进行处理,生成对应的触控事件。
在S703中,第二操作系统通过第二触控模块生成所述触控事件对应的操作指令。
在本实施例中,智能平板中的第一触控模块在生成触控事件后,可以将该触控事件传输给运行有第二操作系统的镜像容器中配置的第二触控模块,第二触控模块具体是用于对在第一操作系统内生成的触控事件进行识别,并转换为能够被第二操作系统识别的操作指令。
在本实施例中,智能平板配置有代理应用,当设置于应用框架层内的第一触控模块生成得到触控事件后,可以将该触控事件传输给位于应用层内的代理应用,通过代理应用将上述的触控事件传输给容器内的第二触控模块。
在S704中,第二操作系统通过所述预设应用执行操作指令。
在本实施例中,由于上述第二触控模块生成的操作指令是能够被第二操作系统识别的指令,因此基于第二操作系统搭建的预设应用也能够对上述操作指令进行响应,并在生成对应响应结果,例如返回上一级界面、关闭预设应用、调整显示内容等,具体响应结果可以根据发起的触控操作确定,在此不做限定。
以上可以看出,本申请实施例提供的一种触控输入的方法可以通过在第一操作系统中运行跨操作系统的预设应用,在用户在第一操作系统发起对于预设应用的触控操作时,可以通过第一操作系统的第一触控模块生成对应的触控事件,并传输第二操作系统,通过第二操作系统中的第二触控模块对触控事件进行转换,生成能够被第二操作系统识别的操作指令,从而运行于第二操作系统内的预设应用执行操作指令生成与之对应的响应结果,实现了对跨系统间的触控操作的互通。与现有的设备控制技术相比,本申请实施例中通过在不同的操作系统内配置对应的触控模块,通过触控模块对触控操作进行跨系统的转换,从而能够生成支持跨系统运行的预设应用识别的操作指令,提高了跨系统操作的一致性,从而提高了对于操作系统内的应用生态的扩展,满足了用户的使用需求。
实施例二:
其中,针对不同类型的触控操作,第一触控模块与第二触控模块在实现触控操作转换为对应的操作指令时,具体的处理流程以及调用模块内的单元等方面均存在一定的差异。示例性地,图11示出了本申请一实施例提供的对于不同类型的触控操作转换为操作指令的数据流图。参见图11所示,上述第一触控模块内包含有多个不同的子单元,对应地第二触控模块内同样包含有不同的子单元,不同的子单元用于实现不同类型的触控操作的转化。上述数据流图具体包含有三个数据流,分别为针对边缘手势类型的第一触控操作的数据流1,针对多触点类型的第二触控操作的数据流2,以及对于预设应用中任一区域进行点击的第三触控操作的数据流3。具体的实现过程描述如下:
类型1:针对边缘手势类型的第一触控操作。
参见图12所示,图12示出了本申请一实施例对于边缘手势类型的触控输入的方法的实现流程图。参见图12所示,与图7所示的实施例相比,本申请实施例提供的触控输入的方法中,S702具体为S1201,S703具体为S1202,S704具体为S1203,具体描述如下:
在S1201中,通过所述第一触控模块确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型。
在本实施例中,在智能平板内发起的边缘手势具体用于对前台运行的应用程序的操作窗口整体进行操作,例如进行界面返回或者退出应用程序等。
在本实施例,上述操作类型具体指的是边缘手势对应何种操作,上述操作类型包括但不限于:关闭窗口、退出应用或进行应用管理等不同类型的操作,具体可以根据用户实际情况进行设置,在此不再进行限定。
示例性地,图13示出了本申请一实施例提供的多种边缘手势的示意图。参见图13中的(a)所示,用户可以从智能平板的屏幕右侧边缘开始滑动,生成一个从右到左方向的滑动指令,与在屏幕内发起的左滑指令不同,上述滑动指令是以屏幕右侧边缘为起点的,因此智能平板会识别该滑动指令为边缘手势的触控操作,并查询该触控操作关联的操作指令,在该例子中,上述右侧边缘的左滑触控操作对应的为“退出”的操作指令。参见图13中的(b)所示,用户可以从智能平板的屏幕下方边缘开始滑动,生成一个从下至上方向的滑动指令,与在屏幕内发起的上滑指令不同,上述滑动指令是以屏幕下方边缘为起点的,因此智能平板会识别该滑动指令为进行应用窗口管理,如图13中的(c)所示,用户可以通过该应用窗口管理关闭相应的应用程序,或者切换至其他应用程序进行操作。当然,上述边缘手势所对应的操作指令可以根据实际情况进行设置,在此不对边缘手势所对应的操作指令进行限定。
在本实施例中,由于边缘手势往往是针对具体某一个操作窗口的,因此在将边缘手势类型的操作指令进行转换之前,需要先确定该操作指令所操作的操作窗口。由于对于不同的窗口类型,同一边缘手势对应的操作指令会存在差异,为了提高触控操作的准确性,智能平板首先需要确定所需操作的目标窗口,继而确定该目标窗口对应的窗口类型。
在一种可能的实现方式中,上述窗口类型包括:父窗口类型以及子窗口类型。每一个预设应用对应一个父窗口类型的操作窗口,而在该父窗口类型内可以包含有多个页面跳转控件,用户可以通过点击父窗口类型的操作界面中任一页面跳转控件,进入对应的子窗口类型的操作界面;同样地,子窗口类型的操作界面中还可以包含有页面跳转控件,以进入二级操作窗口,依次类推,其中,二级操作窗口的窗口类型也属于子窗口类型。不同的窗口类型对于同一边缘手势具有不同的响应方式。
示例性地,图14示出了不同窗口类型对于同一边缘手势的响应对比图。
参见图14中的(a)所示,用户所需操作的目标窗口的窗口类型具体为子窗口类型,例如在文本编辑应用中打开了本地存储的某一文档,且该文档并没有被修改。此时,用户发起一个从右侧边缘为起点的左滑操作,智能平板识别该左滑操作为边缘手势类型的第一触控操作,此时,即识别需要退出该目标窗口,返回上一级窗口,因此会关闭上述目标窗口,返回预设应用对应的父操作窗口(也可以称为主操作界面)。
参见图14中的(b)所示,用户所需操作的目标窗口仍为文本编辑应用中的子窗口(即目标窗口类型为子窗口类型),但在该例子中,用户已经编辑过该文档的部分内容,在发起由边缘手势的触控操作时,即需要返回上一级窗口,但由于上述文档并没有保存,会生成一个保存提示框,以确认用户是否用户需要对编辑的内容进行保存,若点击保存控件141,则会返回主操作界面;若点击取消控件142,则返回对文档编辑的目标窗口,若点击不保存控件143,则不对编辑进行保存,并返回主操作界面。
参见图14中的(c)所示,用户所需操作的目标窗口的窗口类型具体为父窗口类型,在该情况下,发起从右侧边缘为起点的左滑动操作时,并不会立即退出该应用程序,会提示用户再次退出,此时,用户可以再次发起上述的从右侧边缘为起点的左滑动操作,则会退出上述应用程序,返回智能平板的桌面界面。
由此可见,对于不同的窗口类型,在接收到同一边缘手势时,对应的响应方式存在差异,基于此,智能平板需要预设应用当前操作的目标窗口对应的窗口类型,并查询该边缘触控操作关联的响应方式(如上述的退出页面,又或者应用窗口管理等)以及窗口类型进行封装,生成对应的第一触控事件。其中,上述响应方式可以根据本地记录的触控手势与响应方式之间的对应关系确定。
进一步地,作为本申请的另一实施例,确定窗口类型的实现方式具体包含以下步骤:
在S1201.1中,通过所述第一触控模块中的触控管理单元监听所述用户发起的所述触控操作。
在S1201.2中,若通过所述触控管理单元识别得到所述触控操作为所述第一触控操作,则调用所述第一触控模块中的触控窗口管理单元确定所述目标窗口的所述窗口类型;所述触控窗口管理单元用于建立所述预设应用中各个操作窗口的级联关系。
在本实施例中,第一触控模块内包含有触控管理单元以及触控窗口管理单元。其中,触控管理单元具体用于监听在第一操作系统内发起的触控操作,并在检测到用户发起触控操作后,对该触控操作的类型进行确定,以转发给对应的单元进行处理。
在本实施例中,该触控管理单元在识别到用户发起的触控操作为边缘手势类型的第一触控操作时,会确定该第一触控操作对应的响应方式,并将该第一触控操作发送给触控窗口管理单元,确定当前操作的目标窗口的窗口类型。由于触控窗口管理单元在运行预设应用的过程中,会维护应用程序内各个操作窗口的级联关系,即用于确定各个窗口属于父窗口类型或是子窗口类型,基于此,触控窗口管理单元可以通过上述级联关系确定上述目标窗口的窗口类型,在确定响应方式以及窗口类型后,可以生成阈值对应的第一触控事件,并发送给第二触控单元。
在本申请实施例中,通过触控管理单元进行触控操作类型的识别,并转发给对应的单元进行后续响应,能够提高触控事件生成的准确性。
在S1202中,通过所述第二触控模块中的窗口管理单元生成对于所述目标窗口的第一操作指令。
在本实施例中,第二触控窗口配置有窗口管理单元,用于管理运行于第二操作系统内的各个预设应用的操作窗口。因此,在第二触控模块接收到第一触控模块发送的第一触控事件后,在检测到该第一触控事件为边缘手势的触控事件后,会将该触控事件发送给接收到窗口管理单元,并通过窗口管理单元生成与该第一触控事件对应的第一操作指令,以便预设应用执行对应的操作。
在S1203中,第二操作系统通过所述预设应用执行操作指令。
由于S1203的实现方式与S703的实现方式完全相同,具体描述可以参见S703的相关描述,在此不再赘述。
在本申请实施例中,由于不同的窗口类型的响应方式不同,在响应边缘手势类型的触控操作时,先确定所需操作的目标窗口的窗口类型,能够提高后续对于窗口操作的准确性,使得对于跨系统的预设应用的操作与基于第一操作系统搭建的原生应用的操作习惯一致,减少了用户操作所需的学习成本。
类型2:针对多触点类型的第二触控操作。
参见图15所示,图15示出了本申请一实施例对于多触点类型的触控输入的方法的实现流程图。参见图15所示,与图7所示的实施例相比,本申请实施例提供的触控输入的方法中,S702具体为S1501,S703具体为S1502,S704具体为S1503,具体描述如下:
在S1051中,通过所述第一触控模块生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二触控模块。所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间。
在本实施例中,一般情况下,安卓系统的设备,往往支持多触点的触控操作,例如通过双指对图像进行放大缩小以及旋转等图像变换操作,又或者通过长按拖动的方式移动页面中的显示对象等。因此,用户在智能平板上发起多触点类型的触控操作后,第一触控模块可以生成对应的多点触控事件,该多点触控事件内可以包含有本次发起的触控操作对应的各个触点对应的第一触控坐标(即在第一操作系统内对应的坐标),第一触控模块在生成多点触控事件后会将其发送给第二触控模块进行后续处理。
在本实施例中,根据不同的触点对应的第一触控坐标以及触控时间,能够依次连接各个触控点,从而构成了该第二触控操作对应的触控轨迹。
示例性地,图16示出了本申请一实施例提供的多触点类型的触控操作的示意图。参见图16中的(a),预设应用的操作界面中显示有一图像,用户可以通过双指往外移动的方式对该图像放大。参见图16中的(b),预设应用的操作界面内显示有一文档,由于文档内容较多,该文档中配置有一进度条161,用户可以拖动该进度条以查看文档内对应的段落,例如通过上滑的方式查看文档中下一段落的内容。需要说明的是,多触点的操作根据不同的应用具有不同的响应方式,具体根据实际情况进行设置,再不做限定。
进一步地,作为本申请另一实施例,生成多点触控事件的具体方式包括:
在S1501.1中,通过所述第一触控模块中的触控管理单元监听所述用户发起的触控操作;
在S1501.2中,若通过所述触控管理单元识别得到所述触控操作为第二触控操作,则通过所述第一触控模块中的触控事件转换单元对所述第二触控操作进行合法校验。
在S1501.3中,若识别得到所述第二触控操作通过所述合法校验,则通过所述触控事件转换单元生成多点触控事件,并将所述多点触控事件发送给所述第二触控模块;所述多点触控事件记录有在所述第一操作系统内各个所述触点的第一触控坐标。
在本实施例中,第一触控模块内包含触控管理单元以及触控事件转换单元。其中,上述触控管理单元用于监听在第一操作系统内发起的触控操作,并在检测到该触控操作为多触点类型的第二触控操作后,将该第二触控操作转发给触控事件转换单元进行后续处理。
在本实施例中,触控事件转换单元在接收到上述第二触控事件后,会先对其合法性进行校验,即本次多触点出操作是否为有效的操作。若上述触控事件转换单元在检测到上述第二触控类型通过合法校验后,则可以转换为能够被第二操作系统识别的多点触控事件。其中,该多点触控事件内可以包含有各个触点在第一操作系统内的第一触控坐标。
在本申请实施例中,通过触控事件转换单元对触控操作进行合法校验并进行事件转换,从而能够生成能够被其他操作系统识别的多点触控事件,提高了多触点的触控操作的准确性,减少了对于无效操作的响应。
进一步地,作为本申请的另一实施例,在S1501.3之后,还可以包括:
在S1501.4中,若通过所述触控事件转换单元识别得到所述第二触控操作并非对于所述预设应用的操作,则向第二触控模块发送关于所述多点触控事件的取消响应指令,以停止所述预设应用执行关于所述第二触控操作的所述操作指令。
在本实施例中,上述触控事件转换单元还用于取消异常的触控操作,由于用户发起多触点的第二触控操作需要一定的操作时间,因此,有可能用户在并没有绘制完成整个滑动轨迹时,触控事件转换单元已经将前面采集得到的多点触控事件发送给第二触控事件,而在绘制完成整个滑动轨迹后,该滑动轨迹与预设的快捷手势一致,即其操作对应并非针对预设应用的,此时,需要停止预设应用对于该第二触控操作进行响应,在该情况下,第一触控模块内的触控事件转换模块可以生成一个取消响应指令,并将该取消响应指令发送给第二触控模块,在第二触控模块接收到该取消响应指令后,会停止预设应用对于该第二触控操作进行响应。
示例性地,图17示出了本申请一实施例提供的取消响应多触点操作的示意图。参见图17中的(a)所示,用户发起一个类似向下滑动的多触点的触控操作,此时,触控事件转换单元在对上述触控轨迹进行完整校验,并在完整校验通过后,生成对应的多点触控事件并发送给第二触控模块。而与此同时,用户继续在第一操作系统内进行滑动操作,得到如图17中的(b)所示的滑动轨迹,具体为一圆形滑动轨迹,而该圆形滑动轨迹对应的是提高智能平板的显示亮度(即并非针对预设应用,而是针对智能平板的屏幕),此时,触控事件转换单元会生成一个取消响应指令,并将该取消响应指令发送给第二触控模块,以便停止预设应用对该圆形滑动轨迹进行响应。
在S1502中,通过所述第二触控模块对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
在本实施例中,虽然第一操作界面以及第二操作界面可以共用相同的内核,但在渲染操作界面时可以根据实际的显示界面进行调整,因此在第一操作系统内确定得到的第一触控坐标与在第二操作系统内的坐标存在一定的偏差,需要通过第二触控模块进行坐标转换,从而使得生成的第二操作指令能够准确地对运行于第二操作系统的预设应用中的指定内容进行操作,并根据转换后的坐标得到第二操作指令。
进一步地,作为本申请的另一实施例,上述生成第二操作指令的具体过程包括:
在S1502.1中,通过所述第二触控模块中的多点触控管理单元对所述多点触控事件进行完整校验。
在S1502.2中,若通过所述多点触控管理单元识别得到所述多点触控事件通过所述完整校验,则通过所述第二触控模块中的触控窗口转换单元对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在所述容器中运行的预设应用对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口。
在S1502.3中,通过所述触控窗口转换单元确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
在本实施例中,第二触控模块中包含有多触点管理单元,该多触点管理单元具体用于管理第二操作系统中各个运行的应用的触摸输入事件,上述触摸输入事件支持多触点处理,以及对上述触摸输入事件进行完整性校验。因此,在第二触控模块接收到触摸事件转换单元发送的多点触控事件后,可以先通过所述多触点管理单元进行完整性校验,在检测到上述多点触控事件为对应的滑动轨迹完整后,才进行坐标转换。
在一种可能的实现方式中,在通过完整校验后,上述多触点管理单元还可以确定该多点触控事件所操作的应用,由于在第一操作系统内可以通过多窗口的方式同时运行多个不同应用,因此,在第二操作系统侧,同样需要对应的单元以确定上述多点触控事件对应的预设应用。具体地,确定预设应用的方式可以根据各个触点所落入的位置所落入的区域,根据该区域是哪一个应用的窗口,从而能够将触点所落入的窗口所属的应用识别为预设应用。
在一种可能的实现方式中,上述多点触控事件中携带有所需操作的预设应用的应用标识,多触点管理单元可以通过提取上述多点触控事件中的应用标识,以确定在第二操作系统内运行的预设应用。
在本实施例中,在确定了多点触控事件的完整性后,上述多触点管理单元会将多点触控事件发送给触控窗口转换单元,触控窗口转换单元可以从上述多点触控事件中提取包含的第一触控坐标,以及确定预设应用在第二操作系统内运行时对应的第二窗口的尺寸,然后根据在第一操作系统内预设应用对应的第一窗的口尺寸以及上述第二窗口的尺寸,可以确定在不同操作系统间坐标的偏移量,并基于该偏移量调整各个第一触控坐标,最后能够计算得到各个触点在第二操作系统内对应的第二触点坐标。
在本实施例中,触控窗口转换单元除了实现坐标转换后,还用于确定预设应用中所需操作的目标窗口,将基于多个触点的第二触点坐标的第二操作指令传递给对应的目标窗口,以便预设应用中对应的目标窗口执行上述第二操作指令。
在本申请实施例中,通过触控窗口转换单元实现坐标转换以及窗口确认,以及通过多点触控管理单元确定所需操作的应用程序,从而提高了触控操作的准确性。
在S1503中,第二操作系统通过所述预设应用执行操作指令。
由于S1503的实现方式与S703的实现方式完全相同,具体描述可以参见S703的相关描述,在此不再赘述。
在本申请实施例中,通过第二触控模块实现对触控坐标进行转换,从而使得触控操作也能够对跨系统运行的预设应用进行精准操作,从而实现了多触点类型的操作也能够实现跨系统的传输以及识别,提高了跨系统操作的可使用范围。
类型3:针对预设应用中任一区域进行点击的第三触控操作。
参见图18所示,图18示出了本申请一实施例对于预设应用中任一区域进行点击的触控输入的方法的实现流程图。参见图18所示,与图7所示的实施例相比,本申请实施例提供的触控输入的方法中,S702具体为S1801,S703具体为S1802,S703具体为S1803,在S703之后,还包括S1804,具体描述如下:
在S1801中,通过所述第一触控模块生成第三触控操作对应的光标位移触控事件;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标。
在本实施例中,用户可以在预设应用对应的操作界面内通过点击选择对应的页面控件,也可以通过点击对可编辑区域进行字符输入,因此,为了区分上述两种不同的操作类型,第一操作系统可以通过第一触控模块生成上述的光标位移触控事件,该光标位移触控事件包含用户本次在预设应用对应的操作界面中发起点击的坐标,即上述的第三触控坐标。
在本实施例中,由于通过代理应用在第一操作系统生成的关于预设应用的操作界面具体为一图像数据,即在第一操作系统内并不存在对应的可操作控件,对于区域类型的识别需要交由运行有第二操作系统的容器进行确定,即第一触控模块需要确定本次点击操作的位置(即第三触控坐标),并生成对应的光标位移触控事件。
进一步地,作为本申请的另一实施例,生成上述光标位移触控事件具体包括以下步骤:
在S1801.1中,通过所述第一触控模块中的触控管理单元监听所述用户发起的所述触控操作。
在本实施例中,第一触控模块内包含触控管理单元其中,上述触控管理单元用于监听在第一操作系统内发起的触控操作,并在检测到该触控操作为第三触控操作后,将该第三触控操作转发给触控事件转换单元进行后续处理。
在S1801.2中,若通过所述触控管理单元识别得到所述触控操作为第三触控操作,通过所述第一触控模块中的触控事件转换单元对所述第三触控操作进行合法校验。
在S1801.3中,若通过所述触控管理单元识别得到所述第三触控操作通过所述合法校验,则通过所述触控事件转换单元生成点击识别事件,并将所述点击识别事件发送给输入触控检测单元。
在本实施例中,上述第一触控模块还包括:触控事件转换单元以及输入触控检测单元,该触控事件转换单元具体用于转化成第二操作系统能够识别的触摸事件输入;该输入触控检测单元具体用于识别用户发起的点击操作具体的点击类型。
在本实施例中,在触控管理单元将该第三触控操作转发给上述的触控事件转换单元后,触控事件转换单元可以对该第三触控操作进行合法性校验。若该第三触控操作没有通过合法校验,则第一操作系统可以不对该第三触控操作进行响应;反之,若该第三触控操作为有效的触控操作,则可以通过输入触控检测单元识别用户对于预设应用中任一区域发起的点击操作具体为何种点击类型。
在S1801.4中,响应于所述点击识别事件,通过所述输入触控检测单元识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二触控模块。
在本实施例中,不同的点击类型对应的响应方式。上述点击类型包括但并不限于:单击、双击以及长按等点击操作。对于单击类型的点击操作,可以用于选择预设应用中的某一显示对象,又或者在点击到可编辑区域时则表示需要对该区域进行文本输入;对于双击类型的点击操作,可能是用于快取选取该区域对应的文本内容;对于长按类型的点击操作,则可以是用于弹出对应的文本编辑菜单,以实现所选文本进行复制、黏贴以及删除等操作。由此可见,不同的点击操作可以对应不同的响应方式(即可以生成不同的操作指令),基于此,第一操作系统在接收到上述第三触控操作后,需要通过触控检测单元确定其对应的点击类型,并根据点击类型以及对应的点击位置(即第三触控坐标)生成光标移动事件,并将该光标移动事件发送给第二触控模块。
在本实施例中,由于代理应用返回关于预设应用的操作界面具体可以为一图像数据,即并对于不同区域在第一操作系统内均是以像素的形式展示,无法确定各个区域的区域类型,基于此,第一操作系统需要借助第二操作系统以确定点击区域的区域类型,例如确定用户点击的区域是可编辑区域或是非编辑区域,因此需要将光标移动事件发送给运行有第二操作系统的容器进行后续的识别操作。
在本申请实施例中,通过第一触控模块内的触控管理单元进行完整识别,在确定了第三触控操作校验通过的情况下,调用触控检测单元确定第三触控操作的点击类型以及第三触控坐标,继而生成对应的光标位移事件,将该光标位移事件发送给第二触控模块,以进行后续的识别处理,从而在进行界面反馈时,运行有第二操作系统的容器只需将操作界面的图像发送给第一操作系统,在确保用户能够顺利选择操作界面中包含的控件的基础上,减少了在跨系统的应用操作过程所需传输的数据量,继而提高了跨系统的应用操作的响应速度。
在S1802中,通过所述第二触控模块识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令。
在本实施例中,第一触控模块将光标位移事件发送给第二触控模块后,第二触控模块可以从上述的光标位移事件中提取第三触控坐标,并在第二操作系统内的预设应用中确定该第三触控坐标对应的点击区域,继而可以根据该点击区域对应的区域类型,如根据该区域内是否包含可点击控件、可输入的文本框、图像数据等,根据显示内容的不同识别得到对应的区域类型,并将识别得到的区域类型反馈给第一触控模块。
进一步地,作为本申请的另一实施例,识别上述的区域类型的具体过程包括:
在S1802.1中,通过所述第二触控模块中的点击输入子单元接收所述第一触控模块发送的光标位移事件,并通过所述点击输入子单元将所述预设应用内的虚拟光标更新至所述第三触控坐标。
在S1802.2中,通过所述第二触控模块中光标分类单元识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型。
在本实施例中,第二触控模块包含输入子单元以及光标分类单元。上述输入子单元用于控制光标进行移动;而上述光标分类单元用于确定在应用程序中光标对应的样式,并通过光标样式识别所选择区域对应的区域类型。
在本实施例中,由于第二操作系统,如Linux系统以及windows系统等,是支持键鼠方式对系统进行控制的,即在对第二操作系统进行操作的过程中,界面会存在对应的光标,以提示鼠标当前所在的界面中的位置。而对于不同界面中不同的区域,其光标样式也会存在差异。示例性地,图19示出了本申请一实施例提供的光标样式的示意图。参见图19中的(a)所示,光标移动至非编辑区域时,如移动至某一可交互控件(插入控件191),此时鼠标光标会显示为箭头样式192;参见图19中的(b)所示,光标移动至可编辑区域时,例如移动至文本编辑区域193时,此时鼠标光标会显示“I”样式194,以提示可以对该区域进行文本数据。由此可见,不同的区域类型对应的光标样式会存在差异,可以通过光标样式的不同实现对于区域类型的判别。
在本实施例中,第二触控模块可以通过输入子单元确定光标所需移动的第二触控位置,由于第一操作系统与第二操作系统之间可能存在坐标偏移,因此在确定了用户在第一操作系统内进行点击的第三触控坐标后,第二触控模块可以根据该第三触控坐标以及预设的坐标偏移量,确定在第二操作系统中对应的第二触控位置,并通过输入子单元生成控制光标移动至第二触控位置的移动指令。然后,通过鼠标更新单元将光标移动至上述的第二触控位置,然后在光标移动至第二触控位置后,会根据该区域对应的类型变更对应的光标样式,通过光标分类单元确定该光标样式关联的区域类型,从而能够实现对区域类型的识别,并将识别得到的结果反馈给第一触控模块。
需要说明的是,由于上述虚拟光标是对于第二操作系统有效的,即上述虚拟光标只是在第二操作系统内部存在,并不会将光标的移动以及显示反馈给第一操作系统,即用户在第一操作系统内对预设应用进行控制时,上述虚拟光标是不可见的,即光标样式的变更只是存在于第二操作系统内,用于识别用户点击区域的区域类型。
在本申请实施例中,通过控制光标移动至指定的区域,并通过光标样式识别该区域的区域类型,实现逻辑简单,从而能够提高区域类型识别的效率。
在S1803中,第二操作系统通过所述预设应用执行操作指令。
在本实施例中,预设应用可以根据用户发起的点击操作,将应用内的虚拟光标移动至指定的区域。若用户点击的为关联有跳转链接的控件,则跳转至指定的页面;若用户点击的为某一虚拟按钮,则可以打开该虚拟按钮关联的菜单,又或者执行与该虚拟按钮对应的操作,若用户点击的区域为可编辑区域,则可以进入文本输入状态。
在S1804中,在检测到所述区域类型为可编辑区域类型时,通过所述第一触控模块开启软键盘。
在本实施例中,第二触控模块可以将识别得到的区域类型反馈给第一触控模块,若上述区域类型为可编辑区域类型时,则表示用户可能需要对该区域进行文本输入,此时可以通过第一触控模块开启内置的软键盘,以便用户通过软键盘完成相应的输入操作。
在一种可能的实现方式中,若用户在第一操作系统发起上述第三触控操作时,已开启软键盘,则在接收到第三触控操作后,则继续保持上述软键盘处于开启状态。
示例性地,图20示出了本申请一实施例提供的软键盘开启的示意图。参见图20所示,图20中的(a)所示,为预设应用的操作界面,该操作界面中包含有多个可点击的控件,用户可以点击上述控件以开启对应的菜单,如插入控件201;还包含可编辑的文本输入区域202,在用户点击上述可编辑的文本区域时,通过第二触控模块识别该区域为可编辑区域后,第一触控模块可以开启软键盘203,如图20中的(b)所示,用户可以通过软键盘完成文本输入的操作。
进一步地,作为本申请的另一实施例,开启软键盘的过程具体可以包括:
在S1804.1中,通过所述第一触控模块中的输入触控检测单元向所述第一触控模块内的输入状态识别单元发送点击手势信息,以使所述输入状态识别单元进入监听所述第二触控模块反馈所述区域类型的等待状态。
在本实施例中,第一触控模块内还配置输入状态识别单元,在触控检测到单元向第二触控模块发送了上述的光标位移事件时,会同时向上述输入状态识别单元发送一个点击手势信息,此时,输入状态识别单元会进入等待状态,以等待第二触控单元反馈点击区域的区域类型。
在S1804.2中,通过所述光标分类单元将所述区域类型反馈给所述第一触控模块。
在S1804.3中,通过所述输入状态识别单元接收所述第二触控模块反馈的所述区域类型,并在检测到所述区域类型为可编辑区域类型时,通过所述输入状态识别模块开启所述软键盘。
在本实施例中,在第二触控模块内的光标分类单元确定得到对应的区域类型后,可以反馈给上述的输入状态识别单元,上述输入状态识别单元由于一直处于监听状态,在接收到上述输入状态识别单元反馈的区域类型后,可以根据区域类型的不同执行不同的操作。
在本实施例中,上述输入状态识别单元确定用户点击的区域为可编辑区域,因此会开启软键盘,以便用户进行文本输入的操作。
在本申请实施例中,通过输入状态识别单元接收第二触控模块反馈的区域类型,能够实现单元间的逻辑分工,提高了响应操作的准确性。
进一步地,作为本申请的另一实施例,在S1802之后,还包括:
在S1805中,在检测到所述区域类型为非编辑区域类型时,通过所述第一触控模块不开启所述软键盘。
在本实施例中,若上述区域类型为非编辑区域类型时,则表示用户无需对该区域进行文本输入,此时可以通过第一触控模块关闭内置的软键盘。
示例性地,图21示出了本申请一实施例提供的软键盘关闭的示意图。参见图21所示,图21中的(a)所示,用户原本选择的区域为可编辑区域211,此时第一触控模块可以开启软键盘方便用户进行输入,而在用户点击上述的插入控件212后,由于该插入控件对应的区域为非编辑区域,此时,第一触控模块会关闭上述的软键盘,并打开插入控件对应的控制菜单213,如图21中的(b)。
在一种可能的实现方式中,若用户在第一操作系统内发起上述第三触控操作时,已开启软键盘,则在接收到第三触控操作后,则继续保持上述软键盘处于关闭状态。
在一种可能的实现方式中,在输入状态识别单元确定用户点击的区域为非编辑区域时,则关闭软键盘,避免软键盘遮挡其他的显示内容。
在本申请实施例中,通过识别用户点击的类型是否为可编辑区域,以判断是否开启软键盘,避免因不同操作系统间输入方式不同,而导致在对跨系统的应用进行操作时,无法自动开启软键盘的情况发生,提高了跨系统应用操作的准确性。
实施例三:
对应于上文实施例所述的触控输入的方法,图22示出了本申请实施例提供的触控输入的系统的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图22,该触控输入的系统,所述触控输入的系统包含第一操作系统以及第二操作系统;所述第一操作系统221与所述第二操作系统222不同;
所述第一操作系统221包括:
触控操作接收模块2211,用于接收用户对所述第一操作系统中的预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
第一触控模块2212,用于响应于触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统内的第二触控模块;
所述第二操作系统222包括:
所述第二触控模块2221,用于生成所述触控事件对应的操作指令;
操作指令执行模块2222,用于通过所述预设应用执行所述操作指令。
可选地,所述触控操作为边缘手势类型的触控操作、多触点类型的触控操作或对于所述预设应用中任一区域进行点击的第三触控操作。
可选地,所述第一操作系统221以及所述第二操作系统222为以下任一一种操作系统:安卓操作系统、鸿蒙操作系统、Linux操作系统以及windows操作系统。
可选地,所述触控操作为边缘手势类型的第一触控操作;
所述第一触控模块2212具体用于:确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型;
所述第二触控模块2221还包括窗口管理单元;
所述窗口管理单元,用于生成对于所述目标窗口的第一操作指令。
可选地,所述窗口类型包括父窗口类型以及子窗口类型,操作类型包括关闭窗口、退出应用以及进行应用管理。
可选地,所述第一触控模块2212还包括:触控管理单元以及触控窗口管理单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在识别得到所述触控操作为第一触控操作时,将所述第一触控操作发送给所述触控窗口管理单元;
所述触控窗口管理单元,用于建立所述预设应用中各个操作窗口的级联关系;
所述触控窗口管理单元,还用于根据所述第一触控操作确定所述目标窗口的窗口类型。
可选地,所述触控操作为多触点类型的第二触控操作;
所述第一触控模块2212具体用于:生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二操作系统中的所述第二触控模块;所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间;
所述第二触控模块2221具体用于:对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
可选地,所述第一触控模块2212包括:触控管理单元、触控事件转换单元;
所述触控管理单元,用于监听所述用户发起的触控操作,并在检测到所述触控操作为所述第二触控操作时将所述第二触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第二触控操作进行合法校验;
所述触控事件转换单元,还用于若识别得到所述第二触控操作通过所述合法校验,则生成所述多点触控事件,并将所述多点触控事件发送给所述第二操作系统中的所述第二触控模块。
可选地,所述第二触控模块2221包括:多点触控管理单元以及触控窗口转换单元;
所述多点触控管理单元,用于对所述多点触控事件进行完整校验,并在识别到所述多点触控事件通过完整校验时,将所述多点触控事件发送给所述触控窗口转换单元;
所述触控窗口转换单元,用于对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在第二操作系统中对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口;
所述触控窗口转换单元,还用于根据所述第二触控坐标生成所述第二操作指令。
可选地,所述控窗口转换单元还用于:
确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
可选地,所述触控操作为对于预设应用中任一区域进行点击的第三触控操作;
所述第一触控模块2212具体用于:生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统中的所述第二触控模块;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标;
所述第二触控模块2221具体用于:识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令;
所述第二触控模块2221还用于:将所述区域类型发送给所述第一操作系统中的所述第一触控模块;
所述第一触控模块2212还用于:在检测到所述区域类型为可编辑区域类型时,开启软键盘。
可选地,所述第一触控模块2221还用于:在检测到所述区域类型为非编辑区域类型时,不开启所述软键盘。
可选地,所述第一触控模块2212包括:触控管理单元、触控事件转换单元以及输入触控检测单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在检测到所述触控操作为第三触控操作时,将所述第三触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第三触控操作进行合法校验,并在检测到所述第三触控操作通过所述合法校验时,向所述输入触控检测单元发送基于所述第三触控操作生成的点击识别事件;
所述输入触控检测单元,用于响应于所述点击识别事件,识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二操作系统中的所述第二触控模块。
可选地,所述第一触控模块2212还包括:输入状态识别单元;
所述输入触控检测单元还用于:向所述第一触控模块内的输入状态识别单元发送点击手势信息,以使所述输入状态识别单元进入监听所述第二触控模块反馈所述区域类型的等待状态;
所述输入状态识别单元,用于接收所述第二触控模块反馈的所述区域类型,并在检测到所述区域类型为可编辑区域类型时,开启所述软键盘。
可选地,所述第二触控模块2221包括:点击输入子单元以及光标分类单元;
所述点击输入子单元,用于接收所述第一操作系统的所述第一触控模块发送的所述光标位移事件,并将所述第二操作系统内的虚拟光标更新至所述第三触控坐标;
所述光标分类单元,用于识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型;
所述光标分类单元,还用于将所述区域类型发送给所述第一操作系统内的所述第一触控模块。
可选地,所述第一操作系统包括:启动操作接收单元、应用启动单元以及界面显示单元;所述第二操作系统包括:界面反馈单元;
启动操作接收单元,用于接收用户在所述第一操作系统中发起对于所述预设应用的启动操作;
应用启动单元,用于通过安装于所述第一操作系统中的代理应用向所述第二操作系统发起应用启动指令;所述应用启动指令携带有所述预设应用的应用标识;
界面反馈单元,用于响应所述应用启动指令,在所述第二操作系统内运行所述预设应用,并将所述预设应用的操作界面反馈给所述代理应用;
界面显示单元,用于通过所述代理应用在所述第一操作系统内生成所述操作界面。
因此,本申请实施例提供的触控输入的装置同样可以通过在第一操作系统中运行跨操作系统的预设应用,在用户在第一操作系统发起对于预设应用的触控操作时,可以通过第一操作系统的第一触控模块生成对应的触控事件,并传输给运行有第二操作系统的容器中部署的第二触控模块,通过第二触控模块对触控事件进行转换,生成能够被第二操作系统识别的操作指令,从而运行于第二操作系统内的预设应用对操作指令进行响应,生成与之对应的响应结果,实现了对跨系统间的触控操作的互通。与现有的设备控制技术相比,本申请实施例中通过在不同的操作系统内配置对应的触控模块,通过触控模块对触控操作进行跨系统的转换,从而能够生成支持跨系统运行的预设应用识别的操作指令,提高了跨系统操作的一致性,从而提高了对于操作系统内的应用生态的扩展,满足了用户的使用需求。
图23为本申请一实施例提供的电子设备的结构示意图。如图23所示,该实施例的电子设备23包括:至少一个处理器230(图23中仅示出一个处理器)、存储器231以及存储在所述存储器231中并可在所述至少一个处理器230上运行的计算机程序232,所述处理器230执行所述计算机程序232时实现上述任意各个触控输入的方法实施例中的步骤。
所述电子设备23可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器230、存储器231。本领域技术人员可以理解,图23仅仅是电子设备23的举例,并不构成对电子设备23的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器230可以是中央处理单元(Central Processing Unit,CPU),该处理器230还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器231在一些实施例中可以是所述电子设备23的内部存储单元,例如电子设备23的硬盘或内存。所述存储器231在另一些实施例中也可以是所述电子设备23的外部存储设备,例如所述电子设备23上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器231还可以既包括所述电子设备23的内部存储单元也包括外部存储设备。所述存储器231用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器231还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种电子设备,该电子设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (32)
1.一种触控输入的方法,其特征在于,所述方法应用于电子设备,所述电子设备同时搭载有第一操作系统以及第二操作系统,所述第一操作系统与所述第二操作系统不同;
所述方法包括:
所述第一操作系统接收用户对预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统;
所述第二操作系统生成所述触控事件对应的操作指令;
所述第二操作系统通过所述预设应用执行所述操作指令。
2.根据权利要求1所述的方法,其特征在于,所述第一操作系统以及所述第二操作系统为以下任一一种操作系统:安卓操作系统、鸿蒙操作系统、Linux操作系统或windows操作系统。
3.根据权利要求1所述的方法,其特征在于,所述触控操作为边缘手势类型的触控操作、多触点类型的触控操作或对于所述预设应用中任一区域进行点击的第三触控操作。
4.根据权利要求3所述的方法,其特征在于,所述触控操作为边缘手势类型的第一触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
第一操作系统确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型。
5.根据权利要求4所述的方法,其特征在于,所述窗口类型为父窗口类型或子窗口类型,操作类型为关闭窗口、退出应用或进行应用管理。
6.根据权利要求3所述的方法,其特征在于,所述触控操作为多触点类型的第二触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
所述第一操作系统生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二操作系统;所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间;
所述通过所述第一触控模块将所述触控事件发送给运行有所述第二操作系统的容器内的第二触控模块,并通过所述第二触控模块生成所述触控事件对应的操作指令,包括:
所述第二操作系统对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
7.根据权利要求6所述的方法,其特征在于,所述第一操作系统生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二触控模块,包括:
所述第一操作系统监听所述用户发起的触控操作;
所述第一操作系统若识别得到所述触控操作为第二触控操作,则对所述第二触控操作进行合法校验;
所述第一操作系统若识别得到所述第二触控操作通过所述合法校验,则生成所述多点触控事件,并将所述多点触控事件发送给所述第二操作系统。
8.根据权利要求6所述的方法,其特征在于,所述第二操作系统对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令,包括:
所述第二操作系统对所述多点触控事件进行完整校验;
所述第二操作系统若识别到所述多点触控事件通过完整校验,则对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在第二操作系统中对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口;
所述第二操作系统根据所述第二触控坐标生成所述第二操作指令。
9.根据权利要求8所述的方法,其特征在于,所述第二操作系统根据所述第二触控坐标生成所述第二操作指令,包括:
所述第二操作系统确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
10.根据权利要求3所述的方法,其特征在于,所述触控操作为对于预设应用中任一区域进行点击的第三触控操作;
所述第一操作系统响应于所述触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统,包括:
所述第一操作系统生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标;
所述第二操作系统生成所述触控事件对应的操作指令,包括:
所述第二操作系统识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令;
在所述第二操作系统生成所述触控事件对应的操作指令之后,还包括:
所述第一操作系统接收所述第二操作系统反馈的关于所述第三触控坐标对应的所述区域类型;
所述第一操作系统在检测到所述区域类型为可编辑区域类型时,开启软键盘。
11.根据权利要求10所述的方法,其特征在于,在所述第一操作系统接收所述第二操作系统反馈的关于所述第三触控坐标对应的所述区域类型之后,还包括:
所述第一操作系统在检测到所述区域类型为非编辑区域类型时,不开启所述软键盘。
12.根据权利要求10所述的方法,其特征在于,所述第一操作系统生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统,包括:
所述第一操作系统监听所述用户发起的所述触控操作;
所述第一操作系统若识别得到所述触控操作为第三触控操作,则对所述第三触控操作进行合法校验;
所述第一操作系统若识别得到所述第三触控操作通过所述合法校验,则生成点击识别事件;
所述第一操作系统响应于所述点击识别事件,识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二操作系统。
13.根据权利要求10所述的方法,其特征在于,所述第二操作系统识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令,包括:
所述第二操作系统接收所述第一操作系统发送的光标位移事件,并将所述第二操作系统内的虚拟光标更新至所述第三触控坐标;
所述第二操作系统识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型。
14.根据权利要求1-13任一项所述的方法,其特征在于,在所述第一操作系统接收用户对预设应用的触控操作,还包括:
所述第一操作系统接收用户对于所述预设应用的启动操作;
所述第一操作系统通过安装于所述第一操作系统中的代理应用向所述第二操作系统发送应用启动指令;所述应用启动指令携带有所述预设应用的应用标识;
所述第二操作系统响应于所述应用启动指令,运行所述预设应用,并将所述预设应用的操作界面反馈给所述第一操作系统内的所述代理应用;
所述第一操作系统通过所述代理应用生成所述操作界面。
15.一种触控输入的系统,其特征在于,所述触控输入的系统包含第一操作系统以及第二操作系统;所述第一操作系统与所述第二操作系统不同;
所述第一操作系统包括:
触控操作接收模块,用于接收用户对所述第一操作系统中的预设应用的触控操作;所述预设应用是基于所述第二操作系统搭建的;
第一触控模块,用于响应于触控操作,将基于所述触控操作生成的触控事件发送给第二操作系统内的第二触控模块;
所述第二操作系统包括:
所述第二触控模块,用于生成所述触控事件对应的操作指令;
操作指令执行单元,用于通过所述预设应用执行所述操作指令。
16.根据权利要求15所述的系统,其特征在于,所述第一操作系统以及所述第二操作系统为以下任一一种操作系统:安卓操作系统、鸿蒙操作系统、Linux操作系统或windows操作系统。
17.根据权利要求15所述的系统,其特征在于,所述触控操作为边缘手势类型的触控操作、多触点类型的触控操作或对于所述预设应用中任一区域进行点击的第三触控操作。
18.根据权利要求17所述的系统,其特征在于,所述触控操作为边缘手势类型的第一触控操作;
所述第一触控模块具体用于:确定目标窗口的窗口类型,并根据所述窗口类型生成所述第一触控操作对应的第一触控事件;所述目标窗口为所述第一触控操作在所述预设应用中操作的窗口;所述第一触控事件包括:所述目标窗口的窗口类型以及所述第一触控操作对应的操作类型;
所述第二触控模块还包括窗口管理单元;
所述窗口管理单元,用于生成对于所述目标窗口的第一操作指令。
19.根据权利要求18所述的系统,其特征在于,所述窗口类型为父窗口类型或子窗口类型,操作类型为关闭窗口、退出应用或进行应用管理。
20.根据权利要求19所述的系统,其特征在于,所述第一触控模块还包括:触控管理单元以及触控窗口管理单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在识别得到所述触控操作为第一触控操作时,将所述第一触控操作发送给所述触控窗口管理单元;
所述触控窗口管理单元,用于建立所述预设应用中各个操作窗口的级联关系;
所述触控窗口管理单元,还用于根据所述第一触控操作确定所述目标窗口的窗口类型。
21.根据权利要求17所述的系统,其特征在于,所述触控操作为多触点类型的第二触控操作;
所述第一触控模块具体用于:生成所述第二触控操作对应的多点触控事件,并将所述多点触控事件传输给所述第二操作系统中的所述第二触控模块;所述多点触控事件包括在所述第一操作系统内各个所述触点的第一触控坐标以及触控时间;
所述第二触控模块具体用于:对所述多点触控事件内的各个触点进行坐标转换,得到适用于所述第二操作系统的第二操作指令。
22.根据权利要求21所述的系统,其特征在于,所述第一触控模块包括:触控管理单元、触控事件转换单元;
所述触控管理单元,用于监听所述用户发起的触控操作,并在检测到所述触控操作为所述第二触控操作时将所述第二触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第二触控操作进行合法校验;
所述触控事件转换单元,还用于若识别得到所述第二触控操作通过所述合法校验,则生成所述多点触控事件,并将所述多点触控事件发送给所述第二操作系统中的所述第二触控模块。
23.根据权利要求21所述的系统,其特征在于,所述第二触控模块包括:多点触控管理单元以及触控窗口转换单元;
所述多点触控管理单元,用于对所述多点触控事件进行完整校验,并在识别到所述多点触控事件通过完整校验时,将所述多点触控事件发送给所述触控窗口转换单元;
所述触控窗口转换单元,用于对所述多点触控事件内的各个所述触点进行坐标转换,确定各个所述第一触控坐标在第二操作系统中对应的第二触控坐标;所述第二触控坐标是根据在所述第一操作系统中所述预设应用的第一窗口的尺寸、所述预设应用在所述第二操作系统中对应的第二窗口的尺寸以及所述第一触控坐标确定的;所述第一窗口是为所述第二窗口在所述第一操作系统下的映射窗口;
所述触控窗口转换单元,还用于根据所述第二触控坐标生成所述第二操作指令。
24.根据权利要求23所述的系统,其特征在于,所述控窗口转换单元还用于:
确定所述预设应用中所需操作的目标窗口,并基于所述第二触点坐标生成作用于所述目标窗口的第二操作指令。
25.根据权利要求17所述的系统,其特征在于,所述触控操作包括对于预设应用中任一区域进行点击的第三触控操作;
所述第一触控模块具体用于:生成所述第三触控操作对应的光标位移触控事件,并将所述光标位移触控事件发送给所述第二操作系统中的所述第二触控模块;所述光标位移触控事件包含有所述触控操作对应的第三触控坐标;
所述第二触控模块具体用于:识别所述第三触控坐标在所述预设应用内对应的区域类型,并根据所述区域类型生成第三操作指令;
所述第二触控模块还用于:将所述区域类型发送给所述第一操作系统中的所述第一触控模块;
所述第一触控模块还用于:在检测到所述区域类型为可编辑区域类型时,开启软键盘。
26.根据权利要求25所述的系统,其特征在于,所述第一触控模块还用于:在检测到所述区域类型为非编辑区域类型时,不开启所述软键盘。
27.根据权利要求25所述的系统,其特征在于,所述第一触控模块包括:触控管理单元、触控事件转换单元以及输入触控检测单元;
所述触控管理单元,用于监听所述用户发起的所述触控操作,并在检测到所述触控操作为第三触控操作时,将所述第三触控操作发送给所述触控事件转换单元;
所述触控事件转换单元,用于对所述第三触控操作进行合法校验,并在检测到所述第三触控操作通过所述合法校验时,向所述输入触控检测单元发送基于所述第三触控操作生成的点击识别事件;
所述输入触控检测单元,用于响应于所述点击识别事件,识别所述第三触控操作对应的点击类型以及所述第三触控坐标,并将基于所述点击类型以及所述第三触控坐标生成的光标位移事件发送给所述第二操作系统中的所述第二触控模块。
28.根据权利要求27所述的系统,其特征在于,所述第一触控模块还包括:输入状态识别单元;
所述输入触控检测单元还用于:向所述第一触控模块内的输入状态识别单元发送点击手势信息,以使所述输入状态识别单元进入监听所述第二触控模块反馈所述区域类型的等待状态;
所述输入状态识别单元,用于接收所述第二触控模块反馈的所述区域类型,并在检测到所述区域类型为可编辑区域类型时,开启所述软键盘。
29.根据权利要求25所述的系统,其特征在于,所述第二触控模块包括:点击输入子单元以及光标分类单元;
所述点击输入子单元,用于接收所述第一操作系统的所述第一触控模块发送的所述光标位移事件,并将所述第二操作系统内的虚拟光标更新至所述第三触控坐标;
所述光标分类单元,用于识别更新至所述第三触控坐标时所述虚拟光标的光标样式,并基于所述光标样式确定所述第三触控坐标对应的区域类型;
所述光标分类单元,还用于将所述区域类型发送给所述第一操作系统内的所述第一触控模块。
30.根据权利要求15-29任一项所述的系统,其特征在于,所述第一操作系统包括:启动操作接收单元、应用启动单元以及界面显示单元;所述第二操作系统包括:界面反馈单元;
启动操作接收单元,用于接收用户在所述第一操作系统中发起对于所述预设应用的启动操作;
应用启动单元,用于通过安装于所述第一操作系统中的代理应用向所述第二操作系统发起应用启动指令;所述应用启动指令携带有所述预设应用的应用标识;
界面反馈单元,用于响应所述应用启动指令,在所述第二操作系统内运行所述预设应用,并将所述预设应用的操作界面反馈给所述代理应用;
界面显示单元,用于通过所述代理应用在所述第一操作系统内生成所述操作界面。
31.一种电子设备,其特征在于,所述电子设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时如权利要求1至14任一项所述方法的步骤。
32.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至14任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211009728.1A CN117631939A (zh) | 2022-08-19 | 2022-08-19 | 一种触控输入的方法、系统、电子设备及存储介质 |
PCT/CN2023/113141 WO2024037542A1 (zh) | 2022-08-19 | 2023-08-15 | 一种触控输入的方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211009728.1A CN117631939A (zh) | 2022-08-19 | 2022-08-19 | 一种触控输入的方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117631939A true CN117631939A (zh) | 2024-03-01 |
Family
ID=89940737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211009728.1A Pending CN117631939A (zh) | 2022-08-19 | 2022-08-19 | 一种触控输入的方法、系统、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117631939A (zh) |
WO (1) | WO2024037542A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978439B2 (en) * | 2002-01-10 | 2005-12-20 | Microsoft Corporation | Cross-platform software development with a software development peripheral |
CN111277670A (zh) * | 2020-03-09 | 2020-06-12 | 西安万像电子科技有限公司 | 远程控制系统及方法 |
CN112231001A (zh) * | 2020-10-14 | 2021-01-15 | 佛吉亚歌乐电子(佛山)有限公司 | 车辆双系统兼容控制方法、系统、存储介质和车载终端 |
CN114327137A (zh) * | 2021-12-23 | 2022-04-12 | 宁波均联智行科技股份有限公司 | 基于车机多操作系统的触控方法、装置和计算机设备 |
CN116339877A (zh) * | 2021-12-24 | 2023-06-27 | 华为技术有限公司 | 跨系统运行应用程序的方法及电子设备 |
-
2022
- 2022-08-19 CN CN202211009728.1A patent/CN117631939A/zh active Pending
-
2023
- 2023-08-15 WO PCT/CN2023/113141 patent/WO2024037542A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024037542A1 (zh) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020238774A1 (zh) | 一种通知消息的预览方法及电子设备 | |
CN110910872B (zh) | 语音交互方法及装置 | |
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN111669459B (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
CN114546190A (zh) | 一种应用显示方法及电子设备 | |
CN111078091A (zh) | 分屏显示的处理方法、装置及电子设备 | |
CN112130714B (zh) | 可进行学习的关键词搜索方法和电子设备 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
CN116069212B (zh) | 一种应用卡片的快速查看方法、电子设备及存储介质 | |
WO2020107463A1 (zh) | 一种电子设备的控制方法及电子设备 | |
CN112068907A (zh) | 一种界面显示方法和电子设备 | |
CN113448658A (zh) | 截屏处理的方法、图形用户接口及终端 | |
CN113641271A (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
WO2023273543A1 (zh) | 一种文件夹管理方法及装置 | |
WO2022002213A1 (zh) | 翻译结果显示方法、装置及电子设备 | |
CN115016697A (zh) | 投屏方法、计算机设备、可读存储介质和程序产品 | |
CN113723397B (zh) | 一种截屏方法及电子设备 | |
WO2023029916A1 (zh) | 批注展示方法、装置、终端设备及可读存储介质 | |
WO2022062902A1 (zh) | 一种文件传输方法和电子设备 | |
CN116301483A (zh) | 一种应用卡片的管理方法、电子设备和存储介质 | |
CN113821130A (zh) | 一种确定截图区域的方法及相关装置 | |
CN113867851A (zh) | 电子设备操作引导信息录制方法、获取方法和终端设备 | |
WO2024037542A1 (zh) | 一种触控输入的方法、系统、电子设备及存储介质 | |
CN114764300B (zh) | 一种窗口页面的交互方法、装置、电子设备以及可读存储介质 | |
CN113986406B (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 |