1.触摸屏属于input设备,住、主设备号是固定是13,但是次设备号,应该不是固定。
2.android会遍历/dev/input, 进行ioctl,读取设备的信息,来判断是不是触摸屏设备。
位置frameworks/base/services/input/EventHub.cpp
status_t EventHub::openDeviceLocked(const char *devicePath)
// Figure out the kinds of events the device reports.读取设备的信息
ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(device->keyBitmask)), device->keyBitmask);
ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(device->absBitmask)), device->absBitmask);
ioctl(fd, EVIOCGBIT(EV_REL, sizeof(device->relBitmask)), device->relBitmask);
ioctl(fd, EVIOCGBIT(EV_SW, sizeof(device->swBitmask)), device->swBitmask);
ioctl(fd, EVIOCGBIT(EV_LED, sizeof(device->ledBitmask)), device->ledBitmask);
ioctl(fd, EVIOCGBIT(EV_FF, sizeof(device->ffBitmask)), device->ffBitmask);
ioctl(fd, EVIOCGPROP(sizeof(device->propBitmask)), device->propBitmask);