[Description]
目前89 jb2版本上是默认实现打电话状态下实现按键唤醒系统的功能的,这样可以满足电话过程中的音量键有效等需求,
但是这套机制同时限制了一般状态下的按键唤醒系统的实现,因此,如果想要实现一般状态下的唤醒系统,需要拿掉这个feature
[Solution]
实现一般按键唤醒系统功能的具体方法如下:
1.mediatek\platform\mt6589\kernel\core\ mt_spm_sleep.c
#define WAKE_SRC_FOR_SUSPEND \
(WAKE_SRC_KP | WAKE_SRC_EINT | WAKE_SRC_CCIF_MD2 | WAKE_SRC_CCIF_MD1 | \
WAKE_SRC_USB0_CD | WAKE_SRC_USB1_CD | WAKE_SRC_PWRAP | \
WAKE_SRC_SYSPWREQ | WAKE_SRC_MD_WDT)
#define WAKE_SRC_FOR_DPIDLE \
(WAKE_SRC_KP | WAKE_SRC_GPT | WAKE_SRC_EINT | WAKE_SRC_CCIF_MD2 | \
WAKE_SRC_CCIF_MD1 | WAKE_SRC_USB0_CD | WAKE_SRC_USB1_CD | \
WAKE_SRC_USB1_PDN | WAKE_SRC_USB0_PDN | WAKE_SRC_AFE | \
WAKE_SRC_PWRAP | WAKE_SRC_SYSPWREQ | WAKE_SRC_MD_WDT)
确认上面, 唤醒源均已包含了WAKE_SRC_KP。
2. \mediatek\config\hedy89_we_jb2\mtk-kpd.kl
增加 key 102 HOME WAKE
3.kpd.c的probe函数,大概1152行,upmu_set_rg_smps_autoff_dis(0x00);======>upmu_set_rg_smps_autoff_dis(0x01);//打开keypad唤醒系统的功能
4.去掉1199行的#define MTK_KP_WAKESOURCE的宏定义,也就是去掉call status才能唤醒的功能
5.其他修改部分请参考FAQ02443
这样修改后会增加0.2ma左右的待机电流,请知悉
6、L版本上如何添加唤醒键
<a>  .alps\kernel-3.10\drivers\misc\mediatek\spm\mt_spm_sleep.c中#define WAKE_SRC_FOR_SUSPEND \
(
WAKE_SRC_KP| WAKE_SRC_EINT | WAKE_SRC_CCIF_MD2 | WAKE_SRC_CCIF_MD1 | \
WAKE_SRC_USB0_CD | WAKE_SRC_USB1_CD | WAKE_SRC_PWRAP | \
WAKE_SRC_SYSPWREQ | WAKE_SRC_MD_WDT)
#define WAKE_SRC_FOR_DPIDLE \
(WAKE_SRC_KP | WAKE_SRC_GPT | WAKE_SRC_EINT | WAKE_SRC_CCIF_MD2 | \
WAKE_SRC_CCIF_MD1 | WAKE_SRC_USB0_CD | WAKE_SRC_USB1_CD | \
WAKE_SRC_USB1_PDN | WAKE_SRC_USB0_PDN | WAKE_SRC_AFE | \
WAKE_SRC_PWRAP | WAKE_SRC_SYSPWREQ | WAKE_SRC_MD_WDT)
确认上面,唤醒源均已包含了WAKE_SRC_KP
<b>L0\alps\device\mediatek\k35v1_64\mtk-kpd.kl 增加key 102 HOME而不是key 102 HOMEwake
<c>  #ifndefUSE_EARLY_SUSPEND

staticint kpd_pdrv_suspend(struct platform_device*pdev,pm_message_tstate)

{

kpd_suspend= true;

#ifdefMTK_KP_WAKESOURCE//将该宏拿掉

if(call_status== 2){

kpd_print("kpd_early_suspendwake up source enable!! (%d)\n",kpd_suspend);

}else{

kpd_wakeup_src_setting(0); ); //设置1打开keypad唤醒系统的功能

kpd_print("kpd_early_suspendwake up source disable!! (%d)\n",kpd_suspend);

}

#endif

kpd_disable_backlight();

kpd_print("suspend!! (%d)\n",kpd_suspend);

return 0;

}kpd_wakeup_src_setting(0);;======>kpd_wakeup_src_setting(1);

<d>

代码位置:framework\base\core\java\android\view\

public static finalboolean isWakeKey(int keyCode) {

switch (keyCode) {

caseKeyEvent.KEYCODE_BACK:

caseKeyEvent.KEYCODE_POWER:

caseKeyEvent.KEYCODE_MENU:

caseKeyEvent.KEYCODE_SLEEP:

caseKeyEvent.KEYCODE_WAKEUP:

caseKeyEvent.KEYCODE_PAIRING:

caseKeyEvent.KEYCODE_HOME://添加的

return true;

}

return false;

}

