输入设备在输入处理实例中注册的控制方法及装置与流程

文档序号:15465851发布日期:2018-09-18 19:18阅读:146来源:国知局

技术领域
:本发明涉及智能终端
技术领域
:,尤其涉及一种输入设备在输入处理实例中注册的控制方法及装置。
背景技术
::智能手机的功耗较大,为了降低功耗,现有智能手机的内核提供了中央处理器(CPU,CentralProcessingUnit)频率调节机制。具体的,在开机过程中采用“性能”(Performance)模式的调节机制,在Performance模式下,CPU工作在最高频率,以提高开机响应速度,保证最佳性能。当智能手机完全启动后,采用“根据需求”(Ondemand)模式的调节机制,在Ondemand模式下,如果有输入(input)事件,则通过输入处理(inputhandler)实例实现CPU的频率调节,如果没有input事件,则通过CPU的负载实现对CPU的频率调节。在Ondemand模式下,所有的input设备都会注册到该Ondemand模式的inputhandler实例上。每当有输入设备向inputhandler上报input事件,内核会将CPU的频率调整到最高级。如果没有input事件,则根据CPU的负载情况,逐级下调CPU的频率。智能手机处于工作模式下,输入设备会以较高的频率上报input事件。而每上报一次input事件,CPU的频率就会被调整到最高级。因此,在Ondemand模式下,CPU由于长期工作在高频率,导致智能手机的功耗仍然较大。技术实现要素:本发明的目的是提供一种输入设备在输入处理实例中的注册控制方法及装置,以解决智能终端的CPU长期工作在高频率导致的智能手机功耗高的问题。本发明的目的是通过以下技术方案实现的:一种输入设备在输入处理实例中注册的控制方法,包括:中央处理器频率调整模式对应的输入处理实例检测到输入设备后,获取所述输入设备的设备驱动信息;所述输入处理实例判断所述输入设备的设备驱动信息与所述输入处理实例中保存的注册匹配信息中的一组是否相同;如果是,所述输入处理实例向所述输入设备对应的输入设备实例发送允许上报输入事件的注册成功信息;如果所述输入设备的设备驱动信息与所述输入处理实例中保存的各组注册匹配信息均不相同,所述输入处理实例向所述输入设备对应的输入设备实例发送禁止上报输入事件的注册失败信息;所述输入设备实例在接收到注册成功信息后,保存所述输入处理实例的标识。一种输入设备在输入处理实例中注册的控制装置,包括:设备驱动信息获取模块,用于检测到输入设备后,获取所述输入设备的设备驱动信息;条件匹配模块,用于判断所述输入设备的设备驱动信息与中央处理器频率调整模式对应的输入处理实例中保存的注册匹配信息中的一组是否相同;注册控制模块,用于在所述条件匹配模块判断所述输入设备的设备驱动信息与所述输入处理实例中保存的一组注册匹配信息相同时,向所述输入设备对应的输入设备实例发送允许上报输入事件的注册成功信息;在所述条件匹配模块判断所述输入设备的设备驱动信息与所述输入处理实例中保存的所有注册匹配信息均不相同时,向所述输入设备对应的输入设备实例发送禁止上报输入事件的注册失败信息;输入设备驱动模块,用于在接收到注册成功信息后,保存所述输入处理实例的标识。现有技术中,所有输入设备均注册到inputhandler实例中,因此所有的输入设备均向inputhandler实例上报输入事件。而本发明实施例提供的方法及装置,对输入设备在inputhandler实例上注册进行控制,只允许设备驱动信息与inputhandler实例中保存的注册匹配信息相同的输入设备注册到inputhandler实例上。只有注册到inputhandler实例上的输入设备会上报输入事件,响应该输入事件将CPU的频率调整为最高级。从而使得CPU不至于长期工作在高频率,降低了智能终端的功耗。附图说明图1为本发明实施例提供的一种方法流程图;图2为本发明实施例提供的另一种方法流程图;图3为本发明实施例提供的装置结构示意图。具体实施方式本发明实施例提供一种输入设备在输入处理实例中注册的控制方法。应用该方法的智能终端中,对输入设备在inputhandler实例上注册进行控制,只允许设备驱动信息与inputhandler实例中保存的注册匹配信息相同的输入设备注册到inputhandler实例上。只有注册到inputhandler实例上的输入设备会上报输入事件,响应该输入事件将CPU的频率调整为最高级。从而使得CPU不至于长期工作在高频率,降低了智能终端的功耗。本发明实施例所述的智能终端可以但不仅限于是智能手机、掌上电脑、掌上游戏机等等。下面将结合附图,对本发明实施例提供的技术方案进行详细说明。本发明实施例提供的一种输入设备在输入处理实例中注册的控制方法,其实现方式如图1所示,具体包括如下操作:步骤100、CPU频率调整模式对应的inputhandler实例检测到输入设备后,获取该输入设备的设备驱动信息。其具体实现方式可以但不仅限于是,inputhandler实例检测到输入设备的输入设备实例,即检测到该输入设备,从该输入设备实例获取设备驱动信息。每个输入设备在操作系统中对应有装置(Device)数据结构,该Device数据结构即输入设备对应的输入设备实例。步骤110、上述输入处理实例判断所述输入设备的设备驱动信息与上述inputhandler实例中保存的注册匹配信息中的一组是否相同。步骤120、如果是,所述inputhandler实例向所述输入设备对应的输入设备实例发送允许上报输入事件的注册成功信息。步骤130、如果所述输入设备的设备驱动信息与所述inputhandler实例中保存的各组注册匹配信息均不相同,所述inputhandler实例向所述输入设备对应的输入设备实例发送禁止上报输入事件的注册失败信息。步骤140、所述输入设备实例在接收到注册成功信息后,保存所述inputhandler实例的标识。在输入设备对应的Device数据结构中保存有handler列表。具体的,如果注册成功,则将inputhandler实例的标识保存在handler列表中。如果注册失败,则不将inputhandler实例的标识保存在handler列表中。当输入设备有input动作,则对应的Device数据结构向handler列表中保存的inputhandler实例上报input事件。其中,每组设备驱动信息可以但不仅限于包括:输入设备支持的总线类型信息、输入设备的驱动提供商信息、输入设备的产品信息、输入设备的驱动版本信息等等。现有的智能终端中,其输入设备的设备驱动信息通常都无法区分。因此,为了应用本发明实施例提供的方法,可以根据应用需求,针对需要注册到inputhandler实例中的输入设备,可以修改该输入设备的设备驱动信息,使修改后的设备驱动信息与所述inputhandler实例中保存的注册信息相同;也可以修改inputhandler实例中保存的注册匹配信息,使设备驱动信息与所述inputhandler实例中保存的注册匹配信息相同;针对不希望注册到inputhandler实例中的输入设备,修改该输入设备的设备驱动信息,使修改后的设备驱动信息与所述inputhandler实例中保存的注册匹配信息不相同,使设备驱动信息与所述inputhandler实例中保存的注册匹配信息中的各组均不相同。具体的,可以由操作人员输入设备驱动信息,智能终端操作系统的上层执行相应的操作,将目标输入设备的设备驱动信息修改为操作人员输入的设备驱动信息,或者将inputhandler实例中保存的注册匹配信息修改为操作人员输入的信息。也可以由智能终端操作系统的上层获取inputhandler实例中的注册匹配信息,根据用户的指示或者预先配置的策略,将目标输入设备的设备驱动信息修改为与inputhandler实例中的注册匹配信息相同或不同;或者获取目标输入设备的设备驱动信息,根据用户的指示或者预先配置的策略将inputhandler实例中保存的注册匹配信息修改为与目标输入设备的设备驱动信息相同或不同。以智能手机为例,智能手机上的输入设备通常包括:触摸屏、按键、耳机、加速度传感器、光距离传感器、陀螺仪传感器等等。智能手机处于工作模式下,各种传感器以较高的频率上报input事件。但传感器对于性能的要求通常不高,例如加速度传感器的input事件用于实现智能手机屏幕的旋转,此时CPU工作在较低的频率下即可满足其性能需求。因此,可以将智能手机的输入设备分为两类,第一类输入设备对性能要求较高,当发生input事件,需要将CPU的频率调整为最高级,这类输入设备可以包括触摸屏、按键、耳机等等。第二类输入设备对性能要求较低,当发生input事件,不需要将CPU的频率调整为最高级,该类输入设备可以包括加速度传感器、光距离传感器、陀螺仪传感器等等各类传感器。假设仅允许下列设备驱动信息的输入设备注册到inputhandler实例中:输入设备支持的总线类型为BUS_I2C和BUS_HOST、输入设备的驱动提供商信息为0x0001、输入设备的产品信息为0x0001、以及输入设备的驱动版本信息为0x0100。相应的,在inputhandler实例中的标识表格(idtable)中保存这些设备驱动信息。通常各个输入设备的驱动由同一驱动提供商提供,则各个输入设备的设备驱动信息相同。为了加以区分,在智能手机出厂前,对输入设备的设备驱动信息进行修改。也可以在智能手机出厂后,通过提供的开发平台对输入设备的设备驱动信息进行修改。具体的,对于上述第一类输入设备,将其设备驱动信息修改为上述允许注册到inputhandler实例中的设备驱动信息。对于上述第二类输入设备,修改其设备驱动信息以保证无法注册到inputhandler实例中。例如,修改触摸屏的设备驱动信息,使其支持的总线类型为BUS_I2C,驱动提供商信息为0x0001,产品信息为0x0001,驱动版本信息为0x0100。修改按键的设备驱动信息,使其支持的总线类型为BUS_HOST,驱动提供商信息为0x0001,产品信息为0x0001,驱动版本信息为0x0100。基于上述配置,为实现对CPU的频率调整,可以定义新的CPU频率调整模式,以按照本发明实施例提供的方法进行CPU频率的调整。也可以对Ondemand模式进行扩展,以按照本发明实施例提供的方法进行CPU频率的调整。以扩展Ondemand模式为例,如图2所示,当智能手机完全启动后,对输入设备在inputhandler实例中注册的控制流程如图2所示,具体包括如下操作:步骤200、Ondemand模式的inputhandler实例检测到输入设备后,获取该输入设备的设备驱动信息。本实施例中,设备驱动信息包括:输入设备支持的总线类型信息、输入设备的驱动提供商信息、输入设备的产品信息、和输入设备的驱动版本信息。步骤210、Ondemand模式的inputhandler实例判断输入设备的设备驱动信息与该inputhandler实例的idtable中保存的注册匹配信息中的一组是否相同,如果是,执行步骤220,如果输入设备的设备驱动信息与该inputhandler实例的idtable中保存的各组注册匹配信息均不相同,执行步骤240。步骤220、该inputhandler实例向输入设备对应的输入设备实例发送允许上报输入事件的注册成功信息,执行步骤230。步骤230、输入设备对应的输入设备实例在接收到注册成功信息后,保存该inputhandler实例的标识。步骤240、该inputhandler实例向所述输入设备对应的输入设备实例发送禁止上报输入事件的注册失败信息。通过上述流程,如果检测到触摸屏,则将其注册到inputhandler实例;如果检测到加速度传感器,则不将其注册到inputhandler实例中。在上述注册流程基础上,只有在inputhandler实例中注册的输入设备会上报input事件。当检测到输入设备上报的input事件后,将CPU的频率调整为最高级。而对于传感器等未注册到inputhandler实例的输入设备,不会上报input事件,也就不会触发将CPU的频率调整到最高级。通过上述处理流程,既保证了智能手机的性能,又降低了智能手机的功耗。应当指出的是,上述对输入设备的分类仅是一种举例而非限定。还可以根据实际应用需求,确定哪些输入设备注册到inputhandler实例中,哪些输入设备不允许注册到inputhandler实例中。基于与方法同样的发明构思,本发明实施例还提供一种输入设备在输入处理实例中注册的控制装置,其结构如图3所示,具体实现结构如下:设备驱动信息获取模块301,用于检测到输入设备后,获取所述输入设备的设备驱动信息;条件匹配模块302,用于判断所述输入设备的设备驱动信息与CPU频率调整模式对应的输入处理实例中保存的注册匹配信息中的一组是否相同;注册控制模块303,用于在所述条件匹配模块302判断所述输入设备的设备驱动信息与所述输入处理实例中保存的一组注册匹配信息相同时,向所述输入设备对应的输入设备实例发送允许上报输入事件的注册成功信息;在所述条件匹配模块判断所述输入设备的设备驱动信息与所述输入处理实例中保存的所有注册匹配信息均不相同时,向所述输入设备对应的输入设备实例发送禁止上报输入事件的注册失败信息;输入设备驱动模块304,用于在接收到注册成功信息后,保存所述输入处理实例的标识。较佳地,如果输入设备注册失败,本发明实施例提供的装置还可以包括第一信息修改模块,用于:修改所述输入设备的设备驱动信息,使修改后的设备驱动信息与所述输入处理实例中保存的注册匹配信息中的一组信息相同;或者,修改所述输入处理实例中保存的注册匹配信息中的至少一组,使设备驱动信息与所述输入处理实例中保存的注册匹配信息中的一组相同。较佳地,如果输入设备注册失败,本发明实施例提供的装置还可以包括第二信息修改模块,用于:修改所述输入设备的设备驱动信息,使修改后的设备驱动信息与所述输入处理实例中保存的注册匹配信息中的各组均不相同;或者,修改所述输入处理实例中保存的注册匹配信息中的至少一组,使设备驱动信息与所述输入处理实例中保存的注册匹配信息中的各组均不相同。在上述各实施例基础上,所述每组设备驱动信息包括以下至少一项:输入设备支持的总线类型信息、输入设备的驱动提供商信息、输入设备的产品信息、输入设备的驱动版本信息。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1