一种基于申威笔记本的Fn功能键实现方法

文档序号:10511650阅读:367来源:国知局
一种基于申威笔记本的Fn功能键实现方法
【专利摘要】本发明公开了一种基于申威笔记本的Fn功能键实现方法,属于计算机技术领域内核中加入Fn功能键驱动,由此驱动拦截系统的键盘按键,并分析出keycode和scancode,从而进入不同的实现函数中,实现相应的功能;实现方法如下:按下Fn组合键后要通过EC发送对应的keycode和scancode给系统;当相应的keycode和scancode进入系统后,内核会进行捕捉,捕捉到后会发送到相应的应用程序中,在Fn功能键驱动中,对于拦截keycode和scancode操作,只在内核中键值入口处拦截。本发明在申威笔记本上实现Fn组合功能键,提高申威笔记本的用户体验度。
【专利说明】
一种基于申威笔记本的Fn功能键实现方法
技术领域
[0001]本发明涉及计算机技术领域,具体地说是一种基于申威笔记本的Fn功能键实现方法。
【背景技术】
[0002]近年来,随着国产化进程加快,许多国产平台要求的功能越来越丰富,对于笔记本来说,最重要的一项就是Fn组合功能键。现在大多数X86商用本都有很丰富的Fn功能组合键,对于商用本来说,这一项功能的好坏,一定程度上决定用户体验,实现此功能可以大大提高用户体验度。
[0003]对于X86架构,不同的整机厂商实现此功能的方法不尽相同,而且组合键也各有区另IJ,但实现原理基本一致,但对于申威笔记本来说,由于架构不同,所以实现方法和X86也有所区别。申威平台笔记本才刚刚起步,且由于处理器架构限制,不能直接应用X86架构的实现方法,需要重新探索一种实现方法。

【发明内容】

[0004]本发明的技术任务是针对以上不足之处,提供一种基于申威笔记本的Fn功能键实现方法,在申威笔记本上实现Fn组合功能键,提高申威笔记本的用户体验度。
[0005]本发明解决其技术问题所采用的技术方案是:
1、一种基于申威笔记本的Fn功能键实现方法,
内核中加入Fn功能键驱动,由此驱动拦截系统的键盘按键,并分析出key code和scancode,从而进入不同的实现函数中,实现相应的功能;实现方法如下:
1)、所有的笔记本中有EC存在,而EC是键盘与系统的桥梁,所有按键均是由EC通过PS2信号送入系统中,每按键盘一个键,EC都会将其转化成相应的keycode和scancode送入系统中,对于组合键也是类似,要实现Fn功能键必需要实现EC转换功能,既按下Fn组合键后要通过EC发送对应的keycode和scancode给系统;
2)、当相应的keycode和scancode进入系统后,内核会进行捕捉,捕捉到后会发送到相应的应用程序中,但在此之前Fn功能键驱动会先拦截keycode和scancode,并进行相应分析:如果判定为Fn组合键则会跳转至相应的处理函数中,执行完成后正常返回内核继续捕捉;如果判定为其它键,则不做任何操作,直接将keycode和scancode发送到应用程序中,再返回内核中继续捕捉,如此往复,这样就可以实现Fn功能键所有功能;
3)、在Fn功能键驱动中,为了不影响系统的运行速度,特别做了一些优化处理,首先,对于拦截key code和scancode操作,只在内核中键值入口处拦截,既只有按键时才会时行拦截,否则不会进行任何操作;其次,对于跳转至处理函数中,利用函数指针,将keycode与相应的处理函数关联,加快跳转速度;再次,驱动函数全部为可重入函数,防止因为按键过快导致驱动崩溃,引起内核不稳定。
[0006]本发明的一种基于申威笔记本的Fn功能键实现方法和现有技术相比,有益效果在于:
在申威笔记本上实现Fn组合功能键,提高申威笔记本的用户体验度,基于国产申威410处理器的笔记本,提出了一种Fn功能键实现方法。本发明实现方法为完全利用软件来实现Fn功能键,由于申威410笔记本只能安装Iinux操作系统,所以在内核中加入Fn功能键驱动,由此驱动拦截系统的键盘按键,并分析出keycode和scancode,从而进入不同的实现函数中,实现相应的功能,提尚申威笔记本的用户体验度。
【附图说明】
[0007]下面结合附图对本发明进一步说明。
[0008]附图1为笔记本键盘架构;
附图2为Fn功能键实现方法。
【具体实施方式】
[0009]下面结合附图和具体实施例对本发明作进一步说明。
[0010]一种基于申威笔记本的Fn功能键实现方法,内核中加入Fn功能键驱动,由此驱动拦截系统的键盘按键,并分析出keycode和scancode,从而进入不同的实现函数中,实现相应的功能;
如图1所示,所有的笔记本中有EC存在,而EC是键盘与系统的桥梁,所有按键均是由EC通过PS2信号送入系统中,每按键盘一个键,EC都会将其转化成相应的key code和scancode送入系统中,对于组合键也是类似,要实现Fn功能键必需要实现EC转换功能,既按下Fn组合键后要通过EC发送对应的keycode和scancode给系统。
[0011 ] 如图2所示,当相应的keycode和scancode进入系统后,内核会进行捕捉,捕捉到后会发送到相应的应用程序中,但在此之前Fn功能键驱动会先拦截keycode和scancode,并进行相应分析。如果判定为Fn组合键则会跳转至相应的处理函数中,执行完成后正常返回内核继续捕捉;如果判定为其它键,则不做任何操作,直接将keycode和scancode发送到应用程序中,再返回内核中继续捕捉。如此往复,这样就可以实现Fn功能键所有功能。
[0012]如权利要求2所述的Fn驱动,其特征在于,在Fn功能键驱动中,为了不影响系统的运行速度,特别做了一些优化处理,首先,对于拦截keycode和scancode操作,只在内核中键值入口处拦截,既只有按键时才会时行拦截,否则不会进行任何操作;其次,对于跳转至处理函数中,利用函数指针,将keycode与相应的处理函数关联,加快跳转速度;再次,驱动函数全部为可重入函数,防止因为按键过快导致驱动崩溃,引起内核不稳定。
[0013]通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
[0014]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1.一种基于申威笔记本的Fn功能键实现方法,其特征在于 内核中加入Fn功能键驱动,由此驱动拦截系统的键盘按键,并分析出keycode和scancode,从而进入不同的实现函数中,实现相应的功能;实现方法如下: 1 )、按下Fn组合键后要通过EC发送对应的keycode和scancode给系统; 2)、当相应的keycode和scancode进入系统后,内核会进行捕捉,捕捉到后会发送到相应的应用程序中,但在此之前Fn功能键驱动会先拦截keycode和scancode,并进行相应分析:如果判定为Fn组合键则会跳转至相应的处理函数中,执行完成后正常返回内核继续捕捉;如果判定为其它键,则不做任何操作,直接将keycode和scancode发送到应用程序中,再返回内核中继续捕捉,如此往复,这样就可以实现Fn功能键所有功能; 3)、在Fn功能键驱动中,对于拦截keycode和scancode操作,只在内核中键值入口处拦截,既只有按键时才会时行拦截,否则不会进行任何操作;其次,对于跳转至处理函数中,利用函数指针,将keycode与相应的处理函数关联,加快跳转速度;再次,驱动函数全部为可重入函数,防止因为按键过快导致驱动崩溃,引起内核不稳定。
【文档编号】G06F9/44GK105867648SQ201610181070
【公开日】2016年8月17日
【申请日】2016年3月28日
【发明人】王则陆, 陈乃阔
【申请人】山东超越数控电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1