【问题标题】:Adb shell getevent method returns twice the value for X and Y on Nexus 4Adb shell getevent 方法在 Nexus 4 上返回两倍的 X 和 Y 值
【发布时间】:2015-03-28 17:50:49
【问题描述】:

我目前正在尝试通过 adb shell 的 sendevent 命令生成一个复杂的手势。为了重放一个手势,我通过 adb 的getevent 方法记录了事件。这是在我的 Nexus 4 屏幕右下角轻按的示例。

/dev/input/event2: 0003 0039 00000059
/dev/input/event2: 0003 0035 000005ff
/dev/input/event2: 0003 0036 000008e6
/dev/input/event2: 0003 003a 0000002d
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0039 ffffffff
/dev/input/event2: 0000 0000 00000000

转换为十进制值(对于sendevent 方法),它使:

/dev/input/event2: 3 57 89
/dev/input/event2: 3 53 1535
/dev/input/event2: 3 54 2278
/dev/input/event2: 3 58 45
/dev/input/event2: 0 0 0
/dev/input/event2: 3 57 -1
/dev/input/event2: 0 0 0

如您所见,X 的值(即第 2 行的 53 代码)为 1535,Y 的值(第 3 行的代码 54)为 2278。

这怎么可能,因为我的 Nexus 4 屏幕尺寸只有 768*1280 ?与实际大小相比,它似乎乘以 2 倍...当我在 Nexus 5 上执行相同操作时,不会发生这种情况。

感谢您对此的帮助,这让我发疯了! ^^

【问题讨论】:

    标签: android adb screen-size nexus-4


    【解决方案1】:

    这些是input 设备(即触摸屏)坐标。触摸屏是一个单独的设备,可能与显示器有不同的分辨率。

    要检查触摸屏的分辨率,请执行以下操作

    getevent -il /dev/input/event2 | grep ABS_MT_POSITION
    

    并查看max 值

    【讨论】:

    • 确实是这样!非常感谢您的解释:)
    猜你喜欢
    • 2020-11-14
    • 2013-04-22
    • 2014-06-11
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多