- Code: Select all
CefKeyEvent keyEvent;
keyEvent.character = charCode;
keyEvent.type = KEYEVENT_CHAR;
browser->GetHost()->SendKeyEvent(keyEvent);
However, triggering keyDown and keyUp for special keys (i.e. backspace, arrow keys, etc.) doesn't work as expected:
- Code: Select all
int nativeCode = JavaScriptCodeToNativeCode(charCode);
CefKeyEvent keyEvent;
keyEvent.native_key_code = nativeCode;
if(state == "down") keyEvent.type = KEYEVENT_KEYDOWN;
else if(state == "up") keyEvent.type = KEYEVENT_KEYUP;
browser->GetHost()->SendKeyEvent(keyEvent);
When typing in a text field and press backspace, 2 characters are deleted. When playing a game that uses the arrow keys, press and hold works, but when I release, it just continues as if I still was pressing it. Even more strange, if I'm already holding down the arrow key before loading the app, then release the key, it triggers the keyDown functionality.