适配电阻触摸屏
一.添加配置文件
diff --git a/device/rockchip/common/device.mk b/device/rockchip/common/device.mk index 22fa127..38f84fa 100755 --- a/device/rockchip/common/device.mk +++ b/device/rockchip/common/device.mk @@ -773,4 +773,8 @@ PRODUCT_COPY_FILES += device/rockchip/common/su/system/bin/rootsudaemon.sh:system/bin/rootsudaemon.sh device/rockchip/common/su/system/xbin/su:system/xbin/su device/rockchip/common/su/system/xbin/daemonsu:system/xbin/daemonsu - No newline at end of file + +PRODUCT_COPY_FILES += + device/rockchip/common/eeti_file/eGalaxTouch_VirtualDevice.idc:system/usr/idc/eGalaxTouch_VirtualDevice.idc + device/rockchip/common/eeti_file/eGTouchA.ini:system/etc/eGTouchA.ini + device/rockchip/common/eeti_file/eGTouchD:system/bin/eGTouchD No newline at end of file diff --git a/device/rockchip/common/init.rk30board.rc b/device/rockchip/common/init.rk30board.rc index 03f3e35..0f94f71 100755 --- a/device/rockchip/common/init.rk30board.rc +++ b/device/rockchip/common/init.rk30board.rc @@ -172,6 +172,9 @@ on boot chown system system /sys/bus/platform/drivers/usb20_otg/force_usb_mode chmod 0664 /sys/bus/platform/drivers/usb20_otg/force_usb_mode + copy /etc/eGTouchA.ini /data/eGTouchA.ini + chmod 0777 /data/eGTouchA.ini + #add for rtc by jessica chown system system /sys/class/rtc/rtc0/wakealarm chmod 0666 /sys/class/rtc/rtc0/wakealarm
二.驱动
diff --git a/kernel/drivers/input/evdev.c b/kernel/drivers/input/evdev.c index e9ae3d5..0790a38 100755 --- a/kernel/drivers/input/evdev.c +++ b/kernel/drivers/input/evdev.c @@ -1454,11 +1454,21 @@ static const struct input_device_id evdev_ids[] = { { }, /* Terminating zero entry */ }; +static bool evdev_match(struct input_handler *handler, struct input_dev *dev) +{ + /* Avoid EETI USB touchscreens */ + #define VID_EETI 0x0EEF + if ((BUS_USB == dev->id.bustype) && (VID_EETI == dev->id.vendor)) + return false; + return true; +} + MODULE_DEVICE_TABLE(input, evdev_ids); static struct input_handler evdev_handler = { .event = evdev_event, .events = evdev_events, + .match = evdev_match, /* Added by EETI*/ .connect = evdev_connect, .disconnect = evdev_disconnect, .legacy_minors = true, diff --git a/kernel/drivers/input/joydev.c b/kernel/drivers/input/joydev.c index 5d11fea..1763abe 100755 --- a/kernel/drivers/input/joydev.c +++ b/kernel/drivers/input/joydev.c @@ -804,7 +804,10 @@ static bool joydev_match(struct input_handler *handler, struct input_dev *dev) /* Avoid tablets, digitisers and similar devices */ if (test_bit(EV_KEY, dev->evbit) && test_bit(BTN_DIGI, dev->keybit)) return false; - + /* Avoid EETI virtual devices */ + #define VID_EETI 0x0EEF + if (( BUS_VIRTUAL == dev->id.bustype) && (VID_EETI == dev->id.vendor)) + return false; /* Avoid absolute mice */ if (joydev_dev_is_absolute_mouse(dev)) return false; diff --git a/kernel/drivers/input/mousedev.c b/kernel/drivers/input/mousedev.c index 30328e5..a3d2180 100755 --- a/kernel/drivers/input/mousedev.c +++ b/kernel/drivers/input/mousedev.c @@ -1057,11 +1057,24 @@ static const struct input_device_id mousedev_ids[] = { { }, /* Terminating entry */ }; +static bool mousedev_match(struct input_handler *handler, struct input_dev *dev) +{ + /* Avoid EETI USB touchscreens */ + #define VID_EETI 0x0EEF + if ((BUS_USB == dev->id.bustype) && (VID_EETI == dev->id.vendor)) + return false; + /* Avoid EETI virtual devices */ + if ((BUS_VIRTUAL == dev->id.bustype) && (VID_EETI == dev->id.vendor)) + return false; + return true; +} + MODULE_DEVICE_TABLE(input, mousedev_ids); static struct input_handler mousedev_handler = { .event = mousedev_event, .connect = mousedev_connect, + .match = mousedev_match, /* Added by EETI */ .disconnect = mousedev_disconnect, .legacy_minors = true, .minor = MOUSEDEV_MINOR_BASE, diff --git a/system/core/rootdir/init.rc b/system/core/rootdir/init.rc index d6fb7da..e1bf610 100755 --- a/system/core/rootdir/init.rc +++ b/system/core/rootdir/init.rc @@ -692,4 +692,9 @@ service lcdparamservice /system/bin/lcdparamservice user root group root oneshot - No newline at end of file + +service eGTouchD /system/bin/eGTouchD + class main + user root + group root + oneshot No newline at end of file