事件处理方法、装置、电子设备及可读介质与流程

文档序号:23273035发布日期:2020-12-11 19:05阅读:89来源:国知局
事件处理方法、装置、电子设备及可读介质与流程

本发明实施例涉及电子设备技术领域,尤其涉及一种事件处理方法、装置、电子设备及可读介质。



背景技术:

目前,电子设备往往会搭配设置有热键的键盘输入设备,用户可通过键盘输入设备中的热键,触发电子设备快捷地执行对应的操作。但是,不同设备的热键布局可能具有不同的设计,例如,不同厂商的不同设计,会导致生产的设备具备不同的热键布局,或者,同一厂商不同系列设备的不同设计,也会导致设备的热键布局不同。

相关技术中,为了确保可以正常处理热键触发事件,针对不同的热键布局,往往需要增加对应的热键驱动程序,或者是修改热键驱动程序。这种方式中热键驱动程序的适配性较差,维护成本较大。



技术实现要素:

本发明实施例提供一种事件处理方法、装置、电子设备及可读介质,以解决相关技术中热键驱动程序的适配性较差,维护成本较大的问题。

第一方面,提供了一种事件处理方法,应用于电子设备,所述方法包括:

在检测到热键触发事件的情况下,获取所述热键触发事件触发的目标热键的热键信息,所述热键信息包括所述目标热键的热键扫描码;

通过热键驱动程序,根据所述目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与所述热键扫描码对应的热键键值码,并执行所述对应的热键键值码指示的操作;

其中,所述热键驱动程序与所述预设软件相互独立,所述热键对应表用于表征热键扫描码与热键键值码之间的对应关系,所述热键对应表根据所述电子设备的热键布局设置,不同热键布局对应的热键对应表不同。

可选的,所述方法还包括:

在所述电子设备的热键布局发生变化的情况下,根据变化后的热键布局中各个热键的热键扫描码及其期望触发的操作,生成新的热键对应表;

将所述新的热键对应表定义至所述预设软件。

可选的,所述将所述新的热键对应表定义至所述预设软件,包括:

根据所述新的热键对应表,生成脚本文件;

将所述脚本文件添加至基本输入输出系统中,并编译所述脚本文件,以实现将所述新的热键对应表定义至所述预设软件。

可选的,不同热键键值码对应不同的操作;所述根据变化后的热键布局中各个热键的热键扫描码及其期望触发的操作,生成新的热键对应表,包括:

根据操作系统支持的热键键值码与操作之间的对应关系,确定所述变化后的热键布局中各个热键期望触发的操作所对应的热键键值码;

建立所述变化后的热键布局中各个热键的热键扫描码及其对应的热键键值码之间的对应关系,得到所述新的热键对应表。

可选的,所述电子设备搭载有基本输入输出系统及操作系统;所述热键驱动程序设置在所述操作系统中,所述预设软件为所述基本输入输出系统;所述方法还包括:

在所述操作系统初始化的过程中,通过所述热键驱动程序从所述基本输入输出系统中获取所述热键对应表,并通过所述热键驱动程序将所述热键对应表按照预设格式解析后,注册到所述操作系统中与所述热键驱动程序对应的热键驱动子系统中;

通过所述热键驱动程序将用于处理所述热键触发事件的方法函数注册至所述热键驱动子系统中。

可选的,所述热键驱动子系统基于所述热键驱动程序实现;所述通过热键驱动程序,根据所述目标热键的热键扫描码及预设的热键对应表,确定与所述热键扫描码对应的热键键值码,并执行所述对应的热键键值码指示的操作,包括:

通过所述热键驱动子系统调用所述方法函数,并根据所述方法函数将所述目标热键的热键扫描码与所述热键对应表进行匹配,以确定与所述热键扫描码对应的热键键码值;执行所述对应的热键键码值指示的操作。

可选的,所述热键对应表中定义有不同热键对应的热键索引;

