RK3288 Linux4.4.143 适配EETI
适配电阻触摸屏
一.添加配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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 |
二.驱动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | 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 |
分类:
RockChip
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】