You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为adb shell input keyevent --longpress 23命令设置长按时长?

解决ADB长按KeyEvent仅触发普通点击的问题

adb shell input keyevent --longpress参数的长按时长是系统固定的(一般约500ms),无法直接通过该命令调整时长。要实现自定义时长的长按,你可以通过sendevent命令模拟完整的按键按下-等待-松开流程,具体步骤如下:

  1. 确定目标输入设备节点
    先执行以下命令列出所有输入设备,找到对应按键输入的设备路径(比如/dev/input/event1):

    adb shell getevent -lp
    

    输出中找包含KEY_DPAD_DOWN(对应keycode 23)的设备,记录其eventX编号。

  2. 模拟自定义时长的长按
    以长按2秒为例,执行以下一组命令:

    # 发送按键按下事件
    adb shell sendevent /dev/input/eventX 1 23 1
    # 发送同步事件,通知系统状态变更
    adb shell sendevent /dev/input/eventX 0 0 0
    # 等待自定义时长(这里是2秒,可修改为任意数值,比如sleep 5就是5秒)
    adb shell sleep 2
    # 发送按键松开事件
    adb shell sendevent /dev/input/eventX 1 23 0
    # 再次发送同步事件
    adb shell sendevent /dev/input/eventX 0 0 0
    

    将命令中的eventX替换为你第一步找到的实际设备节点编号即可。

  3. 注意事项

    • 部分设备可能需要ROOT权限才能正常使用sendevent命令;
    • 如果找不到对应设备节点,可尝试更换USB调试模式为“仅充电”或“文件传输”后重新执行getevent命令;
    • sleep后的数值单位为秒,支持小数(比如sleep 0.8就是800ms)。

内容的提问来源于stack exchange,提问作者Red Cape

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:07:06