×
Namespaces

Variants
Actions

如何才能检查键盘锁事件?

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
huwell 在 02 Jan 2008 创建
最后由 hamishwillee 在 15 Dec 2011 编辑
  • 开发伙伴平台:

S60 3rd Edition


  • 详细描述

我们通过window server请求一个单独的事件,即可监控键盘锁的开启与关闭。


为了获得这些事件,首先我们需要调用RWsSession::EventReady(),EventReady()是一个异步方法,所以自然是被活动对象所调用(即从CActive派生的对象):


iCoeEnv->WsSession().EventReady( &iStatus );
 
SetActive();



当请求完成后,CActive::RunL()即被调用,此时可通过RWsSession::GetEvent()读取到事件。


相关的事件类型如下(在eikon.hrh中有所定义):


EEikKeyLockEnabled = 1110
 
EEikKeyLockDisabled = 1111



下面是RunL()中一段示例代码:

void CMyEventListener::RunL()
 
{
 
if(iStatus == KErrNone)
 
{
 
// get the event
 
TWsEvent wsEvent;
 
iCoeEnv->WsSession().GetEvent(wsEvent);
 
switch( wsEvent.Type() )
 
{
 
case EEikKeyLockEnabled:
 
{
 
// keylock was enabled
 
break;
 
}
 
case EEikKeyLockDisabled:
 
{
 
// keylock was disabled
 
break;
 
}
 
case EEventNull:
 
default:
 
break;
 
}
 
// request next event
 
iCoeEnv->WsSession().EventReady( &iStatus );
 
SetActive();
 
}
 
}
This page was last modified on 15 December 2011, at 09:40.
72 page views in the last 30 days.
×