解决方法
On EVMs we pass the calibrated values(or let us say hardcoded values
for Xmin/max,Ymin/max and XY resolution) from the driver to the user
space.
…Raw events are handled here
frameworks/base/libs/ui/InputReader.cpp
SingletouchInputMapper::process(const RawEvent* rawEvent)
will process
raw events for a Single touch device. ABS_X and ABS_Y are the values
passed from driver and these are the absolute coordinates in our
case as I told you in my earlier mail.Correct me if I’m wrong,afaik Android phones have no mechanism to do
calibration from user space. It is a sort of standard in Android
phones to send the calibrated values from driver itself.What I suggest is,use tslib to calibrate and let it store values in /etc/pointercal. In
SingletouchInputMapper::sync(nsecs_t when)
calculate the absolute coordinates by parsing the values from /etc/pointercal file.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。