日期:2014-05-16 浏览次数:20570 次
交互系统的构建之(二)Linux下鼠标和键盘的模拟控制
zouxy09@qq.com
交互系统的构建之(一)http://blog.csdn.net/zouxy09/article/details/7919618 中提到我的整个交互系统包含以下部分: TLD系统、TTS语音合成、语音识别、手势和语音控制鼠标和键盘、运行前加入手掌的检测(这样就不用鼠标画目标box了)、拳头的检测等等。
目前已完成:
1、TLD系统的介绍与编译:
http://blog.csdn.net/zouxy09/article/details/7893022
2、TLD系统工作过程分析:
http://blog.csdn.net/zouxy09/article/details/7893026
3、重写Makefile编译TLD系统:
http://blog.csdn.net/zouxy09/article/details/7919618
本文将完成:
Linux下鼠标和键盘的模拟控制,也就是为手势和语音控制鼠标和键盘部分服务的。
有关于本系统构建的文章结构都会由三个部分来组织,一是该功能模块的介绍和在Linux下简单应用程序的实现;二是将该功能模块整合到交互系统(先以TLD为地基)中去;三是分析目前存在的问题与未来的解决构思。
一、input 子系统和模拟程序编写:
Linux 输入子系统是 Linux内核用于管理各种输入设备(键盘,鼠标,遥控杆,书写板等等)的。输入子系统分为三块: input core, drivers和 event handlers。正常的路径是从底层硬件到驱动,从驱动到 input core,从 input core到 event handler,从 event handler到 user space。
这么说吧:如果是没有这个input子系统的话,假如我们用键盘按下了一个键A,键盘会有一个linux的设备驱动文件,假设是/dev/keyboard,我们的用户空间的应用程序就会打开并访问这个设备文件/dev/keyboard,应用程序会轮询这个文件,一旦你按下了一个键A了,它就会返回给用户程序说你按下了键A。那么如果有了input子系统的话,我们的用户空间的应用程序就不是直接打开和访问键盘的设备驱动文件了,而是访问由键盘驱动在input子系统中注