所述热键对应表包括至少一个表项,每个所述表项包括一个所述热键索引及其对应的热键扫描码和热键键值码。

可选的,所述电子设备中设置有嵌入式控制器;所述热键信息还包括热键状态数据;

所述获取所述热键触发事件触发的目标热键的热键信息之后,还包括:

若所述目标热键为开关类型的热键,则通过所述嵌入式控制器将所述热键键值码及所述热键状态数据发送给所述热键驱动子系统;

若所述目标热键为非开关类型的热键,则通过所述嵌入式控制器将所述热键键值码发送给所述热键驱动子系统;

相应地,所述执行所述对应的热键键码值指示的操作,包括:

通过所述热键驱动子系统在仅接收到所述热键键值码的情况下,确定所述热键键值码对应的操作,并执行所述对应的操作;

通过所述热键驱动子系统在接收到所述热键键值码及所述热键状态数据的情况下,确定在所述热键状态数据指示的热键状态下,所述热键键值码对应的操作,并执行所述对应的操作。

第二方面,提供了一种事件处理装置,应用于电子设备,所述装置包括:

获取模块,用于在检测到热键触发事件的情况下,获取所述热键触发事件触发的目标热键的热键信息,所述热键信息包括所述目标热键的热键扫描码;

执行模块,用于通过热键驱动程序,根据所述目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与所述热键扫描码对应的热键键值码,并执行所述对应的热键键值码指示的操作;

其中,所述热键驱动程序与所述预设软件相互独立,所述热键对应表用于表征热键扫描码与热键键值码之间的对应关系,所述热键对应表根据所述电子设备的热键布局设置,不同热键布局对应的热键对应表不同。

可选的,所述装置还包括:

生成模块,用于在所述电子设备的热键布局发生变化的情况下,根据变化后的热键布局中各个热键的热键扫描码及其期望触发的操作,生成新的热键对应表;

定义模块,用于将所述新的热键对应表定义至所述预设软件。

可选的,所述定义模块,具体用于:

根据所述新的热键对应表,生成脚本文件;

将所述脚本文件添加至基本输入输出系统中,并编译所述脚本文件,以实现将所述新的热键对应表定义至所述预设软件。

可选的,不同热键键值码对应不同的操作;所述生成模块,具体用于:

根据操作系统支持的热键键值码与操作之间的对应关系,确定所述变化后的热键布局中各个热键期望触发的操作所对应的热键键值码;

建立所述变化后的热键布局中各个热键的热键扫描码及其对应的热键键值码之间的对应关系,得到所述新的热键对应表。

可选的,所述电子设备搭载有基本输入输出系统及操作系统;所述热键驱动程序设置在所述操作系统中,所述预设软件为所述基本输入输出系统;所述装置还包括:

初始化模块,用于在所述操作系统初始化的过程中,通过所述热键驱动程序从所述基本输入输出系统中获取所述热键对应表,并通过所述热键驱动程序将所述热键对应表按照预设格式解析后,注册到所述操作系统中与所述热键驱动程序对应的热键驱动子系统中;

注册模块,用于通过所述热键驱动程序将用于处理所述热键触发事件的方法函数注册至所述热键驱动子系统中。

可选的,所述热键驱动子系统基于所述热键驱动程序实现;所述执行模块,具体用于:

通过所述热键驱动子系统调用所述方法函数,并根据所述方法函数将所述目标热键的热键扫描码与所述热键对应表进行匹配,以确定与所述热键扫描码对应的热键键码值;执行所述对应的热键键码值指示的操作。

可选的,所述热键对应表中定义有不同热键对应的热键索引;

所述热键对应表包括至少一个表项,每个所述表项包括一个所述热键索引及其对应的热键扫描码和热键键值码。

可选的,所述电子设备中设置有嵌入式控制器;所述热键信息还包括热键状态数据;所述装置还包括:

