Linux设备模型之input子系统详解(二)
; break;
}
if (type != EV_SYN)
dev->sync = 0;
if ((disposition & INPUT_PASS_TO_DEVICE) && dev->event)
dev->event(dev, type, code, value);
if (disposition & INPUT_PASS_TO_HANDLERS)
input_pass_event (dev, type, code, value);
}
在这里,我们忽略掉具体事件的处理.到最后,如果该事件需要input device来完成的,就会将disposition设置成INPUT_PASS_TO_DEVICE.如果需要handler来完成的,就将dispostion设为INPUT_PASS_TO_DEVICE.如果需要两者都参与,将disposition设置为INPUT_PASS_TO_ALL.
需要输入设备参与的,回调设备的event函数.如果需要handler参与的.调用input_pass_event().代码如下:
static void input_pass_event(struct input_dev *dev,
unsigned int type, unsigned int code, int value)
{
struct input_handle *handle;
rcu_read_lock();
handle = rcu_dereference(dev->grab);
if (handle)
相关文档:
在我的笔记本计算机上,WindowsXP跑的越来越慢,终于下决心重装一遍,希望是最后一次安装WindowsXP了。可是又不太甘心,觉得花的时间不太值得,不过,最近经历了几次Windows vs GNU/Linux 的争论,于是仔细记录一下安装过程,可以有客观一点的数据做比较。
我的笔记本是DELL INSPIRON 600m,pentium-M 1.5GHz, 40GB 硬盘, ......
1.什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。
由于windows和linux的本质不同,因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。
2.库的种类
linux下的库有两种:静态库和共享库(动态库)。
二者的不同点在于代码被 ......
使用80x86处理器进行寻址时牵涉到三种不同的地址,其关系如下所示
逻辑地址------------------->线性地址-------------------------->物理地址
(分段)   ......
虽然学过
Linux Shell
编程,但由于编写
Shell
脚本的机会实在是比较少
(
通常在项目初期搭建开发环境时编写得比较
多一些
)
,所以一
些语法久而久之就会忘了,一个简单的语法去翻书效率实在是慢,所以就个人整理了一个表格,由于我用的编程语言是
C/C++
,所以在编程的时候往往脑海里面首
先浮现的是用
C
......
ls -l|grep ^d ----列出当前目录下的文件夹
ls -l|grep ^d|grep "tmp" ----列出当前目录下明子含有"tmp"的文件夹
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,只print 文件夹的名字
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep " ......