易截截图软件、单文件、免安装、纯绿色、仅160KB

浅析linux下鼠标驱动的实现

http://blog.chinaunix.net/u1/38994/showart_1132089.html
浅析linux下鼠标驱动的实现
【浅析linux下键盘设备工作和注册流程】
对于鼠标驱动和前面分析过的键盘驱动都是共用input模型,
所以,
对于事件上报和处理的方式都没有区别,
只是mouse鼠标驱动当上报完dx,
dy,
left
,
middle,
right之后,
需要调用input_sync(
)
,
将前面上报的仅仅填充在缓冲区中的数据,
通过mousedev_notify_readers(
)
发送给open了的挂接在mousedev-
>
client_list链表上等待获取鼠标信息的client门,
鼠标设备和键盘设备类似都是在/
dev/
input/
目录下创建了一个char类型的设备节点,
由应用程序使用read或者poll来阻塞调用,
对于键盘设备为/
dev/
input/
event0,
.
.
.
,
/
dev/
input/
eventx,
对于鼠标设备为/
dev/
input/
mouse0,
.
.
.
,
/
dev/
input/
mousex,
可以使用sudo cat /
dev/
input/
event0来从终端上截获显示按键的信息,
使用sudo cat /
dev/
input/
mouse0来捕捉鼠标的信息.
  让我们来看看驱动源码【gliethttp.
Leith】:
=
=
=
=
=
=
=
=
=
=
=
=
drivers\input\mouse\amimouse.
c=
=
=
=
=
=
=
=
=
=
=
=
    input_report_rel(
amimouse_dev,
REL_X,
dx)
;
    input_report_rel(
amimouse_dev,
REL_Y,
dy)
;
    input_report_key(
amimouse_dev,
BTN_LEFT,
ciaa.
pra &
0x40)
;
    input_report_key(
amimouse_dev,
BTN_MIDDLE,
potgor &
0x0100)
;
    input_report_key(
amimouse_dev,
BTN_RIGHT,
potgor &
0x0400)
;
    input_sync(
amimouse_dev)
;
//
拷贝到open了的每个client的client->packets[16]环形缓冲区,每个应用程序在调用open时,
mousedev_open都会调用kzalloc来申请一个独立的mousedev_client结构体,然后将该client挂接到mousedev
->client_list链表,最后由mousedev_notify_readers向mousedev->client_list链表
上挂接的每个client拷贝鼠标信息,最后wake_up唤醒read或poll.
=
=
=
=
=
=
=
=
=
=
=
=
drivers\input\mousedev.
c=
=
=
=
=
=
=
=
=
=
=
=
mousedev_read=
>
mousedev_pac


相关文档:

linux网络编程基本流程

1.        基本概念
 
说到网络编程,不得不先提到OSI参考模型,其七层模型从下到上分别为
1.物理层(Physical Layer,PH)
2.数据链路层(Data Link Layer,DL)
3.网络层(Network Layer,N)
4.运输层(Transport Layer,T)
5.会话层(Session Layer,S)
6.表示层(Presentation Layer, ......

用vsFTPd 架设Linux FTP 服务器


用vsFTPd来架设FTP服务器,vsFTPd服务器是目前最好的FTP服务器软件,优点是体积小,可定制强,效率高,高安全性。
1。查看是否安装了vsFTPd软件
[root@linuxsir001 root]# rpm -qa | grep vsftpd
如果没有任何显示,说明没有把vsFTPd安装上,如果出现的是下面的这样的提示,就证明已经安装上了。
[root@linuxsir001 ro ......

XP还是Linux 实际安装 雨林木风linux的使用体验

刚下了雨林木风(ylmf)的iso盘,在自己的ubuntu9.10的系统上用virtualbox安装,现在安装过程如下。
1、启动光盘,看下启动画面:
2、选择第2选项,就进入一个ylmf的Logo:
3、安装还是ubuntu的画面,现在分区:
4、划分第一分区,可以看到界面稍有不同:
5、划分完分区:
6、进入安装画面:
安装还是挺快的,没有了 ......

在Linux上搭建Java开发环境

现在准备的项目(医疗方面)——
语言:Java6
框架:Struts1.0.2
数据库:MySQL5
WEB服务器:Tomcat6
开发环境:Eclipse3.5
应用服务器:Red Hat Enterprise Edition
开发平台:CentOS 5.4
1.MySQL数据库我直接用“yum -y install mysql-server
”来安装,参考:http://www.centospub.com/mak ......

浅析linux下键盘设备工作和注册流程

懒得写了, 转几篇过来:
原帖地址:
http://blog.chinaunix.net/u1/38994/showart_1130025.html
浅析linux下键盘设备工作和注册流程
【浅析linux下鼠标驱动的实现】
 input_init(
)
=
>
=
>
class_register(
&
input_class)
;
注册input类
input_proc_init(
)
;
创建proc下的目录和文件 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号