- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
培训资料 MINIGUI简介
键盘输入引擎的设计 首先进入/libminigui-1.3.3/src/ial/中,有一个dummy.c文件,修改此文件。 BOOL InitDummyInput (INPUT* input, const char* mdev, const char* mtype) { btn_fd = open (/dev/key, O_RDONLY); if (btn_fd 0 ) { fprintf (stderr, DUMMY: Can not open button key!\n); return FALSE; } …… } 键盘输入引擎的设计 static int wait_event (int which, fd_set *in, fd_set *out, fd_set *except,struct timeval *timeout) //等待外部事件的处罚 { …… if (e 0) { if (btn_fd = 0 FD_ISSET(btn_fd, in)) //如果btn有信息且为输入 { unsigned char buf[3]; FD_CLR(btn_fd, in); //清空输入集 read(btn_fd, buf, sizeof(buf)); //获得键盘信息 btn_state = buf[1]; //获得键值 retvalue |= IAL_KEYEVENT; //为键盘信息 } } …… return retvalue; } 键盘输入引擎的设计 static int keyboard_update(void) { char *statinfo; int status; int key; statinfo = (btn_state KEY_RELEASED)? “UP”:“DOWN”; //键盘状态 status = (btn_state KEY_RELEASED)? 0 : 1; key = btn_state KEY_NUM; //键值 btn_state = 0; switch (key) { case 97: state[SCANCODE_A] = status; break; case 98: state[SCANCODE_ENTER] = status; break; case 99: state[SCANCODE_ESCAPE] = status; break; …… } return NR_KEYS; } 键盘输入引擎的设计 void TermDummyInput (void) { if (mouse_fd = 0) close (mouse_fd); if (btn_fd = 0) close(btn_fd); } 至此,输入引擎程序结束,需要重新编译libminigui库,并将生成的库替换掉文件系统中的几个库文件。 文件的编译 gcc –o same same.c –lpthread –lminigui –ljpeg –lpng -o 选项告诉gcc 要生成的目标文件名,这里是same, -l 选项指定要链接的库,这里链接的是libminigui 库或 libpthread。编译 MiniGUI-Threads 程序时必须连接这个函数库;其它要链接的 jpeg、png等函数库,则是 MiniGUI 内部所依赖的函数库。 如果要生成要在目标板上运行的程序时,我们要选择交叉编译器为arm-linux-gcc 什么是数据库 数据库(database)是一种保存有组织的数据的容器(通常是一个文件或一组文件)。 数据库是一个以某种有组织的方式存储的数据集合。理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织。 SQLite的优点 与MySQL相比,它更彻底的免费,并且没有任何使用上的限制. 非常小巧,PHP5以上版本中无需任何配置即可支持SQLite. 无需单独购买数据库服务,无服务器进程,配置成本为零. SQLite的缺点 事务处理并发性 SQLite通过数据库级上的独占性和共享锁来实现独立事务处理,这意味着当多个进程或线程在同一时间可以从数据库读取数据,但是只能有一个可以同时写入,在写入之前,必须获得独占锁,其它的读操作不允许发生。 性能
文档评论(0)