关于symbian按键事件的一些总结(1)----------按键事件的捕获

对于symbian操作系统上按键事件的捕获,既可以通过UI中的HandleKeyEventL也可以通过view中的OfferKeyEventL,这两个函数都是通过重载基类中的相应函数来实现的。使用这两个函数的主要区别在于使用OfferKeyEventL前需把对应的view压入控件栈(AddToStackL),否则捕获不到该控件对应的按键输入,而HandleKeyEventL则不需要压入控件栈,可以处理全局按键事件。这两个函数根据实际情况分别使用,当多个view时最好用OfferKeyEventL,这样便于控制,可在各个view中分别对按键输入做不同的相应。另外,如果同时定义了这两个函数,关于他们的执行顺序,在http://blog.csdn.net/spurs/archive/2007/11/03/1864831.aspx里有介绍,有按键事件时其先被传递到控件栈中的OfferKeyEventL,如果OfferKeyEventL返回EKeyWasConsumed(被消耗?),则不再传到HandleKeyEventL中,否则传递到HandleKeyEventL在做处理。

下面转一篇文章,算是对按键捕获只是的一些补充:

当用户按下一个键后,keyboard hardware就会生成一个中断,由keyboard driver捕捉,之后分解出这次按键事件的key code,然后driver将它发送到系统端的一个线程——被称为window server,而window server又会把它发向在window group中拥有焦点的那个应用程序中,这个步骤是使用一个control environment(CONE)来完成的,它是window serveruser interface library之间的一个API函数。

api函数中可以看出这个处理过程当windows server发送一个按键的事件便调用AppUI中的HandleWsEventL()HandleWsEventL()方法首先调用CCoeControl::OfferKeyEventL()如果OfferKeyEvent()返回EKeyWasNotConsumed则继续调用AppUI中的HandleKeyEventL()。如果OffKeyEventL()处理了事件则返回EKeyWasConsumed

如果想直接调用AppUI中的HandleKeyEventL()可以通过set ECoeStackFlagRefusesAllKeys 来省去调用OfferKeyEventL()。

每次按键都会产生3个事件类型1 EEventKeyDown2 EEventKeyUp3 EEventKeyDown;可以从OfferKeyEventLconst TKeyEvent& aKeyEvent,TEventCode aType)中的aType中得到事件类型。aKeyEvent是一个struct可以得到按键的更多属性,egiCode指名按了哪个键(键名在e32keys.h中)iRepeats可以判断是重复按键还是长按键。如果想改变系统的按键重复率可以通过RWsSession SetKeyboardRepeatRate方法来设置。

S60手机默认情况下是不能接受连续按键的且只有先按下的键可以被接受(也就是按键阻塞,电源键和编辑键默认为非按键阻塞)。可以通过s60提供的CAKnAppUI中的SetKeyBlockMode()方法来取消按键阻塞。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Symbian刷机软件是一种应用程序,可以帮助用户在Symbian操作系统的智能手机上进行刷机操作。刷机是指将手机的操作系统替换为另一个版本或修改现有版本的过程。 刷机软件通常具有以下几个主要功能: 1. 刷机固件更新:通过使用刷机软件,用户可以安装最新的操作系统版本,以便享受较新的功能、修复漏洞和提高手机性能。 2. 刷机解锁:有些手机运营商对手机进行了锁定,限制了用户对手机进行一些自定义设置或更换SIM卡。通过刷机软件,可以解锁手机,使其具有更大的自由度。 3. 安装定制ROM:一些用户喜欢通过自定义ROM来改变手机的外观和功能。使用刷机软件,用户可以在手机上安装定制ROM,以实现个性化的体验。 4. 清除手机数据:在刷机过程中,用户经常需要清除手机上的数据,以确保干净的安装。刷机软件可以帮助用户轻松地备份和清除手机上的数据。 刷机软件的使用需要谨慎,因为错误的操作可能会导致手机无法使用或丢失数据。在使用刷机软件之前,建议用户先备份手机数据,并确保下载合法和可信赖的刷机软件。 总结起来,Symbian刷机软件是一种帮助用户在Symbian操作系统的智能手机上进行刷机操作的应用程序。它提供了多种功能,如固件更新、解锁、定制ROM安装和数据清除。然而,使用刷机软件需要谨慎,并建议用户备份手机数据并下载可信赖的软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值