免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8185 | 回复: 4
打印 上一主题 下一主题

struct input_dev的几个成员的含义?????? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-28 09:17 |只看该作者 |倒序浏览
struct input_dev {
        /* private: */
        void *private;        /* do not use */
        /* public: */

        const char *name;
        const char *phys;
        const char *uniq;
        struct input_id id;

        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)];
        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 keycodemax;
        unsigned int keycodesize;
        void *keycode;
        int (*setkeycode)(struct input_dev *dev, int scancode, int keycode);
        int (*getkeycode)(struct input_dev *dev, int scancode, int *keycode);
.......}

里的relbit,absbit,mscbit,ffbit,swbit,sndbit这几个成员存放的是什么啊

论坛徽章:
0
2 [报告]
发表于 2008-10-28 11:14 |只看该作者
这些bit是input subsystem所提供的内容.

你可以从 include/linux/input.h 中找到这些宏定义,从名字就可以猜的出内容是什么

这些bit和input event相对应,你可以从 evbit 中看到 EV_REL, EV_ABS等事件.

通常某一个驱动中并不会用到所有的内容. 只需要设置你所用到的event,然后设计相应的bit即可.

例如 relbit , 就是 relative coordinates bit, 包括REL_X, REL_Y, 等等.

论坛徽章:
0
3 [报告]
发表于 2008-10-28 11:28 |只看该作者

回复 #1 lovesunshine 的帖子

这里边主要是定义一些输入设备的事件位,例如相对坐标,绝对坐标,键盘动作等。详细的说明去google钩一下吧。

论坛徽章:
0
4 [报告]
发表于 2008-10-28 15:40 |只看该作者
查看Documentation/input/input-programming.txt,google搜索,推测:

evbit    event bit,产生或接受什么样的事件的指示位
keybit    产生或接受什么样的按键代码
relbit    相对定位
absbit    绝对定位
mscbit    Mouse Systems Corporation,参见http://en.wikipedia.org/wiki/Computer_mouse,大意是一些厂商使用了5字节的串口鼠标协议,但微软使用了一种三字节协议,于是厂商造串口鼠标时,让设备有两种工作模式,一种是MSC模式,一种是微软的模式
ledbit    键盘指示灯事件的指示位
sndbit    键盘发出声音的指示位
ffbit    force feedback,强制反馈设备
swbit    switch,设备切换时产生的事件

论坛徽章:
0
5 [报告]
发表于 2008-10-28 20:36 |只看该作者
谢谢大家的解答。
太多成员了,往往不知道使用时要设置哪些成员
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP