诺基亚7710/9300屏幕截图软件
塞班程序员何在?
老矣!
自己手里有几个诺基亚的7710和9300,想截几个屏幕图片出来,找了一下没找到截图软件,于是我找到了screenshot,但是只有s60v2/s60v3/uiq2版本的sis包,而是7710是诺基亚s90的,9300是诺基亚s80的,以前的sdk开发环境都还在,所以我把源码拉下来,针对塞班s80/s90进行适配。
因为s80的设备也只有9210(c)/9300(i)/9500这几款,而s90只有两款设备,除了7710外还有一款未上市的7700,这两种系统设备的UI是基于Eik的,s60和uiq分布基于Akn和Qik,对应移植相应的地方即可,7710和9300都可以用组合按键来操作,找到BencoolenAppUi
的SetCaptureKey
,增加s80/s90的热键处理就行了,用shift辅助。
#ifdef __S80__
switch (iScreenShotData->Shortcut())
{
case CScreenShotData::EShortcutConfirm:
DoSetCaptureKey(KOkKey, KOkKeyCode);
break;
case CScreenShotData::EShortcutBackspace:
DoSetCaptureKey(EStdKeyBackspace, EKeyBackspace);
break;
default:
User::Invariant();
}
#else
//s90
switch (iScreenShotData->Shortcut())
{
case CScreenShotData::EShortcutSwitch:
DoSetCaptureKey(KeyTabKeyCode);
break;
case CScreenShotData::EShortcutZoom:
DoSetCaptureKey(KeyZoomKeyCode);
break;
default:
User::Invariant();
}
#endif // __S80__
DoSetCapture
修改:
#if ((defined __UIQ__) || (defined __S_V70__) && !(defined __S80__))
iHandleCaptureKey = CCoeEnv::Static()-> RootWin().CaptureKey(
iCaptureKey, 0, 0, 2);
#else
iHandleCaptureKey = CCoeEnv::Static()-> RootWin().CaptureKeyUpAndDowns(
iCaptureKey, EModifierShift, EModifierShift PRIORITYCAPTUREKEY);
iHandleCaptureKey2 = CCoeEnv::Static()-> RootWin().CaptureKey(
iCaptureKey2, EModifierShift, EModifierShift PRIORITYCAPTUREKEY);
#endif
编译好后,安装到设备上