一种标准c和lua联合编程中对键盘的操作的方法

文档序号:6357482阅读:290来源:国知局
专利名称:一种标准c和lua联合编程中对键盘的操作的方法
技术领域
本发明涉及一种Linux操作系统下的键盘操作领域技术,具体地说是一种标准C 和LUA联合编程中对键盘的操作的方法。
背景技术
C语言是目前世界上流行、使用最广泛的面向过程的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。LUA是一个小巧的脚本语言。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。LUA脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得LUA在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。Linux操作系统下,标准C程序对于按键操作有专门的接口程序,可以方便的对键盘进行操作,但是LUA程序又无法对标准键盘进行操作,而LUA程序又需要对键盘进行操作,因此在标准C程序和LUA程序联合编程的场合,就无法满足要求。在程序运行过程中,会出现一个问题,导致程序响应误动作。Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;标准键盘驱动驱动标准键盘缓冲区,非标准键盘驱动驱动非标准键盘缓冲区;标准C程序处理标准键盘驱动上传在标准键盘缓冲区的键值,LUA 程序处理非标准键盘驱动上传在非标准键盘缓冲区的键值,当程序运行在C程序处理标准键值的时候,非标准键盘驱动仍然会向自己的键值缓冲buffer里面发送按键的键值,当程序从C转到LUA程序的时候,LUA程序会读到在C程序里面按下的最后一个键值,而这个键值在LUA里面应该是不需要相应的,所以,这样就会导致LUA程序的误操作。

发明内容
本发明的技术任务是提供一种能解决标准C和LUA联合编程过程中无法对键盘共同操作的问题的一种标准C和LUA联合编程中对键盘的操作的方法。本发明的技术任务是按以下方式实现的,包括键盘,操作系统为Linux操作系统, Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动; Linux操作系统下运行标准C程序和LUA程序,在标准C程序运行的过程中,不但读取标准键盘驱动上传键值进行相应的操作,而且要读取非标准键盘驱动上传的键值,读取之后不进行任何动作即可;而在LUA程序转到标准C程序的时候,标准键盘驱动只会处理标准C程序运行过程中发生的按键操作,标准C程序运行之前也就是LUA程序运行过程中的按键不会对标准键盘驱动有影响。在程序中,标准C程序除了接收标准键盘驱动上传的键值执行相应动作,还需要接收非标准键盘驱动上传的键值,接收到键值读出之后,不作任何处理,程序为
3fd = open(7dev/lua_butW,0_RDWR); read (fd, &keyv, 1); printf("key = %d\n",keyv); close (fd);只是将非标准键盘驱动传上来得键值读到keyv变量里面而已。本发明的一种标准C和LUA联合编程中对键盘的操作的方法和现有技术相比,避免了标准C程序和LUA程序混合编程的情况下对按键的误操作;因而,具有很好的推广使用价值。


下面结合附图对本发明进一步说明。附图1为一种标准C和LUA联合编程中对键盘的操作的方法的流程图。
具体实施例方式参照说明书附图和具体实施例对本发明的一种标准C和LUA联合编程中对键盘的操作的方法作以下详细地说明。实施例本发明的一种标准C和LUA联合编程中对键盘的操作的方法,其结构包括键盘, 操作系统为Linux操作系统,Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;Linux操作系统下运行标准C程序和LUA程序,在标准C程序运行的过程中,不但读取标准键盘驱动上传键值进行相应的操作,而且要读取非标准键盘驱动上传的键值,读取之后不进行任何动作即可;而在LUA程序转到标准C程序的时候,标准键盘驱动只会处理标准C程序运行过程中发生的按键操作,标准C程序运行之前也就是 LUA程序运行过程中的按键不会对标准键盘驱动有影响。在程序中,标准C程序除了接收标准键盘驱动上传的键值执行相应动作,还需要接收非标准键盘驱动上传的键值,接收到键值读出之后,不作任何处理,程序为
fd = open("/dev/lua—button",0—RDWR); read (fd, &keyv, 1); printf("key = %d\n",keyv); close (fd);只是将非标准键盘驱动传上来得键值读到keyv变量里面而已。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1. 一种标准C和LUA联合编程中对键盘的操作的方法,包括键盘,操作系统为Linux操作系统,Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;其特征在于Linux操作系统下运行标准C程序和LUA程序,在标准C程序运行的过程中,不但读取标准键盘驱动上传键值进行相应的操作,而且要读取非标准键盘驱动上传的键值,读取之后不进行任何动作即可;而在LUA程序转到标准C程序的时候,标准键盘驱动只会处理标准C程序运行过程中发生的按键操作,标准C程序运行之前也就是LUA程序运行过程中的按键不会对标准键盘驱动有影响。
全文摘要
本发明公开了一种标准C和LUA联合编程中对键盘的操作的方法,属于键盘操作领域技术,Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;在标准C程序运行的过程中,不但读取标准键盘驱动上传键值进行相应的操作,而且要读取非标准键盘驱动上传的键值,读取之后不进行任何动作即可;而在LUA程序转到标准C程序的时候,标准键盘驱动只会处理标准C程序运行过程中发生的按键操作,标准C程序运行之前也就是LUA程序运行过程中的按键不会对标准键盘驱动有影响。本发明的一种标准C和LUA联合编程中对键盘的操作的方法和现有技术相比,避免了标准C程序和LUA程序混合编程的情况下对按键的误操作。
文档编号G06F9/44GK102184097SQ201110083069
公开日2011年9月14日 申请日期2011年4月2日 优先权日2011年4月2日
发明者于治楼, 李伟, 梁华勇 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1