调elp8865 手势感应,加上一曲下一曲功能

将自己调elp8865的过程记录一下,也方便各位童鞋参考:
1. 调driver:
       保证elp8865  模块供电正常,并且主控能对其iic的读写正常后说明硬件work了,下面就是让感应处理正确计算就行了。
       1.1:epl8865_probe是否已经正常跑进去了:iic读出来的reg以及/sys/devices/platform/elan_alsps下面的DEVICE_ATTR是否已经生成,若生成下面就可以加调试了。
       1.2:配置 #define GES_POLLING_MODE         1// 1 is polling mode, 0 is interrupt mode
       1.3: 若是polling模式请打开如下:
        {
epl8865_gesture_enable(epld, 0, true);
epl8865_restart_work();
}
        打开后ges ir是会亮起来的,这时可以用手机的camera确认一下,如果没有说明ges的ir有问题,找硬件去确认下。
       1.4 若工作正常此时 driver里的一个简单算法就可以判断手势的上下左右了。

2. 添加ges input的ev_key:

        epld->input_dev->keybit[BIT_WORD(KEY_NEXTSONG)] |= BIT_MASK(KEY_NEXTSONG);
epld->input_dev->keybit[BIT_WORD(KEY_PREVIOUSSONG)] |= BIT_MASK(KEY_PREVIOUSSONG);


       将driver里判断到的上下处加上:如

   ......

else  if(event==EVENT_LEFT)
    {
        gRawData.ges_event = EVENT_LEFT;
        GES_LOG("  --> LEFT\n\n");
LOG_ERR("  --> LEFT\n\n");


        input_report_key(idev, KEY_NEXTSONG, 1);
        input_report_key(idev, KEY_NEXTSONG, 0);
        input_sync(idev);
    }
......    

3.      添加linux key与android key的map关系,下面以rk3188的为列的,其它平台的请比芦路画飘。

       找到 /system/usr/keylayout /rk29-keypad.kl文件,并在其它添加

      key 165   MEDIA_PREVIOUS
      key 163   MEDIA_NEXT

      然后保存。

你可能感兴趣的:(调elp8865 手势感应,加上一曲下一曲功能)