RT-Thread input框架 #6251
Replies: 4 comments
-
@liu2guang 你原来提供过button的package,希望也进行讨论下。 而在柿饼UI中, @yangfasheng 关于touch这部分的input,方式是这样的: 驱动这边有一份touch thread,当触摸屏按下时,会以中断触发方式唤醒touch thread (并关闭touch的中断),在touch thread操作过程中,会以定期轮询的模式读取touch screen的坐标点,直到触摸抬起(恢复中断)。在touch thread处理touch screen数据过程中,它会通过rtgui的接口持续向rtgui thread发送事件(最初的按下事件,中间的touch移动事件,最末的抬起事件)。 当然柿饼UI这样的处理方式也就会让touch driver与rtgui完全耦合起来了。 |
Beta Was this translation helpful? Give feedback.
-
先贴一下我的驱动和应用参考供大家讨论 #ifdef INPUT_USING_TOUCH typedef struct _touch_point typedef struct _ft5406_touch_point typedef struct _ft5406_touch_data #define TOUCH_POINT_GET_EVENT(T) ((touch_event_t)((T).XH >> 6)) static rt_input_t _tsdev; static void ft5406_hw_reset(void) static rt_device_t _i2c_find(const char *name) static int _ft5406_read(rt_input_t *dev, unsigned char cmd, void *buf, int len) static int ft5406_read_touch(touch_point_t *dp)
} static void _touch_session(rt_input_t *dev)
} static int ft5406_irq(void *args) static void _touch_polling(void *p)
} static int ft5406_init(rt_input_t *dev)
} static void ft5406_deinit(rt_input_t *dev) static const struct input_ops _ops = int ft5406_hw_init(void)
} /* lvgl应用示例 */
_again:
} |
Beta Was this translation helpful? Give feedback.
-
@heyuanjie87 代码好多,没有对齐没有高亮,看得好累。 |
Beta Was this translation helpful? Give feedback.
-
@BernardXiong 这个应该是借鉴了linux 的input子系统,感觉readme 里面的分层图并不怎么清楚。可以参考这个里面的第一个图:https://www.cnblogs.com/deng-tao/p/6094049.html |
Beta Was this translation helpful? Give feedback.
-
@heyuanjie87 新提交了input框架 #1907 ,API主要包括如下:
感觉在进行数据report时很奇异,定义非常模糊。以及input框架在整体的使用场合中,它在整体结构中处于什么样的位置也比较奇怪。这部分还需要分场景进行细化,讨论。
希望大家可以就input框架多进行讨论,最终有一份棒的input框架出来。
Beta Was this translation helpful? Give feedback.
All reactions