任意物理按键唤醒屏幕

How to set HOME key as wake up key
 
 
[SOLUTION]
 
 
      请参考[FAQ02443] [keypad]How to set HOME key as wake up key
MT6572平台的路径有做修改:
1、set keypad as wakeup source
确认在mediatek\platform\mt6572\kernel\core\mt_spm_suspend.c文件WAKE_SRC_FOR_SUSPEND 宏定义和mediatek\platform\mt6572\kernel\core\mt_spm_dpidle.c文件WAKE_SRC_FOR_DPIDLE 宏定义里是否都有包含了WAKE_SRC_KP
 
2、set wake flag for home key
     mediatek/config/<project>/mtk-kpd.kl
         key 102   HOME ===>key 102   HOME   WAKE
 
3、modify keypad GPIO setting in suspend&resume
     mediatek/platform/mt6572/kernel/drivers/keypad/kpd.c
     -针对除了HOME key之外的keypad GPIO做如下配置:
       In suspend:
           -Set KCOL GPIO as GPIO mode,input,pull-down;
           -Set KROW GPIO as GPIO mode,output high;
       In resume:
           -set KCOL GPIO as keypad mode,input,pull-up;
           -set KROW GPIO as keypad mode,output;
     -将kpd_pdrv_suspend&kpd_pdrv_resume always enable
           -Remove "#ifndef CONFIG_HAS_EARLYSUSPEND...."
4、使用Volume up as wake up key
     -之前步骤保证了任意键盘键能唤醒kernel,但Android Framework 屏蔽了若干特殊按键,而使用的Volume Up 正在其中,解决方法如下:     
   将alps/frameworks/base/policy/src/com/android/internal/policy/impl下的PhoneWindowManager.java文件中isWakeKeyWhenScreenOff()函数中KEYCODE_VOLUME_UP和KEYCODE_VOLUME_DOWN这两行删除掉就可以了.

你可能感兴趣的:(任意物理按键唤醒屏幕)