触摸屏锁屏(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、付费专栏及课程。

余额充值