现在很多手机具有双击唤醒屏幕功能,那么这个功能是如何实现的呢,在ft5x06这款touchscreen上的实现方式如下

首先在touch的driver里会针对屏幕关闭时做特殊处理

在static irqreturn_t ftxxxx_ts_interrupt(int irq, void *dev_id)
{

u8 state;
       i2c_smbus_read_i2c_block_data(ftxxxx_ts->client, 0xd0, 1, &state);
if (state == 1) {
fts_read_Gestruedata(ftxxxx_ts);
/*continue;*/

return IRQ_HANDLED;
}

首先从d0这个register中读取state,这个d0代表gesture mode,1是enable,0是disable

所以读取ftxxxx_ts上报的数据

接下来看static int fts_read_Gestruedata(struct ftxxxx_ts_data *data)
{

unsigned char buf[FTS_GESTRUE_POINTS * 3] = { 0 };

ret = ftxxxx_i2c_Read(data->client, buf, 1, buf, FTS_GESTRUE_POINTS_HEADER);

gestrue_id = buf[0];

check_gesture(data, gestrue_id);

}

然后看static void check_gesture(struct ftxxxx_ts_data *data, int gesture_id)
{
bool Ps_status = false;

if (!Ps_status) {
switch (gesture_id) {
/* ++++ touch gesture mode support part in ZE500CL ++++ */

case GESTURE_DOUBLECLICK:
if(dclick_flags==true)
{
input_report_key(data->input_dev, KEY_GESTURE_U, 1);
input_sync(data->input_dev);
input_report_key(data->input_dev, KEY_GESTURE_U, 0);
input_sync(data->input_dev);
printk(KERN_EMERG "[Focal][Touch] double click\n");
dclick_flags=false;
}
break;

}

#define KEY_GESTURE_U KEY_POWER

所以总的来说就是模拟KEY_POWER的动作唤醒了屏幕

touch的双击唤醒如何实现相关推荐

  1. android开发双击唤醒屏幕,安卓手机双击唤醒原理是什么 安卓双击唤醒原理介绍...

    很多安卓智能手机屏幕的唤醒方式各种各样,最常规的方式就是按一下电源键点亮屏 幕. 手机电源键位置 由于手机 机身大小的限制和手感问题越来越不好触碰到,因此双击亮屏功能就产生了.市场上 一些小软件在安装 ...

  2. TP X 双击唤醒 X 高通msm8916 X 方案1

    最近要实现双击唤醒屏幕 第一个方案:勉强实现,但是功耗大,还没进行消抖处理 实现步骤如下: 1.找到tp实现的代码kernel/drivers/input/touchscreen/gsl/gslX68 ...

  3. 平台双击唤醒功能不灵敏

    平台虚拟sensor wake gesture依赖于 ACC,请在校准ACC后重新测试下黑屏唤醒功能,校准方式:##83789## -> 单项测试 -> 加速度传感器校验 1)双击黑屏唤醒 ...

  4. tp 双击唤醒 最终实现方案 参考

    折腾许久,终于调试出一个比较满意的版本,采用的许多方法跟上一篇不一样,在这里重新整理.注册和上报键值这里就不在累赘了,本篇博客主要要解决以下bug:1.系统进入睡眠状态后,如何通过tp唤醒系统.2.如 ...

  5. tp 双击唤醒 最终方案 实现流程

    折腾许久,终于调试出一个比较满意的版本,采用的许多方法跟上一篇不一样,在这里重新整理.注册和上报键值这里就不在累赘了,本篇博客主要要解决以下bug:1.系统进入睡眠状态后,如何通过tp唤醒系统.2.如 ...

  6. iphone android 双击,iPhone8新功能曝光:双击唤醒屏幕 向安卓手机学习

    原标题:iPhone8新功能曝光:双击唤醒屏幕 向安卓手机学习 大家都知道,唤醒iPhone屏幕的方式有电源键和Home键,现在,iPhone8的又一个新功能曝光,其增加了唤醒屏幕的方式,就是双击屏幕 ...

  7. GT9XX触摸屏双击唤醒功能分析

    一.触摸屏唤醒方式 1.在屏幕上画其中26个字母中的一个来唤醒屏幕:例如:a/b/c/d-. 2. 在屏幕上画线唤醒屏幕:"上/下/左/右" 3.双击屏幕唤醒:在屏幕上双击两下. ...

  8. Touch Driver介绍

    Touch Driver介绍 一.相关知识介绍 1.Touch Driver的加载过程 GWES到[HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]的" ...

  9. 杰理-watch-手表-AC701-双击屏幕唤醒

    杰理-watch-手表-AC701-双击屏幕唤醒 TP不在休眠状态,功耗较大,测试熄屏功耗2-3mA (1)TP抬起的时候rouse_two_flag置1 判断是都开启双击唤醒,关闭TP则进入睡眠,功 ...

最新文章

  1. 在 SAP HANA database Explorer 里添加 HDI 容器
  2. 第2章 DOS循环:for命令详解
  3. docker logstash_Mysql 同步数据到 Elasticserach(使用logstash-input-jdbc)
  4. 利用DELL的OMSA监控服务器的温度
  5. Ubuntu 18.04中安装飞行模拟器FlightGear 2018.2.1
  6. 如何在校外下载期刊全文
  7. java必记单词_70个学习JAVA必背的英语单词,了解下
  8. linux ftp查看列表命令,linux查询ftp命令
  9. ShadowGun: Optimizing for Mobile Sample Level
  10. WORD中编辑页码方法大全
  11. java开发坦克大战小游戏
  12. 当游戏遇上电视,智能大屏就能讲出新故事?
  13. 贡献度分析--帕累托图
  14. 网易云那些触动人心的经典热评
  15. JavaScript getDay()与getDate()
  16. mysql replicator_聊聊rocketmq-mysql的Replicator
  17. php工具能自动出代码的,打造自己的PHP半自动化代码审计工具
  18. 哈希表--管理公司员工信息
  19. 2022,这些大屏可视化素材,够你用一整年了(附可视化素材包)
  20. python 协程库_python 协程库gevent学习--源码学习(一)

热门文章

  1. c# mysql数据库连接字符串_C#下各类数据库连接字符串
  2. centos 8 epel 私有仓库
  3. 19999元起售!大疆发布Mavic 3行业系列无人机;乐高集团上半年新开66家品牌零售店有46家在中国 | 美通企业日报...
  4. Android窗口Z轴计算以及WindowState排列规则
  5. linux 赚钱游戏服务器,在Linux上构建游戏服务器所需的一切
  6. 计算机系美国留学推荐信中文版,2011美国出国留学推荐信范文(计算机专业)...
  7. java注解@autowired_Spring 的@Autowired注解
  8. 纵享丝滑滑动切换的周月日历,水滴效果,丰富自定义日历样式,仿小米日历(ViewDragHelper实现)...
  9. JAVA 模拟post 表单提交
  10. jedis 关闭链接_Jedis连接池