7. keypad调试日志

来源:互联网 发布:二战法国 知乎 编辑:程序博客网 时间:2024/06/10 23:23
一、配置key主要指:powervolumeupvolumedown查看原理图:KROW0KROW1KCOL0volumeupcameraKCOL1volumedown在dws中配置:Column0Column1Column2Row0volumeupvolumedownRow1cameraRow2在dws中配置gpio(L - IN ; R - OUT)EintMode|Def.ModeM0|M1|M2|M3|M4|M5|M6|M7|InPull En|InPull SelHigh|Def.Dir|In|Out|OutHigh|VarName1GPIO640:KPCOL01  1  1  1 IN  110GPIO_KPD_KCOL0_PINGPIO650:KPROW11  1   OUT 010GPIO_KPD_KROW1_PINGPIO670:KPCOL11  1  1  1 IN  110GPIO_KPD_KCOL1_PINGPIO690:KPROW01  1   OUT 010GPIO_KPD_KROW0_PINdws配置EINT : NC 即可二、在休眠的状态,同时按下音量+/-键,framework层只收到一个键值1.1 kernel查看驱动上报事件 - 驱动打印:cat /proc/kmsg | grep "key"--此处,休眠时两个键值都有打印,说明驱动都有通过input子系统上报(input_report_key)但是,input子系统有没有成功上报还得看,设备节点有没有数据流1.2 kernel查看event上报事件 - kernel打印:getevent –t /dev/input/event1--查看到休眠时两个键值都有上报,说明kernel没有问题,上层去处理getevent -i -- 查看所有输入子设备的信息event0-- ACCDET(耳机线控)-- 未验证event1-- key (音量+/-、电源键、hall)event2-- hwdata(tp模拟ps)-- 未验证event3-- alspsevent4-- Gsensorevent5-- mtk-tpd(触摸、虚拟按键、tp手势)event6-- mtk-tpd-kpd-- 无用1.3 可以通过向/dev/input/event1写数据,模拟上报 -- 尝试不成功sendevent /dev/input/event0 1 116 11.4 与上层约定的键值要添加到这里alps/device/magcomm/magc6580_we_c_m/mtk-kpd.kl(按键布局文件) , 映射给上层key 1140x72   VOLUME_DOWN// 侧键key 1150x73   VOLUME_UPkey 1160x74   POWERkey 2120xD4   camera注:修改此文件,可以用push的方式先试验find /system  -name mtk-kpd.kl/system/usr/keylayout/mtk-kpd.kladb push ...  /system/usr/keylayout/1.5 代码路径:alps\kernel-3.18\drivers\input\keyboard\mediatek\kpd.c三、长按POWER键 10秒 -> 关机1.2.3.