发送模块,用于若所述目标热键为开关类型的热键,则通过所述嵌入式控制器将所述热键键值码及所述热键状态数据发送给所述热键驱动子系统;若所述目标热键为非开关类型的热键,则通过所述嵌入式控制器将所述热键键值码发送给所述热键驱动子系统;

相应地,所述执行模块,还具体用于:

通过所述热键驱动子系统在仅接收到所述热键键值码的情况下,确定所述热键键值码对应的操作,并执行所述对应的操作;通过所述热键驱动子系统在接收到所述热键键值码及所述热键状态数据的情况下,确定在所述热键状态数据指示的热键状态下,所述热键键值码对应的操作,并执行所述对应的操作。

第三方面,提供了一种电子设备,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行所述事件处理方法。

第四方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行所述事件处理方法。

在本发明实施例中,包括:在检测到热键触发事件的情况下,获取热键触发事件触发的目标热键的热键信息;热键信息包括目标热键的热键扫描码;通过热键驱动程序,根据目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与热键扫描码对应的热键键值码,并执行对应的热键键值码指示的操作;其中,热键驱动程序与预设软件相互独立,热键对应表用于表征热键扫描码与热键键值码之间的对应关系,热键对应表根据电子设备的热键布局设置,不同热键布局对应的热键对应表不同。本发明中,根据电子设备的热键布局设置热键对应表,可以使热键对应表能够准确的表征当前的热键布局。同时,将热键对应表与热键驱动程序分离,热键驱动程序使用从与热键驱动程序独立的预设软件中获取的热键对应表处理热键触发事件。这样,面对不同的热键布局,无需新增或修改热键驱动程序,通过在预设软件中设置与热键布局对应的热键对应表即可适配该热键布局,实现基于同一热键驱动程序针对不同热键布局处理热键触发事件,进而可以提高热键驱动程序的适配性,降低维护成本。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例提供的一种事件处理方法的步骤流程图;

图2是本发明实施例提供的另一种事件处理方法的步骤流程图;

图3是本发明实施例提供的一种事件处理方法的系统架构图;

图4是本发明实施例提供的一种事件处理装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种事件处理方法、装置、电子设备及可读介质,用于解决现有技术中,针对不同的热键布局,往往需要增加对应的热键驱动程序,或者是修改热键驱动程序,导致热键驱动程序的适配性较差,维护成本较大。

图1是本发明实施例提供的一种事件处理方法的步骤流程图,如图1所示,该方法可以包括:

步骤101、在检测到热键触发事件的情况下,获取所述热键触发事件触发的目标热键的热键信息,所述热键信息包括所述目标热键的热键扫描码。

本发明实施例中,热键又可以称为快捷键或快速键,热键指的是键盘中用于完成一个特定操作的按键。例如,“ctrl”键、“capslock”键等等。在热键被触发时,例如,热键被用户按下时,可以产生一个热键触发事件。示例的,可以在检测到热键被按下时,确认检测到热键触发事件。

进一步地,热键触发事件具体触发的热键即为目标热键。示例的,假设用户按下“capslock”键产生了一个热键触发事件,那么被按下的“capslock”键即为目标热键。目标热键的热键信息可以用于表征具体被触发的热键,热键信息可以包括热键扫描码。其中,热键扫描码可以是键盘上的热键被按下时,电子设备中的嵌入式控制器(embeddedcontroller,ec)为该热键输出的标识。相应地,获取热键触发事件触发的目标热键的热键信息时,可以是获取ec为目标热键输出的热键标识。

具体的,该标识可以为一个无符号的8位数据。不同热键被按下时,ec为热键输出的标识不同。由于不同设备的ec为热键确定输出的标识的方式可能不同,因此,不同设备针对同一热键生成的热键扫描码可能不同,从而使得不同设备可能对应不同的热键布局。

步骤102、通过热键驱动程序,根据所述目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与所述热键扫描码对应的热键键值码,并执行所述对应的热键键值码指示的操作。

