Linux Input Device 介紹: APIs
Linux Input Device 介紹: APIs
jollen 發表於 April 8, 2009 12:18 PM
Linux 的 Input Device 是重要的一個 subsystem,在進行實例介紹前,先大略了解一下相關的 API。
Linux Input Device
input.c是Linux的”input”驅動程式,主要支援鍵盤與滑鼠的輸入;input.c介面有趣的地方是採用了事件(event)的方式來處理輸入,以下是input.c介面重要的資料結構與函數:
* struct input_dev
* void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
* void input_register_device(struct input_dev *);
* void input_unregister_device(struct input_dev *);
* void input_register_handler(struct input_handler *);
* void input_unregister_handler(struct input_handler *);
Linux 的input機制可用來實作「虛擬鍵盤」或「虛擬滑鼠」,只要呼叫input_event()將輸入資料發佈給input handler即可。
struct input_dev是用來描述輸入事件的重要資料結構,其原型宣告如下:
struct input_dev {
void *private;
int number;
char *name;
unsigned short idbus;
unsigned short idvendor;
unsigned short idproduct;
unsigned short idversion;
unsigned long evbit[NBITS(EV_MAX)];
unsigned long keybit[NBITS(KEY_MAX)];
unsigned long relbit[NBITS(REL_MAX)];
unsigned long absbit[NBITS(ABS_MAX)];
unsigned long mscbit[NBITS(MSC_MAX)];
unsigned long ledbit[NBITS(LED_MAX)];
unsigned long sndbit[NBITS(SND_MAX)];
unsigned long ffbit[NBITS(FF_MAX)];
int ff_effects_max;
unsigned int keycodemax;
unsigned int keycodesize;
void *keycode;
unsigned int repeat_key;
struct timer_list timer;
int abs[ABS_MAX + 1];
int rep[REP_MAX + 1];
unsigned long key[NBITS(KEY_MAX)];
unsigned long led[NBITS(LED_MAX)];
unsigned long snd[NBITS(SND_MAX)];
int absmax[ABS_MAX + 1];
int absmin[ABS_MAX + 1];
int absfuzz[ABS_MAX + 1];
int absflat[ABS_MAX +
相关文档:
先来了解一下文件属性,
在shell环境里输入:ls -l 可以查看当前目录文件。如:
drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份
分别对应的是:
文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名
这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置
例如:
d ......
首先简单的介绍两者:
【linux操作系统:简称命令浮操作系统】
简介:
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
特点: ......
一、本次内核编译新内核所涉及软件版本
“gcc –version”可查寻GCC版本------4.3.2 20081105(Red Hat 4.3.2-7)
“make –v”可查询 Gnu make版本-----3.81
“ld –V(v)可查询GNU ld版本-----2.18.50.0.9-7。f c10 20080822
“fdformat --version”命令 ......
虽然mplayer的安装方法已经不是什么技术活,但最近有不少同学在询问我关于mplayer的安装方法的问题。我一贯推荐它们源代码包的安装,虽然步骤有些复杂,但解码器和二进制程序都尽在掌握,心里踏实。
===
1
下载如下这些软件:
all-20071007.tar.bz2
windows-all-20071007.zip
Blue-1.7.tar.bz2
MPlayer-1.0rc2.ta ......
; break;
}
if (type != EV_SYN)
&nbs ......