输入事件有多种类型,其中包括触摸事件和悬停事件。
final int source = q.mEvent.getSource();
if ((source & InputDevice.SOURCE_CLASS_POINTER) != 0) {
deliverPointerEvent(q);
} else if ((source & InputDevice.SOURCE_CLASS_TRACKBALL) != 0) {
deliverTrackballEvent(q);
} else {
deliverGenericMotionEvent(q);
}
上面的代码是函数deliveryInputEvent(...) 的一部分。这两种类型分别处理。
- 触摸事件是用手触摸屏幕,悬停事件是手写笔触摸屏幕,对吗?
- 设备之间有何不同?
- 假设设备可以区分,我认为这两个事件是相似的,为什么我们要单独处理它们?