本发明涉及终端技术领域,特别涉及一种信号处理方法、装置及应用其的触控设备。
背景技术:
目前,随着触控技术的普及,越来越多的厂商推出具有触控面板的触控设备,以方便用户通过触控面板执行触控操作,从而尽可能地提升用户的使用体验。
然而,随着触控面板的普及也产生了一些弊端,一个常见的弊端为很多操作只能直接通过对触控面板进行触控操作才能完成,而无法通过鼠标、键盘等外设输入设备完成原本需要通过对触控面板进行触控操作才能完成的操作。例如:在手机、平板上打游戏时用户需要触控触摸屏才能完成相关的游戏体验,并无法通过鼠标、键盘对手机进行操作完成相关的游戏操作,对于擅长或偏好通过外设输入设备游戏的用户而言,难以获得良好的游戏体验。甚至在用户无法或者不方便直接对触控面板进行触控操作时,更是完全限制了用户体验游戏的可能。
技术实现要素:
本发明提供一种信号处理方法,用于触控设备,所述触控设备与外设输入设备相连接,该方法包括:
获取通过所述外设输入设备输入的外设输入信号;
将所述外设输入信号转换为所述触控设备的操作系统可识别的触控信号;
通过所述操作系统接收并响应所述触控信号。
在一个实施例中,所述将所述外设输入信号转换为触控设备的操作系统可识别的触控信号,包括:
获取预存储的信号转换对应关系,其中,所述信号转换对应关系用于表征通过所述外设输入设备输入的信号与所述触控设备可识别的信号之间的对应关系;
根据所述信号转换对应关系和所述外设输入信号,获得所述触控信号。
在一个实施例中,所述触控设备上安装有预设转换程序;
所述将所述外设输入信号转换为触控设备的操作系统可识别的触控信号,包括:
在获取到所述外设输入信号后,调用所述预设转换程序;
通过所述预设转换程序将所述外设输入信号转换为所述虚拟输入设备可识别的所述触控信号。
在一个实施例中,所述触控设备上创建有虚拟输入设备,所述虚拟输入设备与所述操作系统通过hid协议进行通信;
所述通过所述操作系统接收并响应所述触控信号,包括:
通过所述虚拟输入设备将所述触控信号发送至所述操作系统;
所述操作系统在接收到所述触控信号后,确定与所述触控信号相匹配的目标应用程序,并将所述触控信号发送至所述目标应用程序;
所述目标应用程序响应所述触控信号,以执行所述外设输入信号对应的目标操作。
在一个实施例中,所述方法还包括:
在接收到创建指令后,显示虚拟输入设备创建界面;
通过所述虚拟输入设备创建界面接收配置参数,其中,所述配置参数包括所述虚拟输入设备的分辨率;
根据所述配置参数创建所述虚拟输入设备。
在一个实施例中,所述触控设备与所述外设输入设备通过信号转发设备相连接;
所述信号转发设备用于将所述外设输入信号发送至所述触控设备;
所述外设输入信号包括以下至少一项:
鼠标输入信号、键盘输入信号或者触控屏输入信号。
本发明还提供一种信号处理装置,所述触控设备与外设输入设备相连接,该装置包括:
获取模块,用于获取通过所述外设输入设备输入的外设输入信号;
转换模块,用于将所述外设输入信号转换为所述触控设备的操作系统可识别的触控信号;
处理模块,用于通过所述操作系统接收并响应所述触控信号。
在一个实施例中,所述转换模块包括:
第一获取子模块,用于获取预存储的信号转换对应关系,其中,所述信号转换对应关系用于表征通过所述外设输入设备输入的信号与所述触控设备可识别的信号之间的对应关系;
第二获取子模块,用于根据所述信号转换对应关系和所述外设输入信号,获得所述触控信号。
在一个实施例中,所述触控设备上安装有预设转换程序;
所述转换模块用于:
在获取到所述外设输入信号后,调用所述预设转换程序;
通过所述预设转换程序将所述外设输入信号转换为所述操作系统可识别的所述触控信号。
在一个实施例中,所述触控设备上创建有虚拟输入设备,所述虚拟输入设备与所述操作系统通过hid协议进行通信;
所述处理模块用于:
通过所述虚拟输入设备将所述触控信号发送至所述操作系统;
所述操作系统在接收到所述触控信号后,确定与所述触控信号相匹配的目标应用程序,并将所述触控信号发送至所述目标应用程序;
所述目标应用程序响应所述触控信号,以执行所述外设输入信号对应的目标操作。
在一个实施例中,所述装置还包括:
显示模块,用于在接收到创建指令后,显示虚拟输入设备创建界面;
接收模块,用于通过所述虚拟输入设备创建界面接收配置参数,其中,所述配置参数包括所述虚拟输入设备的分辨率;
创建模块,用于根据所述配置参数创建所述虚拟输入设备。
在一个实施例中,所述触控设备与所述外设输入设备通过信号转发设备相连接;
所述信号转发设备用于将所述外设输入信号发送至所述触控设备;
所述外设输入信号包括以下至少一项:
鼠标输入信号、键盘输入信号或者触控屏输入信号。
本发明还提供一种触控设备,其可以包括以上任一项所述的信号处理装置。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过获取外设输入信号并将其转化为触控设备的操作系统可识别的触控信号,进而通过操作系统接收并直接而自动地响应触控信号,使得用户可通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作,极大地方便了用户,有利于提高用户的使用体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据一示例性实施例示出的一种信号处理方法的流程图。
图2是根据一示例性实施例示出的另一种信号处理方法的流程图。
图3是根据一示例性实施例示出的又一种信号处理方法的流程图。
图4是根据一示例性实施例示出的一种信号处理装置的框图。
图5是根据一示例性实施例示出的另一种信号处理装置的框图。
图6是根据一示例性实施例示出的又一种信号处理装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
为了解决上述技术问题,本公开实施例提供了一种信号处理方法,该方法适用于信号处理程序、系统或装置中,用于触控设备,触控设备与外设输入设备相连接,该触控设备可以是具有触控面板的手机、平板等设备,且该触控面板可支持触摸输入和悬浮触控输入,而外设输入设备包括但不限于键盘、鼠标等输入设备,如图1所示,该信号处理方法包括步骤s101至步骤s103,其中:
在步骤s101中,获取通过外设输入设备输入的外设输入信号;
其中,外设输入设备与触控设备可通过有线(如usb数据线)或者无线方式(如蓝牙、wifi网络)相连接。
在步骤s102中,将外设输入信号转换为触控设备的操作系统可识别的触控信号;
该可识别的触控信号即针对触控设备的触摸输入信号或者悬浮触控信号。
上述触控信号包括:操作类型(如点击、滑动等)、操作坐标、操作持续时长等触控操作的属性信息。
由于上述触控信号直接包括了触控操作的属性信息,因而,在将外设输入信号转换为触控信号时,直接通过依次一次信号即可,而不需要多次转换或识别,这提高了信号转换效率。
在步骤s103中,通过操作系统接收并响应触控信号。
通过获取外设输入信号并将其转化为触控设备的操作系统可识别的触控信号,进而通过操作系统接收并直接而自动地响应触控信号,使得用户可通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作,极大地方便了用户,有利于提高用户的使用体验。
例如:当外设输入信号为“点击键盘上的k键”、触控设备为具有触摸屏的手机且转换出的触控信号为“点击手机桌面坐标(5,5)”时,操作系统可直接响应上述触控信息,以获得点击手机桌面坐标(5,5)后得到响应结果,而该响应结果可以是页面跳转或者页面内容更新等。
如图2所示,在一个实施例中,上述图1中的步骤s102,即:将外设输入信号转换为触控设备的操作系统可识别的触控信号,可以包括步骤s201和步骤s202:
在步骤s201中,获取预存储的信号转换对应关系,其中,信号转换对应关系用于表征通过外设输入设备输入的信号与触控设备可识别的信号之间的对应关系;
当外设输入设备是键盘时,该信号转换对应关系可以是键盘上的按键输入事件对应的输入信号与针对触控设备的触控面板的触控信号之间的对应关系,例如:该信号转换对应关系可以是按下键盘上的按键“m”生成的字符“m”的输入信号与点击手机桌面上坐标(m,n)之间的对应关系。
当外设输入设备是鼠标时,该信号转换对应关系可以是操作鼠标对应的输入信号与针对触控设备的触控面板的触控信号之间的对应关系,例如:该信号转换对应关系可以是按下鼠标左键1次生成的输入信号与双击手机桌面上坐标(p,q)之间的对应关系。
在步骤s202中,根据信号转换对应关系和外设输入信号,获得触控信号。
在将信号进行转化时,可根据预存储的信号转换对应关系和上述外设输入信号,自动获取可识别的触控信号,以便在用户不直接对触控设备的触控面板进行触控操作的基础上,通过外设输入设备仍然可生成针对该触控面板的触控信号,使得用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作,极大地方便了用户。
另外,在进行信号转换的同时,也包括对信号类型进行转换,例如:当外设输入信号为鼠标输入信号或键盘输入信号时,将其转换为针对触控面板的触控信号就是对信号类型的转换。
在一个实施例中,触控设备上安装有预设转换程序;
上述图1中的步骤s102,即将外设输入信号转换为触控设备的操作系统可识别的触控信号,可被执行为:
在获取到外设输入信号后,(自动)调用预设转换程序;
该预设转换程序可以位于操作系统上层的应用层,与下述实施例中的虚拟输入设备配合使用。
通过预设转换程序将外设输入信号转换为操作系统可识别的触控信号。
预设转换程序是专门用于将外设信号转换为触控设备的操作系统可识别的信号的,因而,可通过该预设转换程序将获取到的外设输入信号自动转化为操作系统可识别的触控信号,为用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作奠定基础。
另外,预设转换程序在将外设输入信号转换为触控信号时,可访问存储信号转换对应关系的存储地址,进而根据该外设输入信号在该信号转换对应关系中进行搜索,将信号转换对应关系中与外设输入信号匹配的外设输入设备输入的信号所在的那项对应关系中的可识别信号确定为上述触控信号。
在一个实施例中,触控设备上创建有虚拟输入设备,虚拟输入设备与操作系统通过hid协议进行通信;
该操作系统可以是开源的安卓(android)操作系统,或者是ios操作系统(由苹果公司开发的移动操作系统)。
该虚拟输入设备可以注册在安卓操作系统的内核(即linux系统)中,该虚拟输入设备与安卓操作系统可通过hid(hiddescriptortool,描述符编辑工具)协议进行同步通信。
上述图1中的步骤s103,即通过操作系统接收并响应触控信号,可被执行为:
通过虚拟输入设备将触控信号发送至操作系统;
由于虚拟输入设备相当于一个虚拟触控面板且转换的触控信号也是针对该虚拟输入设备的触控信号,因而,当虚拟输入设备将触控信号发送至操作系统时,就会使操作系统误以为用户在触控设备的实体触控面板上手动执行了触控操作才生成了上述触控信号,所以,操作系统就会执行正常的响应触控信号的逻辑。
操作系统在接收到触控信号后,确定与触控信号相匹配的目标应用程序,并将触控信号发送至目标应用程序;
该触控信号相匹配的目标应用程序可以是运行在前台或者后台的应用程序,如可以是当前正在运行的应用程序,和/或,上述目标应用程序可以某个/某些预设应用程序。
例如,若当前正在运行的应用程序有多个,或者当前无正在运行的应用程序,则:
在一个实施例中,可以通过再次获取用户指令来确定一个目标应用程序,即由用户实时指定所述目标应用程序;
或者,在另一个实施例中,可以根据多个应用程序的运行特征(时间、地点)以及当前的运行特征,自动而智能地从多个应用程序中选择一个应用程序作为所述目标应用程序;
或者,在又一个实施例中,可以将用户或系统预先设定的默认应用程序(即上述预设应用程序)作为所述目标应用程序。
目标应用程序响应触控信号,以执行外设输入信号对应的目标操作。
而上述操作系统执行正常的响应触控信号的逻辑即为:操作系统将上述触控信号发送至目标应用程序,该目标应用程序响应该触控信号,获得该触控信号对应的响应结果,以达到执行该外设输入信号对应的目标操作的目的,例如,该目标操作可能是利用输入的“按下“enter”键”这一外设输入信号,控制打开a应用或者进入a应用中的某子界面。
另外,位于上层应用层的预设转换程序与位于底层的虚拟输入设备之间也相互通信,而在通过虚拟输入设备将触控信号发送至操作系统之前,需要预设转换程序在利用上述信号转换对应关系将外设输入信号转换为操作系统可识别的触控信号之后,然后将该触控信号发送至虚拟输入设备,进而再由虚拟输入设备将触控信号发送至操作系统,以使操作系统直接响应该触控信号。
如图3所示,在一个实施例中,为得到上述虚拟输入设备,上述方法还包括步骤s301至步骤s303:
在步骤s301中,在接收到创建指令后,显示虚拟输入设备创建界面;
在步骤s302中,通过虚拟输入设备创建界面接收配置参数,其中,配置参数包括虚拟输入设备的分辨率;
在步骤s303中,根据配置参数创建虚拟输入设备。
由于操作系统接收到上述针对虚拟输入设备的触控信号就会误以为用户在虚拟输入设备上手动执行了触控操作,因而,优选地,虚拟输入设备的分辨率与触控设备的实体触控面板的分辨率相同,如此误以为用户在虚拟输入设备上手动执行了上述触控操作就完全等同于误以为用户在触控设备的实体触控面板上手动执行了触控操作。
当然,如果虚拟输入设备的分辨率与触控设备的实体触控面板的分辨率不相同,则由于可确定两者分辨率的对应关系,因而,通过坐标转换,也可使得“误以为用户在虚拟输入设备上手动执行了上述触控操作”等同于“误以为用户在触控设备的实体触控面板上手动执行了触控操作”。
本实施例中,上述虚拟输入设备可以为uinputdevice;相应的,创建该虚拟输入设备的过程如下:
打开uinputdevice;
设置uinputdevice,配置设备相关参数,如配置触摸屏分辨率等;
写入设备信息;
创建inputdevice;
向inputdevice发送event(该event即触控信号)。
在一个实施例中,触控设备与外设输入设备通过信号转发设备相连接;
信号转发设备用于将外设输入信号发送至触控设备,该信号转发设备可以是单片机或者具有转发功能的其他设备;
外设输入信号包括以下至少一项:
鼠标输入信号、键盘输入信号或者触控屏输入信号。
由于外设输入设备如果直接与触控设备连接,则触控设备会直接将外设输入信号进行处理并不会将其转化为触控信号(例如,如果直连,外设输入信号为按下字符o键,则触控设备就会显示字符o),因而,需要通过使用信号转发设备,这样,只需要事先在触控设备上设置接收到信号转发设备转发的外设输入信号就执行信号转换的逻辑,即可将通过信号转发设备发送至触控设备的外设输入信号进行信号转换,进而使用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作。
另外,当外设输入信号为触控屏输入信号时,说明外设输入设备为触控屏设备,此时利用信号转发设备也可以使触控设备明确只要接收到信号转发设备转发的外设输入信号就执行信号转换的逻辑,以解决作为外设输入设备的触控屏设备与触控设备多屏互动时,两者由于触控面板的尺寸不一致或者坐标定义原则不一致而带来的坐标错乱进而导致对触控设备控制混乱或者多屏互动操作混乱的问题。
如图4所示,本发明还提供一种信号处理装置,触控设备与外设输入设备相连接,该装置包括:
获取模块401,被配置为获取通过外设输入设备输入的外设输入信号;
转换模块402,被配置为将外设输入信号转换为触控设备的操作系统可识别的触控信号;
处理模块403,被配置为通过操作系统接收并响应触控信号。
通过获取外设输入信号并将其转化为触控设备的操作系统可识别的触控信号,进而通过操作系统接收并直接而自动地响应触控信号,使得用户可通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作,极大地方便了用户,有利于提高用户的使用体验。
如图5所示,在一个实施例中,转换模块402可以包括:
第一获取子模块4021,被配置为获取预存储的信号转换对应关系,其中,信号转换对应关系被配置为表征通过外设输入设备输入的信号与触控设备可识别的信号之间的对应关系;
第二获取子模块4022,被配置为根据信号转换对应关系和外设输入信号,获得触控信号。
在将信号进行转化时,可根据预存储的信号转换对应关系和上述外设输入信号,自动获取可识别的触控信号,使得用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作,极大地方便了用户。
本实施例中,上述触控设备上安装有预设转换程序;
转换模块402还被配置为:
在获取到外设输入信号后,调用预设转换程序;
通过预设转换程序将外设输入信号转换为操作系统可识别的触控信号。
本实施例中,通过该预设转换程序将获取到的外设输入信号自动转化为操作系统可识别的触控信号,为用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作奠定基础。
在一个实施例中,触控设备上创建有虚拟输入设备,虚拟输入设备与操作系统通过hid协议进行通信;
处理模块被配置为:
通过虚拟输入设备将触控信号发送至操作系统;
操作系统在接收到触控信号后,确定与触控信号相匹配的目标应用程序,并将触控信号发送至目标应用程序;
目标应用程序响应触控信号,以执行外设输入信号对应的目标操作。
如图6所示,在一个实施例中,装置还包括:
显示模块601,被配置为在接收到创建指令后,显示虚拟输入设备创建界面;
接收模块602,被配置为通过虚拟输入设备创建界面接收配置参数,其中,配置参数包括虚拟输入设备的分辨率;
创建模块603,被配置为根据配置参数创建虚拟输入设备。
由于操作系统接收到上述针对虚拟输入设备的触控信号就会误以为用户在虚拟输入设备上手动执行了触控操作,因而,优选地,虚拟输入设备的分辨率与触控设备的实体触控面板的分辨率相同,如此误以为用户在虚拟输入设备上手动执行了上述触控操作就完全等同于误以为用户在触控设备的实体触控面板上手动执行了触控操作。
当然,如果虚拟输入设备的分辨率与触控设备的实体触控面板的分辨率不相同,则由于可确定两者分辨率的对应关系,因而,通过坐标转换,也可使得“误以为用户在虚拟输入设备上手动执行了上述触控操作”等同于“误以为用户在触控设备的实体触控面板上手动执行了触控操作”。
在一个实施例中,所述触控设备与所述外设输入设备通过信号转发设备相连接;
所述信号转发设备用于将所述外设输入信号发送至所述触控设备;
所述外设输入信号包括以下至少一项:
鼠标输入信号、键盘输入信号或者触控屏输入信号。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
最后,本发明还提供一种触控设备,其可以包括以上任一实施例所述的信号处理装置,或者该触控设备可以执行上述任一实施例所述的信号处理方法,实现将外设输入设备输入的信号(即外设输入信号)转换为该触控设备可识别的触控信号,使用户能够通过外设输入设备直接完成原本需要通过直接触控触控设备的触控面板才能完成的操作。
本发明中的信号处理装置适用于终端设备。例如,可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。