其中,热键驱动程序可以用于使电子设备通过热键来完成一个操作,是操作系统(operatingsystem,os)和硬件层通信的特殊程序。热键对应表是从所述电子设备的预设软件中获取的,是根据所述电子设备的热键布局设置的,用于表征热键扫描码与热键键值码之间的对应关系,其中热键扫描码用于标识热键,热键键值码用于指示触发的操作。可以认为热键对应表是热键布局的具体表现形式,不同热键布局对应的热键对应表不同。其中,热键布局用于表征电子设备中定义的多个热键对应触发的操作,所述热键驱动程序与所述预设软件相互独立,预设软件可以为除热键驱动程序外的软件。

值得说明的是,热键键值码又可以称为热键键值,热键键值码可以是操作系统支持的键值码,不同的热键键值码可以指示不同的操作。其中,操作系统支持的键值码及其指示的操作可以是在设计操作系统时设置的。

在本实施例中,根据目标热键的热键扫描码及预设的热键对应表,确定与热键扫描码对应的热键键值码时,可以直接将目标热键的热键扫描码与热键对应表中的各个热键扫描码进行比对,将与目标热键的热键扫描码相匹配的热键扫描码对应的热键键值码,确定为目标热键的热键扫描码对应的热键键值码。进一步地,执行对应的热键键值码指示的操作时,可以确定操作系统中该热键键值码指示的操作,然后执行该操作。示例的,假设该热键键值码指示的操作为将设备静音,则执行将设备静音的操作。本发明实施例中,根据电子设备的热键布局设置热键对应表,可以使热键对应表能够准确的表征当前的热键布局。同时,将热键对应表与热键驱动程序分离,热键驱动程序使用从与热键驱动程序独立的预设软件中获取的热键对应表处理热键触发事件。这样,面对不同的热键布局,无需新增或修改热键驱动程序,通过在预设软件中设置与热键布局对应的热键对应表即可适配该热键布局,实现基于同一热键驱动程序针对不同热键布局处理热键触发事件,进而可以提高热键驱动程序的适配性,降低实现成本。

综上所述,本发明实施例提供的一种热键驱动方法,包括:在检测到热键触发事件的情况下,获取热键触发事件触发的目标热键的热键信息;热键信息包括目标热键的热键扫描码;通过热键驱动程序,根据目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与热键扫描码对应的热键键值码,并执行对应的热键键值码指示的操作;其中,热键驱动程序与预设软件相互独立,热键对应表用于表征热键扫描码与热键键值码之间的对应关系,热键对应表根据电子设备的热键布局设置,不同热键布局对应的热键对应表不同。本发明中,根据电子设备的热键布局设置热键对应表,可以使热键对应表能够准确的表征当前的热键布局。同时,将热键对应表与热键驱动程序分离,热键驱动程序使用从与热键驱动程序独立的预设软件中获取的热键对应表处理热键触发事件。这样,面对不同的热键布局,无需新增或修改热键驱动程序,通过在预设软件中设置与热键布局对应的热键对应表即可适配该热键布局,实现基于同一热键驱动程序针对不同热键布局处理热键触发事件,进而可以提高热键驱动程序的适配性,降低维护成本。

可选的,本发明实施例中电子设备可以搭载有基本输入输出系统(basicinputoutputsystem,bios)及操作系统。热键驱动程序可以设置在操作系统中,预设软件可以为基本输入输出系统。相应地,图2是本发明实施例提供的另一种事件处理方法的步骤流程图,如图2所示,该方法可以包括:

步骤201、在所述操作系统初始化的过程中,通过所述热键驱动程序从所述基本输入输出系统中获取所述热键对应表,并通过所述热键驱动程序将所述热键对应表按照预设格式解析后,注册到所述操作系统中与所述热键驱动程序对应的热键驱动子系统中。

示例的,参照图3,其示出了本发明实施例提供的一种事件处理方法的系统架构图,该系统架构可以基于电子设备实现,电子设备可以包括软件层及硬件层,软件层包括操作系统和基本输入输出系统,硬件层可以包括处理器及嵌入式控制器。

