Posted at

cocos2d-x 3.1 では Android のバックキーのキーコードは `KEY_ESCAPE` を使う。

More than 5 years have passed since last update.

3.0 までは KEY_BACKSPACE が使われていましたが、 3.1 からは KEY_ESCAPE を使うようです。

こんな感じ。

auto listener = EventListenerKeyboard::create();

listener->onKeyReleased = [](EventKeyboard::KeyCode keyCode, Event* unused_event) {
if (keyCode == EventKeyboard::KeyCode::KEY_ESCAPE) {
CCLOG("Back!");
}
};

理由は、


Because desktop and mobile phones share the same key code, and escape is used as back menu on desktop.

https://github.com/cocos2d/cocos2d-x/pull/6853#issuecomment-43706077


だそうです。

https://github.com/cocos2d/cocos2d-x/commit/33f7a500f363479eb6acf9c0cd09cd8631b19cba