这两天研究触摸屏的驱动,参考教程中关于这个地方有几个问题不明白,请教了。
dev = input_dev;
dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);
dev->keybit[BITS_TO_LONGS(BTN_TOUCH)] = BIT(BTN_TOUCH);
问题1 触摸屏的驱动编写,不是只用设置 EV_ABS 就可以了吗?为什么还要设置 EV_SYN 与 EV_KEY 这两个类型?
问题2 我从 BTN_TOUCH 的名字中大概明白这个按键的含义,可这不是和 ABS_ABS_PRESSURE 重复了吗?
问题3 我参看了 BTN_TOUCH 的定义为 0x14a ,而 BIT 的宏定义为 BIT(x) (1 << x) ,这样一来 BIT(BTN_TOUCH) 还有什么用?
实在不明白,请教各位老师了。