其中,操作系统中可以包括热键驱动程序和基于热键驱动程序实现的热键驱动子系统。具体的,操作系统具有内核态,内核态可以控制电子设备的硬件资源,运行在内核态中的程序可以通过系统调用,访问电子设备硬件层的硬件资源。在本发明实施例中,内核态中可以运行有热键驱动程序和基于热键驱动程序实现的热键驱动子系统,热键驱动程序是一种可以使热键驱动子系统和硬件层中的处理器通信的特殊程序,热键驱动程序用于将基本输入输出系统提供的热键对应表注册到热键驱动子系统中,使得热键驱动子系统可以通过热键驱动程序,基于热键对应表实现热键触发事件的处理。

具体的,在电子设备的操作系统初始化的过程中,往往需要进行基本输入输出系统的固件的加载。因此,本发明实施例中,可以将热键对应表设置在基本输入输出系统中,并由热键驱动程序从基本输入输出系统中获取热键对应表。具体的,从基本输入输出系统中获取热键对应表时,可以是由基本输入输出系统主动将热键对应表输出至热键驱动程序,从而一定程度上提高热键对应表加载过程的适用场景以及稳定性。

进一步地,本发明实施例中的预设格式可以是与热键对应表的格式相匹配的解析格式,这样,可以确保能够顺利的按照预设格式对热键对应表进行解析,得到解析结果。可选的,本发明实施例中的热键对应表中还可以定义有不同热键对应的热键索引,热键对应表可以包括至少一个表项,一个表项可以包括一个热键索引及其对应的热键扫描码和热键键值码。示例的,假设有n个热键,那么热键对应表中可以包括n个表项,每个表项由热键索引、热键扫描码和热键键值码三个元素组成。每个表项可以对应表征一个热键。例如,第n个热键对应的表项可以包括第n个热键的热键索引、第n个热键的热键扫描码以及第n个热键对应的热键键值码,其中,第n个热键对应的热键键值码指示的操作为第n个热键所需触发的操作。

具体的,热键索引又可以称为热键标识,可以用于唯一标识一个热键,热键索引可以为大于0的任意整数,不同热键的热键索引不同。相应地,进行注册时,可以按照热键索引依次对解析后的热键对应表中的各个表项注册到热键驱动子系统中。这样,通过设置热键索引,使得在注册热键对应表时,可以按照热键索引依次有序的对热键对应表中的各个表项进行注册,进而可以确保注册的有序性。进一步地,热键对应表还可以包括表项数,其中,表项数可以用于表示热键对应表中包含的表项的具体数量。相应地,可以在注册的表项的数量达到热键对应表中设置的表项数的情况下,确认注册完成。这样,通过设置的表项数,可以便捷的确认注册是否完成。

步骤202、通过所述热键驱动程序将用于处理所述热键触发事件的方法函数注册至所述热键驱动子系统中。

在本发明实施例中,可以预先建立用于处理热键触发事件的方法函数,并由热键驱动程序将该方法函数注册至热键驱动子系统中,使得热键驱动子系统后续具备根据方法函数处理热键触发事件的功能。具体的,注册方法函数可以是将方法函数的执行地址入口赋值到热键驱动子系统中,以方便后续调用。热键驱动子系统可以具体为输入(input)子系统。由于热键触发的操作往往涉及到对设备的各个组件的控制,例如,控制显示屏的亮度,控制设备的触摸屏的亮度,控制设备的扬声器静音,等等。而input子系统可同时用于实现软件层与各个组件之间的应用层,这样,可以使得热键驱动子系统能够顺利接收到键盘组件输入的热键触发事件以及和其他组件通信,以控制组件执行热键触发的操作。例如,向扬声器发送静音指令,以控制扬声器静音。

步骤203、获取所述热键触发事件触发的目标热键的热键信息;所述热键信息包括所述目标热键的热键扫描码。

