按键扩展方法、系统及终端
技术领域
本发明涉及到电子产品领域,特别是涉及到一种按键扩展方法、系统及终端。
背景技术
智能产品横行的今天,部分国家或地区对功能产品仍需求旺盛。为满足客户的性能需求,很多产商不得不使用比较廉价的智能产品平台去开发功能产品。
例如,将智能手机开发为功能手机:智能手机一般仅需要开机键、音量键等几个按键,而为节省硬件资源,也只装配这几个按键对应的接口引脚;功能手机则需要开机键、音量键、数字键等二十几个按键,因此将智能产品开发为功能产品需要面临按键扩展的资源挑战。针对增加数量众多的按键,目前只能通过加配第三方IC(电子元器件)实现按键扩展,但这样会增加开发成本。
发明内容
本发明的主要目的为提供一种按键扩展方法、系统及终端,实现低成本的按键扩展。
本发明提出一种按键扩展方法,包括:
将第一引脚配置为GPIO模式;
当检测到第一引脚被触发时,基于GPIO模式识别被触发的第一引脚;
获取被触发的第一引脚对应的按键值,其中,按键值对应按键功能。
进一步地,将第一引脚配置为GPIO模式的步骤,包括:
配置与第一引脚对应的GPIO寄存器内的参数,参数为第一引脚的指定参数;
根据指定参数,生成与第一引脚对应的模拟按键以将第一引脚配置为GPIO模式,模拟按键对应有按键值。
进一步地,根据指定参数,生成与第一引脚对应的按键值的步骤,包括:
根据指定参数,生成由GND和第一引脚组成的第一坐标;
令第一坐标对应模拟按键。
进一步地,当检测到第一引脚被触发时,基于GPIO模式识别被触发的第一引脚的步骤之前,包括:
接收按键触发事件;
判断接收到的按键触发事件是否为第一引脚对应的按键触发事件;
若是,则判定第一引脚被触发。
进一步地,判断接收到的按键触发事件是否为第一引脚对应的模拟按键触发事件的步骤之后,还包括:
若接收到的按键触发事件不是第一引脚对应的按键触发事件,则判定接收到的按键触发事件为第二引脚对应的按键触发事件,第二引脚为按键接口上的引脚;
根据第二引脚的原生配置程序,执行对应的按键功能。
进一步地,根据第二引脚的原生配置程序,执行对应的按键功能的步骤,包括:
获取与第二引脚对应的第二坐标,第二引脚包括输入引脚和输出引脚,第二坐标由输入引脚和输出引脚组成;
根据第二坐标识别被触发的第二引脚;
获取与第二引脚对应的功能函数,执行对应功能函数的按键功能。
进一步地,将第一引脚配置为GPIO模式的步骤之前,包括:
判断是否接收到功能机模式的启动指令;
若接收到功能机模式的启动指令,则生成将第一引脚配置为GPIO模式的指令。
本发明还提出一种按键扩展系统,包括:
配置模块,用于将第一引脚配置为GPIO模式;
识别模块,用于当检测到第一引脚被触发时,基于GPIO模式识别被触发的第一引脚;
获取模块,用于获取被触发的第一引脚对应的按键值,其中,按键值对应按键功能。
进一步地,配置模块,包括:
配置单元,用于配置与第一引脚对应的GPIO寄存器内的参数,参数为第一引脚的指定参数;
生成单元,用于根据指定参数,生成与第一引脚对应的模拟按键以将第一引脚配置为GPIO模式,模拟按键对应有按键值。
本发明一种终端,其特征在于,包括存储器和处理器;存储器存储有计算机程序,处理器执行计算机程序以实现权利要求1至7中任一项按键扩展方法的步骤。
本发明的有益效果在于,通过将第一引脚配置为GPIO模式,使得第一引脚具有输入、输出的功能,也就是说使第一引脚充当了可以执行输入/输出指令的按键接口引脚,进而通过软件配置的方式,减少了对第三方电子元器件的需求,也就是说,利用电子产品中原有的第一引脚或电子产品中未被应用到的第一引脚,就可以在无需增加第三方IC的情况下,实现按键扩展,提高资源利用,降低硬件成本。
附图说明
图1为本发明一实施例中按键扩展方法的步骤示意图;
图2为本发明一实施例中按键扩展方法中模拟按键的电路结构示意图;
图3为本发明一实施例中按键扩展方法中实体按键的电路结构示意图;
图4为本发明一实施例中按键扩展系统的结构示意图;
图5为本发明一实施例中按键扩展系统中配置模块的结构示意图;
图6为本发明一实施例中按键扩展系统中生成单元的结构示意图;
图7为本发明另一实施例中按键扩展系统的结构示意图;
图8为本发明再一实施例中按键扩展系统的结构示意图;
图9为本发明一实施例中按键扩展系统中执行模块的结构示意图;
图10为本发明还一实施例中按键扩展系统的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明按键扩展方法一实施例,包括:
S1,将第一引脚配置为GPIO模式;
S2,当检测到第一引脚被触发时,基于所述GPIO模式识别被触发的第一引脚;
S3,获取所述被触发的第一引脚对应的按键值,其中,所述按键值对应按键功能。
在上述步骤S1中,上述第一引脚为数据接口上的数据引脚(Data pin),上述数据接口可以为终端(或其他电子产品)上的屏接口,值得一提的是,通常屏接口上预留的数据接口、数据引脚较多,而有很多数据接口均未被利用上,因此,上述第一引脚优选为屏接口上未被利用的引脚,以提高资源利用;在一实施例中,上述屏接口上的多个第一引脚,一般用于屏幕与处理器的数据传输以显示屏幕的界面变化,但为了实现在不加入第三方电子元器件的情况下实现按键扩展,则可将屏接口上未使用的引脚配置成按键参数的传输端口;以智能手机为例,智能手机的屏幕接口上的引脚有20几个,但当智能手机用作功能手机使用时,功能手机一般只需要8个引脚,剩下10几个引脚则未被使用,所以将未被使用的引脚配置成模拟按键,实现资源再利用;上述第一引脚支持多功能复用,即多个复用功能对应同一个引脚,而GPIO模式是其复用功能之一;GPIO(General Purpose Input Output,通用输入/输出)用于当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO功能能够提供额外的控制和监视功能;上述将第一引脚配置为GPIO模式,即将第一引脚的GPIO功能使能,从而转换为GPIO模式,进而使得第一引脚具有输入、输出功能,实现按键扩展。
在上述步骤S2中,将上述第一引脚配置采用GPIO模式为模拟按键,即屏幕上的虚拟按键,当用户点击虚拟按键时,则触发上述第一引脚;由于按键的需求不止一个,所以将多个第一引脚分别采用GPIO模式配置成指定的模拟按键,并且GPIO模式配置各个第一引脚的位置参数不同,每个第一引脚都对应指定模拟按键的位置参数,上述位置参数作为各第一引脚分别对应模拟按键的标识;例如,用户点击屏幕上的模拟按键“1”,则根据模拟按键“1”对应的第一引脚的位置参数,触发第一引脚。
在上述步骤S3中,上述按键值可根据预设键值表获取,上述预设键值表可以是国际通用的键值表,也可以是自行设定的键值表;上述按键功能为根据按键值对应的功能函数执行的按键操作;例如,用户在屏幕中点击数字键“1”以在对话框中输入数字1,则触发数字键“1”对应的第一引脚,获取该第一引脚的按键值,并跳转至数字键“1”对应按键值的功能函数,运行该功能函数以在对话框中输入数字1。通过对不同的第一引脚配置不同的按键值,以执行按键值对应的按键功能,实现在无需增加第三方IC的情况下,实现按键扩展,实现资源再利用,使得成本降低。
在本发明一实施例中,上述将第一引脚配置为GPIO模式的步骤S1,包括:
S11,配置与所述第一引脚对应的GPIO寄存器内的参数,所述参数为所述第一引脚的指定参数;
S12,根据所述指定参数,生成与所述第一引脚对应的模拟按键以将所述第一引脚配置为GPIO模式,所述模拟按键对应有所述按键值。
在上述步骤S11中,上述指定参数为将第一引脚配置成模拟按键的引脚数据,上述引脚数据可包括第一引脚的编号、第一引脚对应的模拟按键的名称、第一引脚与接地端组成的坐标,模拟按键对应的按键值、按键值对应的功能函数等,例如,根据上述引脚数据,配置编号为1的第一引脚与接地端(比如,可以相当于0)组成的坐标,将该坐标作为模拟按键的识别标识(即当模拟按键触发时,终端根据该坐标识别出被触发的是该模拟按键),配置该模拟按键对应的按键值,配置该按键值对应的功能函数;上述GPIO寄存器为CPU(中央处理器)的组成部分;上述GPIO寄存器至少包括GPxCON寄存器(数据寄存器)和GPxDAT寄存器(控制寄存器),GPxCON寄存器用于配置引脚功能,GPxDAT寄存器用于读写引脚数据;配置上述GPIO寄存器为调用预设指令配置第一引脚对应的GPIO寄存器的引脚数据,以配置为第一引脚对应的模拟按键;上述预设指令为终端开发人员预先设置并用于将第一引脚配置成对应模拟按键的程序;在一实施例中,将屏接口中剩余未被使用的引脚重新分配成不同功能的模拟按键,比如数字键,则需要配置不同按键功能对应不同模拟按键的GPIO寄存器,同一个模拟按键可以同时存在有多个GPIO寄存器。
在上述步骤S12中,上述模拟按键可以为终端屏幕上显示的虚拟按键;通过GPIO寄存器的读写功能将屏接口的第一引脚配置为对应位置参数的模拟按键,上述位置参数可以为特定坐标;例如,采用GPIO寄存器的读写功能将第一引脚配置成模拟按键的引脚数据,再将该引脚数据存储于GPIO数据寄存器,当用户点击第一引脚对应的模拟按键时,则触发第一引脚,即由GPIO控制寄存器读取GPIO数据寄存器中的引脚数据,进而获取模拟按键对应的按键值以执行按键功能。通过第一引脚配置对应的GPIO寄存器,以生成对应的模拟按键,从而软件配置引脚数据实现按键扩展,而不需要增加硬件扩展按键,降低生产成本。
在本发明一实施例中,上述根据所述指定参数,生成与所述第一引脚对应的按键值的步骤S12,包括:
S121,根据所述指定参数,生成由GND和所述第一引脚组成的第一坐标;
S122,令所述第一坐标对应所述模拟按键。
在上述步骤S121和步骤S122中,上述指定参数为将第一引脚配置成模拟按键的引脚数据;上述GND(电线接地端)代表地线或0线,这个地并不是真正意义上的地,是出于应用而假设的一个地,对于电源来说,就是电源的负极;将公用GND与各个第一引脚组合成对应不同模拟按键的坐标;参照图2(其中,Data pin 1和GND组成按键KEY 01的坐标,Data pin2和GND组成按键KEY 02的坐标,Data pin 3和GND组成按键KEY 03的坐标;Data pin 4和GND组成按键KEY 04的坐标),例如KEY 01为数字键1,将公用GND与Data pin 1组合成数字键1的坐标,这样当点击数字键1时,终端可根据数字键1的坐标辨别出触发的按键是数字键1,并执行数字键1对应的操作,相当于Data pin 1与公用GND分别为电路的正负极,数字键1为开关,当点击数字键1时,KEY 01使该开关闭合,以接通电路,进而执行数字键1的按键功能;通过公用GND与第一引脚组合成各模拟按键的坐标,该按键虚拟电路设计简单,易于实现,从而降低软件配置模拟按键的成本。
在本发明一实施例中,上述当检测到第一引脚被触发时,基于所述GPIO模式识别被触发的第一引脚的步骤S2之前,包括:
S201,接收按键触发事件;
S202,判断接收到的按键触发事件是否为所述第一引脚对应的按键触发事件;
S203,若是,则判定所述第一引脚被触发。
在上述步骤S201中,一般情况下,终端上除了第一引脚配置的模拟按键,还会有按键接口配置的实体按键,两者的差异在于,模拟按键为软件配置引脚数据实现的,即软件实现的,而实体按键为连通按键接口上引脚(也可以理解为针脚)的电路实现的,即硬件实现的,但两者在使用时没有差异;在一实施例中,按键触发事件除了第一引脚对应的按键触发事件,还有实体按键对应的按键触发事件。
在上述步骤S202和步骤S203中,终端可判断公用GND与第一引脚组合成的虚拟电路是否接通,若接通,则接收到的触发事件是第一引脚对应的模拟按键触发的,再通过读取GPIO数据寄存器的引脚数据辨别出是哪个模拟按键触发的,并跳转至模拟按键对应按键值的功能函数,以执行上述功能函数对应的操作,进而实现模拟按键的使用。
在本发明一实施例中,上述判断接收到的按键触发事件是否为所述第一引脚对应的模拟按键触发事件的步骤S202之后,还包括:
S204,若接收到的按键触发事件不是所述第一引脚对应的按键触发事件,则判定接收到的按键触发事件为第二引脚对应的按键触发事件,所述第二引脚为按键接口上的引脚;
S205,根据所述第二引脚的原生配置程序,执行对应的按键功能。
在上述步骤S204和步骤S205中,上述按键接口为用于配置实体按键的接口,实体按键例如开机键;终端接收到的触发事件不是第一引脚对应的模拟按键触发的,则判定为接收到的按键触发事件是按键接口的第二引脚对应的实体按键触发的,因为终端上的按键只有模拟按键和实体按键两种;上述原生配置程序为终端上的实体按键的出厂设置,例如大部分手机的开机键,手机处于关机状态时,长按开机,则根据开机键的原生配置程序,手机开机;保留终端上原有的实体按键,避免资源浪费,采用实体按键的原生配置程序执行对应的按键功能,而不需要重新配置,减少内存资源的占用。
在本发明一实施例中,上述根据所述第二引脚的原生配置程序,执行对应的按键功能的步骤S205,包括:
S2051,获取与所述第二引脚对应的第二坐标,所述第二引脚包括输入引脚和输出引脚,所述第二坐标由所述输入引脚和所述输出引脚组成;
S2052,根据所述第二坐标识别被触发的所述第二引脚;
S2053,获取与所述第二引脚对应的功能函数,执行对应所述功能函数的按键功能。
在上述步骤S2051和步骤S2052中,第二引脚对应的实体按键为矩阵按键,上述输入引脚为矩阵按键的电路中的行线,上述输出引脚为矩阵按键的电路中的列线,在一实施例中,可通过软件编辑矩阵按键的行线与列线的组合关系;将矩阵按键的行线与列线组成二维坐标(即输入引脚(KEY_IN)与输出引脚(KEY_OUT)组成第二坐标);参照图3,输入引脚KEY_IN 1与输出引脚KEY_OUT 11组成实体按键KEY 11的坐标,输入引脚KEY_IN 1与输出引脚KEY_OUT 12组成实体按键KEY 12的坐标;在一实施例中,实体按键KEY_12的坐标还可以是由其他的输入引脚KEY_IN x(x为对应输入引脚的编号)与输出引脚KEY_OUT 12组成;当用户按下实体按键KEY 11时,KEY_IN 1与KEY_OUT 11接通,终端根据KEY_IN 1与KEY_OUT11组成的坐标识别出当前触发的是KEY 11,进而执行KEY 11对应的按键操作。
可以理解的是,上述“矩阵按键”仅为一个示例,在其他可实施方式中,也可以是其他的按键,“行线”、“列线”也仅为输入、输出、并可作为二维坐标的存在。
在上述步骤S2053中,例如,KEY 11为终端上的“音量+”键,当KEY 11被触发,则“音量+键”接通KEY_IN 1与KEY_OUT 11而发出信号,根据信号发出的地方,即第二坐标,获取第二坐标对应的键值,运行该键值对应的功能函数,从而将终端的音量提高。值得一提的是,本实施方式中的不同按键,可以根据实际情况共用输入引脚或输出引脚,再进一步形成各不相同的第二坐标,如此,可以提升资源利用。
在本发明一实施例中,上述将第一引脚配置为GPIO模式的步骤S1之前,包括:
S101,判断是否接收到功能机模式的启动指令;
S102,若接收到功能机模式的启动指令,则生成将第一引脚配置为GPIO模式的指令。
在上述步骤S101中,以手机为例,上述功能机模式为具备功能手机(Featurephone)的功能的运行模式;上述启动指令可以是用户通过下压终端上特定的按键发出的指令,也可以是用户通过正常启动方式启动后在屏幕对话框中输入的选择指令;当移动终端以功能机模式启动,则移动终端作为功能机运行。如此,可以使得智能机兼具智能和功能两种模式,也就是说,可以在操作平台为智能平台、而智能平台上的按键数量不足、同时又有对功能机模式有需求的情况下,将智能模式转换为功能模式,满足对功能机的需求。
在上述步骤S02中,上述功能机所需要的按键比智能机多,当智能机用于功能机模式使用时,智能机的按键不够用于功能机的使用,所以需要将以智能机为移动终端的屏接口中剩余的第一引脚配置成对应的模拟按键。由于移动终端本来就是智能机,所以用户可选择以智能机模式启动或功能机模式启动,当移动终端开机时,接收到功能机模式的启动指令,则移动终端作为功能机使用,并生成检测屏接口的第一引脚是否转换为GPIO模式的指令以进入步骤S1;由于移动终端本身是智能机,所以若未接收到功能机模式的启动指令,则移动终端采用智能机本来的运行程序运行,从而实现一机两用,提高资源利用,并且用户可根据自身需求启动相应的模式,符合用户的使用需求。
参照图4,本发明一实施例中按键扩展系统,包括:
配置模块1,用于将第一引脚配置为GPIO模式;
识别模块2,用于当检测到第一引脚被触发时,基于所述GPIO模式识别被触发的第一引脚;
获取模块3,用于获取所述被触发的第一引脚对应的按键值,其中,所述按键值对应按键功能。
在上述配置模块1中,上述第一引脚为数据接口上的数据引脚(Data pin),上述数据接口可以为终端(或其他电子产品)上的屏接口,值得一提的是,通常屏接口上预留的数据接口、数据引脚较多,而有很多数据接口均未被利用上,因此,上述第一引脚优选为屏接口上未被利用的引脚,以提高资源利用;在一实施例中,上述屏接口上的多个第一引脚,一般用于屏幕与处理器的数据传输以显示屏幕的界面变化,但为了实现在不加入第三方电子元器件的情况下实现按键扩展,则可将屏接口上未使用的引脚配置成按键参数的传输端口;上述第一引脚支持多功能复用,即多个复用功能对应同一个引脚,而GPIO模式是其复用功能之一;GPIO(General Purpose Input Output,通用输入/输出)用于当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO功能能够提供额外的控制和监视功能;上述将第一引脚配置为GPIO模式,即将第一引脚的GPIO功能使能,从而转换为GPIO模式,进而使得第一引脚具有输入、输出功能,实现按键扩展。
在上述识别模块2中,将上述第一引脚配置采用GPIO模式为模拟按键,即屏幕上的虚拟按键,当用户点击虚拟按键时,则触发上述第一引脚;由于按键的需求不止一个,所以将多个第一引脚分别采用GPIO模式配置成指定的模拟按键,并且GPIO模式配置各个第一引脚的位置参数不同,每个第一引脚都对应指定模拟按键的位置参数,上述位置参数作为各第一引脚分别对应模拟按键的标识;例如,用户点击屏幕上的模拟按键“1”,则根据模拟按键“1”对应的第一引脚的位置参数,触发第一引脚。
在上述获取模块3中,上述按键值可根据预设键值表获取,上述预设键值表可以是国际通用的键值表,也可以是自行设定的键值表;上述按键功能为根据按键值对应的功能函数执行的按键操作;例如,用户在屏幕中点击数字键“1”以在对话框中输入数字1,则触发数字键“1”对应的第一引脚,获取该第一引脚的按键值,并跳转至数字键“1”对应按键值的功能函数,运行该功能函数以在对话框中输入数字1。通过对不同的第一引脚配置不同的按键值,以执行按键值对应的按键功能,实现在无需增加第三方IC的情况下,实现按键扩展,实现资源再利用,使得成本降低。
参照图5,在本发明一实施例中,上述配置模块1,包括:
配置单元11,用于配置与所述第一引脚对应的GPIO寄存器内的参数,所述参数为所述第一引脚的指定参数;
生成单元12,用于根据所述指定参数,生成与所述第一引脚对应的模拟按键以将所述第一引脚配置为GPIO模式,所述模拟按键对应有所述按键值。
在上述配置单元11中,上述指定参数为将第一引脚配置成模拟按键的引脚数据,上述引脚数据可包括第一引脚的编号、第一引脚对应的模拟按键的名称、第一引脚与接地端组成的坐标,模拟按键对应的按键值、按键值对应的功能函数等,例如,根据上述引脚数据,配置编号为1的第一引脚与接地端(比如,可以相当于0)组成的坐标,将该坐标作为模拟按键的识别标识(即当模拟按键触发时,终端根据该坐标识别出被触发的是该模拟按键),配置该模拟按键对应的按键值,配置该按键值对应的功能函数;上述GPIO寄存器为CPU(中央处理器)的组成部分;上述GPIO寄存器至少包括GPxCON寄存器(数据寄存器)和GPxDAT寄存器(控制寄存器),GPxCON寄存器用于配置引脚功能,GPxDAT寄存器用于读写引脚数据;配置上述GPIO寄存器为调用预设指令配置第一引脚对应的GPIO寄存器的引脚数据,以配置为第一引脚对应的模拟按键;上述预设指令为终端开发人员预先设置并用于将第一引脚配置成对应模拟按键的程序;在一实施例中,将屏接口中剩余未被使用的引脚重新分配成不同功能的模拟按键,比如数字键,则需要配置不同按键功能对应不同模拟按键的GPIO寄存器,同一个模拟按键可以同时存在有多个GPIO寄存器。
在上述生成单元12中,上述指定参数还包括各特定坐标与各模拟按键的对应关系;上述模拟按键可以为终端屏幕上显示的虚拟按键;通过GPIO寄存器的读写功能将屏接口的第一引脚配置为对应位置参数的模拟按键,上述位置参数可以为特定坐标;例如,采用GPIO寄存器的读写功能将第一引脚配置成模拟按键的引脚数据,再将该引脚数据存储于GPIO数据寄存器,当用户点击第一引脚对应的模拟按键时,则触发第一引脚,即由GPIO控制寄存器读取GPIO数据寄存器中的引脚数据,进而获取模拟按键对应的按键值以执行按键功能。通过第一引脚配置对应的GPIO寄存器,以生成对应的模拟按键,从而软件配置引脚数据实现按键扩展,而不需要增加硬件扩展按键,降低生产成本。
参照图6,在本发明一实施例中,上述生成单元12,包括:
生成子单元121,用于根据所述指定参数,生成由GND和所述第一引脚组成的第一坐标;
对应子单元122,用于令所述第一坐标对应所述模拟按键。
在上述生成子单元121和对应子单元122中,上述指定参数为将第一引脚配置成模拟按键的引脚数据;上述GND(电线接地端)代表地线或0线,这个地并不是真正意义上的地,是出于应用而假设的一个地,对于电源来说,就是电源的负极;将公用GND与各个第一引脚组合成对应不同模拟按键的坐标;参照图2(其中,Data pin 1和GND组成按键KEY 01的坐标,Data pin 2和GND组成按键KEY 02的坐标,Data pin 3和GND组成按键KEY 03的坐标;Data pin 4和GND组成按键KEY 04的坐标),例如KEY 01为数字键1,将公用GND与Data pin1组合成数字键1的坐标,这样当点击数字键1时,终端可根据数字键1的坐标辨别出触发的按键是数字键1,并执行数字键1对应的操作,相当于Data pin 1与公用GND分别为电路的正负极,数字键1为开关,当点击数字键1时,KEY 01使该开关闭合,以接通电路,进而执行数字键1的按键功能;通过公用GND与第一引脚组合成各模拟按键的坐标,该按键虚拟电路设计简单,易于实现,从而降低软件配置模拟按键的成本。
参照图7,在本发明一实施例中,上述系统还包括:
接收模块201,用于接收按键触发事件,其中,所述按键触发事件包括所述第一引脚对应的按键触发事件;
第一判断模块202,用于判断接收到的按键触发事件是否为所述第一引脚对应的按键触发事件;
第一判定模块203,用于若是,则判定所述第一引脚被触发。
在上述接收模块201中,一般情况下,终端上除了第一引脚配置的模拟按键,还会有按键接口配置的实体按键,两者的差异在于,模拟按键为软件配置引脚数据实现的,即软件实现的,而实体按键为连通按键接口上引脚(也可以理解为针脚)的电路实现的,即硬件实现的,但两者在使用时没有差异;在一实施例中,按键触发事件除了第一引脚对应的按键触发事件,还有实体按键对应的按键触发事件。
在上述第一判断模块202和第一判定模块203中,终端可判断公用GND与第一引脚组合成的虚拟电路是否接通,若接通,则接收到的触发事件是第一引脚对应的模拟按键触发的,再通过读取GPIO数据寄存器的引脚数据辨别出是哪个模拟按键触发的,并跳转至模拟按键对应按键值的功能函数,以执行上述功能函数对应的操作,进而实现模拟按键的使用。
参照图8,在本发明一实施例中,上述系统还包括:
第二判定模块204,用于若接收到的按键触发事件不是所述第一引脚对应的按键触发事件,则判定接收到的按键触发事件为第二引脚对应的按键触发事件,所述第二引脚为按键接口上的引脚;
执行模块205,用于根据所述第二引脚的原生配置程序,执行对应的按键功能。
在上述第二判定模块204和执行模块205中,上述按键接口为用于配置实体按键的接口,实体按键例如开机键;终端接收到的触发事件不是第一引脚对应的模拟按键触发的,则判定为接收到的按键触发事件是按键接口的第二引脚对应的实体按键触发的,因为终端上的按键只有模拟按键和实体按键两种;上述原生配置程序为终端上的实体按键的出厂设置,例如大部分手机的开机键,手机处于关机状态时,长按开机,则根据开机键的原生配置程序,手机开机;保留终端上原有的实体按键,避免资源浪费,采用实体按键的原生配置程序执行对应的按键功能,而不需要重新配置,减少内存资源的占用。
参照图9,在本发明一实施例中,上述执行模块205,包括:
获取单元2051,用于获取与所述第二引脚对应的第二坐标,所述第二引脚包括输入引脚和输出引脚,所述第二坐标由所述输入引脚和所述输出引脚组成;
识别单元2052,用于根据所述第二坐标识别被触发的所述第二引脚;
执行单元2053,用于获取与所述第二引脚对应的功能函数,执行对应所述功能函数的按键功能。
在上述获取单元2051和识别单元2052中,第二引脚对应的实体按键为矩阵按键,上述输入引脚为矩阵按键的电路中的行线,上述输出引脚为矩阵按键的电路中的列线,在一实施例中,可通过软件编辑矩阵按键的行线与列线的组合关系;将矩阵按键的行线与列线组成二维坐标(即输入引脚(KEY_IN)与输出引脚(KEY_OUT)组成第二坐标);参照图3,输入引脚KEY_IN 1与输出引脚KEY_OUT 11组成实体按键KEY 11的坐标,输入引脚KEY_IN 1与输出引脚KEY_OUT 12组成实体按键KEY 12的坐标;在一实施例中,实体按键KEY_12的坐标还可以是由其他的输入引脚KEY_IN x(x为对应输入引脚的编号)与输出引脚KEY_OUT 12组成;当用户按下实体按键KEY 11时,KEY_IN 1与KEY_OUT 11接通,终端根据KEY_IN 1与KEY_OUT 11组成的坐标识别出当前触发的是KEY 11,进而执行KEY 11对应的按键操作。
可以理解的是,上述“矩阵按键”仅为一个示例,在其他可实施方式中,也可以是其他的按键,“行线”、“列线”也仅为输入、输出、并可作为二维坐标的存在。
在上述执行单元2053中,例如,KEY 11为终端上的“音量+”键,当KEY11被触发,则“音量+键”接通KEY_IN 1与KEY_OUT 11而发出信号,根据信号发出的地方,即第二坐标,获取第二坐标对应的键值,运行该键值对应的功能函数,从而将终端的音量提高。值得一提的是,本实施方式中的不同按键,可以根据实际情况共用输入引脚或输出引脚,再进一步形成各不相同的第二坐标,如此,可以提升资源利用。
参照图10,在本发明一实施例中,上述系统,包括:
第二判断模块101,用于判断是否接收到功能机模式的启动指令;
生成模块102,用于若接收到功能机模式的启动指令,则生成将第一引脚配置为GPIO模式的指令。
在上述第二判断模块101中,以手机为例,上述功能机模式为具备功能手机(Feature phone)的功能的运行模式;上述启动指令可以是用户通过下压终端上特定的按键发出的指令,也可以是用户通过正常启动方式启动后在屏幕对话框中输入的选择指令;当移动终端以功能机模式启动,则移动终端作为功能机运行。如此,可以使得智能机兼具智能和功能两种模式,也就是说,可以在操作平台为智能平台、而智能平台上的按键数量不足、同时又有对功能机模式有需求的情况下,将智能模式转换为功能模式,满足对功能机的需求。
在上述生成模块102中,上述功能机所需要的按键比智能机多,当智能机用于功能机模式使用时,智能机的按键不够用于功能机的使用,所以需要将以智能机为移动终端的屏接口中剩余的第一引脚配置成对应的模拟按键。由于移动终端本来就是智能机,所以用户可选择以智能机模式启动或功能机模式启动,当移动终端开机时,接收到功能机模式的启动指令,则移动终端作为功能机使用,并生成检测屏接口的第一引脚是否转换为GPIO模式的指令以进入步骤S1;由于移动终端本身是智能机,所以若未接收到功能机模式的启动指令,则移动终端采用智能机本来的运行程序运行,从而实现一机两用,提高资源利用,并且用户可根据自身需求启动相应的模式,符合用户的使用需求。
本发明终端一实施例,包括存储器和处理器;处理器和存储器通信连接;存储器存储有计算机程序,处理器执行计算机程序以实现上述按键扩展方法的步骤。
上述处理器还包括GPIO寄存器,GPIO寄存器至少包括GPxCON寄存器和GPxDAT寄存器,GPxCON寄存器用于配置引脚功能,GPxDAT寄存器用于读写引脚数据。
本发明通过将第一引脚配置为GPIO模式,使得第一引脚具有输入、输出的功能,也就是说使第一引脚充当了可以执行输入/输出指令的按键接口引脚,这改变了第一引脚原本只能单纯实现数据传导的状态,进而通过软件配置的方式,减少了对第三方电子元器件的需求,也就是说,利用电子产品中原有的第一引脚或电子产品中未被应用到的第一引脚,就可以在无需增加第三方IC的情况下,实现按键扩展,提高资源利用,降低硬件成本。
本领域技术人员可以理解,本发明所述的终端和上述所涉及用于执行本申请中所述方法中的一项或多项的终端。这些终端可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序或应用程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。