linux中键盘鼠标等输入设备通过input子系统实现设备驱动,驱动程序完成向系统报告输入事件,input子系统完成了文件操作接口
linux/input.h定义了输入事件结构体 api 和 按键定义等
struct input_event {
struct
timeval time;
__u16 type;
__u16 code;
__s32
value;
};
type:类型
#define EV_SYN 0x00
#define EV_KEY 0x01 //键盘按键(包括鼠标键)
#define EV_REL 0x02 //鼠标移动
#define EV_ABS 0x03
#define EV_MSC 0x04
#define EV_SW 0x05
#define EV_LED 0x11
#define EV_SND 0x12
#define EV_REP 0x14
#define EV_FF 0x15
#define EV_PWR 0x16
#define EV_FF_STATUS 0x17
#define EV_MAX 0x1f
code:事件码