注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小白的博客

嵌入式爱好者

 
 
 

日志

 
 

input_dev结构体分析  

2012-10-15 12:13:52|  分类: 狂轰滥炸USB |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

代表着一个输入设备

struct input_dev {
const char *name; //设备名
const char *phys; //本设备在系统层的物理路径
const char *uniq; //本设备的标记码,这是独一无二的
struct input_id id; //设备id

unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; //设备性能的位图

unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; //本设备支持哪一类的事件
unsigned long keybit[BITS_TO_LONGS(KEY_CNT)];//按键事件
unsigned long relbit[BITS_TO_LONGS(REL_CNT)]; //相对位移事件
unsigned long absbit[BITS_TO_LONGS(ABS_CNT)]; //绝对位移事件
unsigned long mscbit[BITS_TO_LONGS(MSC_CNT)]; //本设备支持的混杂事件
unsigned long ledbit[BITS_TO_LONGS(LED_CNT)]; //设备上leds
unsigned long sndbit[BITS_TO_LONGS(SND_CNT)]; //声音效果
unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; //力反馈效果
unsigned long swbit[BITS_TO_LONGS(SW_CNT)]; //转换

unsigned int hint_events_per_packet;//一个包里面事件的平均数量

unsigned int keycodemax; //键码表的大小
unsigned int keycodesize;//键码表中元素的大小
void *keycode; //对键码的扫描码

int (*setkeycode)(struct input_dev *dev,
const struct input_keymap_entry *ke,
unsigned int *old_keycode); //修改键码
int (*getkeycode)(struct input_dev *dev,
struct input_keymap_entry *ke); //获得键码

struct ff_device *ff;

unsigned int repeat_key; //用于在软件层次实现重复事件
struct timer_list timer; //软件重复事件的定时器

int rep[REP_CNT]; //重复输入的值

struct input_mt_slot *mt;
int mtsize;
int slot;
int trkid;

struct input_absinfo *absinfo;

unsigned long key[BITS_TO_LONGS(KEY_CNT)];//本设备当前的按键状态
unsigned long led[BITS_TO_LONGS(LED_CNT)];//本设备当前的led状态
unsigned long snd[BITS_TO_LONGS(SND_CNT)];//音效的当前状态
unsigned long sw[BITS_TO_LONGS(SW_CNT)]; //转换的当前状态

int (*open)(struct input_dev *dev);
void (*close)(struct input_dev *dev);
int (*flush)(struct input_dev *dev, struct file *file);
int (*event)(struct input_dev *dev, unsigned int type, unsigned int code, int value);

struct input_handle __rcu *grab;

spinlock_t event_lock;
struct mutex mutex;

unsigned int users;
bool going_away;

bool sync;

struct device dev;

struct list_head h_list;
struct list_head node;
};


  评论这张
 
阅读(1438)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017