一种标准C和LUA联合编程中对键盘的操作的方法技术

技术编号:6525823 阅读:1228 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种标准C和LUA联合编程中对键盘的操作的方法,属于键盘操作领域技术,Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;在标准C程序运行的过程中,不但读取标准键盘驱动上传键值进行相应的操作,而且要读取非标准键盘驱动上传的键值,读取之后不进行任何动作即可;而在LUA程序转到标准C程序的时候,标准键盘驱动只会处理标准C程序运行过程中发生的按键操作,标准C程序运行之前也就是LUA程序运行过程中的按键不会对标准键盘驱动有影响。本发明专利技术的一种标准C和LUA联合编程中对键盘的操作的方法和现有技术相比,避免了标准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程序运行过程中的按键不会对标准键盘驱动有影响。

【技术特征摘要】
1. 一种标准C和LUA联合编程中对键盘的操作的方法,包括键盘,操作系统为Linux操作系统,Linux操作系统下键盘设有两种键盘驱动,一种是标准键盘驱动,一种是非标准键盘驱动;其特征在于Linux操作系统下运行标准C程序和LUA程序,在标准C程序运行的过程中,不但读...

【专利技术属性】
技术研发人员:李伟梁华勇于治楼
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:88

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1