这个是上层的ketevent.java里的在这个地方有强制认定谁具有唤醒功能

关于89 jb2上的自动设置按键唤醒系统的功能以及L版本上设置唤醒键相关推荐

  1. Android设置唤醒键唤醒系统的功能

    [FAQ05859][keypad]关于89 jb2上的自动设置按键唤醒系统的功能以及L版本上设置唤醒键 [Description] 目前89 jb2版本上是默认实现打电话状态下实现按键唤醒系统的功能 ...

  2. 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...

  3. 计算机管理 硬盘 设置脱机,win10系统提示磁盘处于脱机状态的设置教程

    win10系统使用久了,好多网友反馈说win10系统提示磁盘处于脱机状态的问题,非常不方便.有什么办法可以永久解决win10系统提示磁盘处于脱机状态的问题,面对win10系统提示磁盘处于脱机状态的图文 ...

  4. win10虚拟内存怎么设置最好_win10系统两台电脑直连怎么设置

    1.打开第一电脑网络属性2.选择以太网属性3.选择Internet协议版本4属性4.IP地址与默认网关设置为192.168.1.1075.默认网关设置为255.255.255.06.第二台电脑设置IP ...

  5. 已重置应用默认设置html,win10系统经常提示已重置应用默认设置的解决方法

    很多小伙伴都遇到过win10系统经常提示已重置应用默认设置的困惑吧,一些朋友看过网上零散的win10系统经常提示已重置应用默认设置的处理方法,并没有完完全全明白win10系统经常提示已重置应用默认设置 ...

  6. android 工程模式mtk,Android L版本上user版本工程模式中gsensor校准失败

    [DESCRIPTION] 工程模式中gsensor的校准需要用到em_svr这个service,但是因为build选项的原因,在user编译时,这段code没有被build,导致user版本工程模式 ...

  7. 无盘服务器缓存设置多大,系统虚拟盘和游戏虚拟盘缓存应该设置多少?

    经常有人会咨询关于1台服务器同时安装网维大师,无盘(系统虚拟盘) ,游戏虚拟盘的时候该如何设置缓存,这里做一下统一解答,同时不管你的服务器内存有多大,都按照这个规则设置即可: 1.无盘(系统虚拟盘) ...

  8. autocad electrical三级断路器放到多母线上不能自动适应宽度

    问题 autocad electrical三级断路器放到多母线上不能自动适应宽度 解决 打开图形特性,更改阶梯默认设置中的间距,大于或等于母线间距的一半即可.

  9. [批处理]自动设置本机系统代理服务器

    可以自动修改本机的系统代理(IE代理)服务器地址. 可以是指定计算机名的动态IP,也可以是静态IP,也可指定端口号,感觉非常有用. 下载后先编辑,修改你要设置代理服务器的计算机名和端口号,或直接指定I ...

最新文章

  1. 报错 findMergedAnnotation activemq
  2. php并发访问排队_PHP高并发处理方案
  3. JavaScript服务器端开发技术(对象属性的枚举与查询)
  4. eclipseEE连接mysql_mysql-eclipseEE连接MySQL出现问题,哪位大神可以帮我看看*^__^*,非常感谢...
  5. 坐标c语言输入数组中,求助 C语言中如何利用二维数组计算多个坐标之间的距离...
  6. 微信小程序开发-新闻简讯demo
  7. 类ResourceBundle详解
  8. 【LeetCode】75. Sort Colors(颜色排序)-C++实现的两种方法及超详细图解
  9. python输出你好_python输出你好
  10. 计算机无线网怎么安装教程,wifi怎么安装,教您电脑如何安装wifi
  11. 为了软银的万亿物联网 ARM取消了一笔企业预授权费用
  12. 算法面试用c还是python_排序算法(C语言+Python版)宝宝再也不怕面试官写排序算法了...
  13. laravel评价详情及商家回复api
  14. Javascript的优点和缺点
  15. 人工智能安全标准化白皮书(2019版)笔记
  16. python stdin什么意思_python中stdin是什么
  17. 减少无线链接切换导致数据体验变差的技术简介
  18. 【ECharts】ECharts配置项详解
  19. 点击按钮,下滑到指定的位置
  20. 计算机在小学学科中的应用,计算机在小学教学中的应用.pdf

热门文章

  1. 第一次尝试使Windows Live Writer发布日志
  2. 换头像这个功能怎么测
  3. 深度估计(Depth Estimation)
  4. Monkey测试基础+ADB命令
  5. echarts 自定义图表的那些事
  6. 老夫带你深度剖析Redisson实现分布式锁的原理
  7. ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
  8. Tiny Core Linux 安装配置
  9. iOS代码实现布局(三)—用CocoaPods导入第三方库Masonry
  10. 密码学归约证明——基于伪随机函数的消息鉴别码方案