winCE 怎么实现锁住触摸屏和按键

来源:互联网 发布:linux下qt输入中文 编辑:程序博客网 时间:2024/04/29 19:43


原帖:http://www.myexception.cn/wince/195404.html


如何实现锁住触摸屏和按键

目前我想实现按键盘中的某个键锁住触摸屏和按键,让他们都不响应,再按这个键,则解锁
各位有什么好办啊

------解决方案--------------------------------------------------------
禁用触摸屏的中断,在键盘钩子中过滤按键。 
------解决方案--------------------------------------------------------
可以发一个消息给驱动层,让驱动层接收到消息的时候屏蔽触摸屏中断 
------解决方案--------------------------------------------------------
TOUCH的PDD层有些函数可能可以实现点击屏幕无响应。 
------解决方案--------------------------------------------------------
探讨
键盘钩子应该是在应用层实现的吧,如何在底层驱动实现,按某个键可以锁住键盘,再按这个键可以解锁的功能呢?

------解决方案--------------------------------------------------------
1、在按键驱动跟TP驱动里面创建一个同名事件,

2、在按键的KEYBDMDD中获取锁屏按键是否按下, 如果按下则发锁屏事件给TP驱动,

3、TP驱动中创建一个线程专门等待按键驱动发出来的锁屏事件,收到锁屏事件后,调用。
DdsiTouchPanelPowerHandler(BOOL bOff)
{
RETAILMSG(TS_DBGON, (TEXT("::: DdsiTouchPanelPowerHandler()\r\n")));
if (bOff)
{
TSP_PowerOff();
}
else
{
TSP_PowerOn();
}
}


------解决方案--------------------------------------------------------
钩子没用过,不过在驱动中改应该也挺简单的,只需要吧触摸屏的中断关了就好
至于键盘可以不给上层发键值就可以了。我的bsp是在IsrThreadProc函数中,建议楼主可以看看
原创粉丝点击