1. 收集日志

    hdc shell
    hilog -Q pidoff         //关闭流控
    hilog -b D              //修改日志等级为debug
    hilog -p off            //打开私有日志
    hilog -w start          //开启hilog日志落盘
    hilog -w start -t kmsg  //开启内核日志落盘
    
  2. 搜索日志关键字

    a. "keycode" 可以查看判断键值是否对的上,多模中是否接收到了此键值

    b. "KeyEventNormalize" 多模在接收到按键事件时进行归一化处理

    c. "InputDeviceManager" 可用来查看多模设备是否正常

    如:[FindInputDeviceId:605] Find input device id success
    
    如:The device is not touchable device already existent
    

    d. "OnDeviceAdded" 查看设备添加是否正常,常见于 要插拔usb多模设备时。如果多模中没收到按键事件,或报设备部正常,可搜索此关键字

  3. 如果多模日志中没有收到相关按键/多模事件。可查看多模设备列表,驱动是否正常

    cat /proc/bus/input/devices  查看当前输入设备
    
    cat /dev/input/event4  查看某个输入设备是否能发送事件
    
  4. 如果键值部符合预期,可能是键值映射不对,查看linux中键值和多模中键值是否对,如果对是否正常映射了

    img

  5. 根据上面日志等信息可以初步判断问题出在应用层,多模,还是驱动

  6. 不同模块的问题,处理方式不同;上面日志如果没有找到具体错误原因,可参考多模事件的大体的工作流程,在对应模块中添加打印具体分析问题位置

    电源键大体工作流程参考

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