keyBackClicked doesn't get called in Marmalade 6.3.1

keyBackClicked doesn't get called in Marmalade 6.3.1
0.0 0



My virtual method keyBackClicked does not get called in Marmalade. Tested in Galaxy S III and Galaxy Y.
It does get called if I compile to Android directly with NDK though.

Is there any workaround for this?

I’m using Cocos2D-X 2.1.3 and Marmalade 6.3.1.


Found the solution already.

Uncomment the codes in CCEGLView::setKeyTouch method in cocos2dx/platform/marmalade/CCEGLView.cpp
In the same file, find and uncomment: s3eKeyboardRegister(S3E_KEYBOARD_KEY_EVENT, &KeyEventHandler, this);
Find and uncomment: s3eKeyboardUnRegister(S3E_KEYBOARD_KEY_EVENT, &KeyEventHandler);

Also replace CCKeypadDispatcher::sharedDispatcher() to the newer syntax CCDirector::sharedDirector()->getKeypadDispatcher()


Thanks for sharing! I have no idea why marmalade developers commented this code from the begining, but maybe you want also send pull request to cocos2dx repository:


You totally saved my day!
I’ve been struggling with this issue for more than two hours and I couldn’t figure out how the hell the keyBackClicked wasn’t being called!
Thank you very much!

Sherry Haibara