可选的,热键信息还可以包括热键状态数据,即,热键信息可以由热键状态数据及热键扫描码组成。其中,热键信息可以是电子设备中设置的嵌入式控制器获取的,热键状态数据可以表征热键的开关状态,热键状态数据可以包括表征热键处于打开状态的状态数据以及表征热键处于关闭状态的状态数据。

进一步地,热键状态数据仅对开关类型的热键有效,可选的,本发明实施例还可以通过执行下述步骤,将热键信息传递给热键驱动子系统,以供热键驱动子系统使用:

步骤a、若所述目标热键为开关类型的热键,则通过所述嵌入式控制器将所述热键键值码及所述热键状态数据发送给所述热键驱动子系统。

步骤b、若所述目标热键为非开关类型的热键,则通过所述嵌入式控制器将所述热键键值码发送给所述热键驱动子系统。

具体的,本发明实施例中,可以先判断目标热键的开关类型,示例的,可以将目标热键的键名与预设的开关类型热键的键名列表进行比对,如果列表中存在与该目标热键的键名相匹配的键名,则可以确定目标热键为开关类型的热键。反之,如果列表中不存在与该目标热键的键名相匹配的键名,则可以确定目标热键为非开关类型的热键。本发明实施例中,通过判断目标热键的类型,并在目标热键为开关类型的热键的情况下,同时上报热键键值码及热键状态数据,在目标热键为非开关类型的热键的情况下,仅上报热键键值码。这样,可以避免在热键状态数据无效的情况下,执行不必要的上报操作,进而节省处理资源。

步骤204、通过所述热键驱动子系统调用所述方法函数,并根据所述方法函数将所述目标热键的热键扫描码与所述热键对应表进行匹配,以确定与所述热键扫描码对应的热键键码值;执行所述对应的热键键码值指示的操作。

可选的,本步骤中执行所述对应的热键键码值指示的操作可以包括:

子步骤(1):通过所述热键驱动子系统在仅接收到所述热键键值码的情况下,确定所述热键键值码对应的操作,并执行所述对应的操作。

子步骤(2):通过所述热键驱动子系统在接收到所述热键键值码及所述热键状态数据的情况下,确定在所述热键状态数据指示的热键状态下,所述热键键值码对应的操作,并执行所述对应的操作。

具体的,如果热键驱动子系统仅接收到热键键值码,则可以确定目标热键为非开关类型的热键,热键的开关状态不会影响到所需执行的操作。如果热键驱动子系统接收到热键键值码及热键状态数据,则可以确定目标热键为开关类型的热键,热键的开关状态会影响到所需执行的操作。因此,在第一种情况下,热键驱动子系统可以直接确定并执行热键键值码对应的操作。在第二种情况下,热键驱动子系统可以根据热键状态数据指示的热键状态,确定在所该热键状态下,热键键值码对应的操作,并执行对应的操作。示例的,假设在打开状态下,热键键值码对应的操作为打开大写,在关闭状态下,热键键值码对应的操作为关闭大写,热键驱动子系统接收到的热键状态数据指示的热键状态为打开状态,那么可以执行打开大写的操作。本发明实施例中,热键驱动子系统根据接收到的热键信息的具体内容,针对性的执行对应的操作,可以确保执行操作的准确性。

可选的,本发明实施例中的事件处理方法还可以包括:

步骤c、在所述电子设备的热键布局发生变化的情况下,根据变化后的热键布局中各个热键的热键扫描码及其期望触发的操作,生成新的热键对应表。

示例的,电子设备的热键布局发生变化可以是由于电子设备连接的键盘组件发生更换导致。变化后的热键布局中的各个热键的热键扫描码的具体值可以由电子设备的嵌入式控制器决定,变化后的热键布局中各个热键的期望触发的操作可以是根据实际需求设置的。可选的,本发明实施例中,可以通过下述子步骤实现:

子步骤(3):根据所述电子设备的操作系统支持的热键键值码与操作之间的对应关系,确定所述变化后的热键布局中各个热键期望触发的操作所对应的热键键值码。

