触摸屏锁屏(Touch Lock)功能实现

原创   触摸屏锁屏(Touch Lock)功能实现 收藏

触摸屏锁屏(Touch Lock)功能实现

--作者:赖玉平(Auly)aulyp@163.com

1 、关闭 TOUCH

对应应用程序中的锁屏功能,提供该接口,具体实现是在 PDD 中完成,当接收到应用程序关闭触摸屏的请求后,将设备 上的触摸屏中断关闭,这样触摸屏将不起作用;一直等到请求解锁命令后才重新将中断打开,恢复触摸屏功能。

应用程序通知底层驱动的流程为 :在 MDD 中有个线程,在等待锁屏 / 解锁的请求(事件),应用程序通过 IOCTRL 接口,向平台管理驱动(为了管理平台,写一个专门的驱动程序,用来进行各驱动的通信与管理,主要是为了方便与SHELL接口) 发送锁屏 / 解锁请求, 平台管理驱动 接收到后将通过 SetEvent ,通知 MDD 要进行锁屏 / 解锁请求, MDD 接收到后,通过设置全局变量 g_bMmiLockTouchScreenFlag 以及调用 PDD 接口函数 TouchPanelPowerHandler() 来实现该功能。

实现:

public - à tchmain à tchmain.c

  dwWaitEvent++;

       haWaitEvent[0] = ghMonitorEvent;

       // create lock touch screen events_

hLockTouchScreenEvent      =CreateEvent(NULL,FALSE,FALSE,LOCKTOUCHSCREEN_EVENT_NAME);

       if(NULL == s_hLockTouchScreenEvent)

       {

              RETAILMSG(TRUE, (TEXT("[T]can't create lock touch screen event!/r/n")));

       }

Else

{

              dwWaitEvent++;

              haWaitEvent[1] = s_hLockTouchScreenEvent;

       }

// create unlock touch screen event

s_hUnlockTouchScreenEvent      =

CreateEvent(NULL, FALSE, FALSE, UNLOCKTOUCHSCREEN_EVENT_NAME);

 

       if(NULL == s_hUnlockTouchScreenEvent)

       {

              RETAILMSG(TRUE, (TEXT("[T]can't create unlock touch screen event!/r/n")));

       }else{

              dwWaitEvent++;

              haWaitEvent[2] = s_hUnlockTouchScreenEvent;

       }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值