Here are the code snippets for the key mapping implementation. There is also a place for virtual keyboard.<br><br>#include "backends/common/virtual-keyboard.h"<br>#include "backends/common/key-mapper.h"
<br>
<br>OSystem_Common : public OSystem {<br><br>public:<br><br>  virtual bool pollMappedEvent(Common::Event &);<br><br>protected:<br><br>  virtual std::list<Common::KeyCode> getAvailableKeys() const = 0;<br><br>private:
<br><br>  KeyMapper _keyMapper(getAvailableKeys());<br>  VirtualKeyboard _virtualKeyboard;<br><br>};<br><br>bool OSystem_Common::pollMappedEvent(Common::Event &event) {<br><br>  bool result = true;<br>  if (pollEvent(event)) { // calling virtual superclass function
<br>    if (getFeatureState(kFeatureVirtualKeyboard) && (event.type == Common::EVENT_LBUTTONDOWN || event.type == Common::EVENT_LBUTTONUP)) { // possible a virtual keyboard event<br>      _virtualKeyboard->resolve(event); // try to resolve a virtual keyboard event
<br>    }<br>    _keyMapper->resolve(event);<br>  } else {<br>    result = false;<br>  }<br>  return result;<br>}<br><br>==================================================================================================
<br><br>in<br><br>  DefaultEventManager::pollEvent(Common::Event &event)<br><br>there will be<br><br>  result = _boss->pollMappedEvent(event);<br><br>instead of<br><br>  result = _boss->pollEvent(event);<br><br>

-- <br>Best regards,<br>Serhiy Batyuk