我试图通过开发人员选项中的指针位置选项获取触摸的 (x, y) 坐标,我使用这些坐标使用 sendevent 在屏幕上点击。这是我执行 sendevent 的脚本。
点击.sh
sendevent /dev/input/event0 3 57 2421
sendevent /dev/input/event0 3 58 232
sendevent /dev/input/event0 3 53 $1
sendevent /dev/input/event0 3 54 $2
sendevent /dev/input/event0 0 0 0
sendevent /dev/input/event0 3 57 4294967295
sendevent /dev/input/event0 0 0 0
我从 adb shell 调用脚本,sh tap.sh <x> <y>但它没有点击正确的坐标。相反,它是在不同的位置敲击。
同样,当我点击屏幕并在 getevent 中检查结果时adb shell getevent。我发现在指针位置和 getevent 上显示的坐标是不同的。
为什么它们不同,我该如何解决这个问题?
PS:我试过的设备是 Nexus 7、Nexus 10。
从getevent得到的X、Y坐标和开发者选项中从指针位置得到的坐标是不一样的。它们使用公式进行映射。
displayX = (x - minX) * displayWidth / (maxX - minX + 1)
displayY = (y - minY) * displayHeight / (maxY - minY + 1)
Run Code Online (Sandbox Code Playgroud)
来源:触控设备
| 归档时间: |
|
| 查看次数: |
8552 次 |
| 最近记录: |