子步骤(4):建立所述变化后的热键布局中各个热键的热键扫描码及其对应的热键键值码之间的对应关系,得到所述新的热键对应表。

具体的,电子设备的操作系统支持的热键键值码与操作之间的对应关系,可以从操作系统的配置文件中获取。获取到该对应关系之后,可以依次查找各个期望触发的操作在该对应关系中对应的热键键值码。进一步地,在完成查找之后,可以按照key-value的形式,建立变化后的热键布局中各个热键的热键扫描码及其对应的热键键值码之间的对应关系,进而得到新的热键对应表。

本发明实施例中,通过结合操作系统支持的热键键值码与操作之间的对应关系,确定变化后的热键布局中各个热键期望触发的操作对应的热键键值码,并建立新的热键对应表。可以确保建立的新的热键对应表能够适配当前电子设备的操作系统,进而确保后续可以基于该新的热键对应表,正常触发操作。同时,通过建立的新的热键对应表,可以准确表征变化后的热键布局,这样,在热键布局变化后,通过建立新的热键对应表即可适配新的热键布局。

步骤d、将所述新的热键对应表定义至所述预设软件。

本发明实施例中,在热键布局发生变化的情况下,无需新增或者对热键驱动程序进行修改,仅需将新的热键对应表重新定义至预设软件中。原有的热键驱动程序按照原有处理逻辑基于新的热键对应表对热键触发事件进行处理,即可实现适配新的热键布局正常对热键触发事件进行处理。这样,可以提高热键驱动程序对硬件的适配能力,提高热键驱动程序的兼容性,以及避免频繁变更热键驱动程序,降低热键驱动程序的运维成本。同时,由于热键驱动程序设置在操作系统中,本发明实施例中,通过将热键对应表设置在基本输入输出系统中,这样,在为了适配热键布局而更新热键对应表的情况下,可以避免对操作系统改动,进而确保操作系统的稳定性。

可选的,本发明实施例中可以根据所述新的热键对应表,生成脚本文件;将所述脚本文件添加至基本输入输出系统中,并编译所述脚本文件,以实现所述新的热键对应表定义至所述预设软件。具体的,可以根据新的热键对应表的内容生成脚本文件,该脚本文件可以表征新的热键对应表的内容。进一步地,通过编译该脚本文件,可以使得新的热键对应表被注册到基本输入输出系统中。由于编译脚本文件所需的时间简短,操作较为便捷,因此,本发明实施例中,通过生成脚本文件,以脚本文件的形式实现在基本输入输出系统中定义新的热键对应表,可以提高定义新的热键对应表的效率。需要说明的是,本发明实施例中,之前的热键对应表可以是通过相同的方式注册,此处不再赘述。同时,在基本输入输出系统中定义新的热键对应表之后,可以将之前的热键对应表删除,以减少对系统的占用。

综上所述,本发明实施例提供的一种热键驱动方法,根据电子设备的热键布局设置热键对应表,可以使热键对应表能够准确的表征当前的热键布局。同时,将热键对应表与热键驱动程序分离,热键驱动程序使用从与热键驱动程序独立的预设软件中获取的热键对应表处理热键触发事件。这样,面对不同的热键布局,无需新增或修改热键驱动程序,通过在预设软件中设置与热键布局对应的热键对应表即可适配该热键布局,实现基于同一热键驱动程序针对不同热键布局处理热键触发事件,进而可以提高热键驱动程序的适配性,降低维护成本。

图4是本发明实施例提供的一种事件处理装置的结构框图,包括:

获取模块401,用于在检测到热键触发事件的情况下,获取所述热键触发事件触发的目标热键的热键信息,所述热键信息包括所述目标热键的热键扫描码;

执行模块402,用于通过热键驱动程序,根据所述目标热键的热键扫描码及从预设软件中获取的热键对应表,确定与所述热键扫描码对应的热键键值码,并执行所述对应的热键键值码指示的操作;

其中,所述热键驱动程序与所述预设软件相互独立,所述热键对应表用于表征热键扫描码与热键键值码之间的对应关系,所述热键对应表根据所述电子设备的热键布局设置,不同热键布局对应的热键对应表不同。

可选的,所述装置还包括:

生成模块,用于在所述电子设备的热键布局发生变化的情况下,根据变化后的热键布局中各个热键的热键扫描码及其期望触发的操作,生成新的热键对应表;

定义模块,用于将所述新的热键对应表定义至所述预设软件。

可选的,所述定义模块,具体用于:

根据所述新的热键对应表,生成脚本文件;

将所述脚本文件添加至基本输入输出系统中,并编译所述脚本文件,以实现将所述新的热键对应表定义至所述预设软件。

可选的,不同热键键值码对应不同的操作;所述生成模块,具体用于:

根据操作系统支持的热键键值码与操作之间的对应关系,确定所述变化后的热键布局中各个热键期望触发的操作所对应的热键键值码;

建立所述变化后的热键布局中各个热键的热键扫描码及其对应的热键键值码之间的对应关系,得到所述新的热键对应表。

可选的,所述电子设备搭载有基本输入输出系统及操作系统;所述热键驱动程序设置在所述操作系统中,所述预设软件为所述基本输入输出系统;所述装置还包括:

初始化模块,用于在所述操作系统初始化的过程中,通过所述热键驱动程序从所述基本输入输出系统中获取所述热键对应表,并通过所述热键驱动程序将所述热键对应表按照预设格式解析后,注册到所述操作系统中与所述热键驱动程序对应的热键驱动子系统中;

注册模块,用于通过所述热键驱动程序将用于处理所述热键触发事件的方法函数注册至所述热键驱动子系统中。

可选的,所述热键驱动子系统基于所述热键驱动程序实现;所述执行模块401,具体用于:

通过所述热键驱动子系统调用所述方法函数,并根据所述方法函数将所述目标热键的热键扫描码与所述热键对应表进行匹配,以确定与所述热键扫描码对应的热键键码值;执行所述对应的热键键码值指示的操作。

可选的,所述热键对应表中定义有不同热键对应的热键索引;

所述热键对应表包括至少一个表项,每个所述表项包括一个所述热键索引及其对应的热键扫描码和热键键值码。

可选的,所述电子设备中设置有嵌入式控制器;所述热键信息还包括热键状态数据;所述装置还包括:

发送模块,用于若所述目标热键为开关类型的热键,则通过所述嵌入式控制器将所述热键键值码及所述热键状态数据发送给所述热键驱动子系统;若所述目标热键为非开关类型的热键,则通过所述嵌入式控制器将所述热键键值码发送给所述热键驱动子系统;

相应地,所述执行模块401,还具体用于:

通过所述热键驱动子系统在仅接收到所述热键键值码的情况下,确定所述热键键值码对应的操作,并执行所述对应的操作;通过所述热键驱动子系统在接收到所述热键键值码及所述热键状态数据的情况下,确定在所述热键状态数据指示的热键状态下,所述热键键值码对应的操作,并执行所述对应的操作。

综上所述,本发明实施例提供的一种事件处理装置,根据电子设备的热键布局设置热键对应表,可以使热键对应表能够准确的表征当前的热键布局。同时,将热键对应表与热键驱动程序分离,热键驱动程序使用从与热键驱动程序独立的预设软件中获取的热键对应表处理热键触发事件。这样,面对不同的热键布局,无需新增或修改热键驱动程序,通过在预设软件中设置与热键布局对应的热键对应表即可适配该热键布局,实现基于同一热键驱动程序针对不同热键布局处理热键触发事件,进而可以提高热键驱动程序的适配性,降低维护成本。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

优选的,本发明实施例还提供一种电子设备,包括一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述实施例提供的事件处理方法。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的事件处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的基于头像的图像处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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