Index: win8/metro_driver/chrome_app_view_ash.cc |
diff --git a/win8/metro_driver/chrome_app_view_ash.cc b/win8/metro_driver/chrome_app_view_ash.cc |
index 776f23ee99b1170ebd72ca58eb0af6369f7654ac..eaba5fb23a5803a5fcdc17593c4058a271372331 100644 |
--- a/win8/metro_driver/chrome_app_view_ash.cc |
+++ b/win8/metro_driver/chrome_app_view_ash.cc |
@@ -1267,10 +1267,14 @@ HRESULT ChromeAppViewAsh::OnCharacterReceived( |
if (FAILED(hr)) |
return hr; |
- ui_channel_->Send(new MetroViewerHostMsg_Character(char_code, |
- status.RepeatCount, |
- status.ScanCode, |
- GetKeyboardEventFlags())); |
+ if (status.WasKeyDown) { |
+ ui_channel_->Send( |
+ new MetroViewerHostMsg_CharacterForNextKeyEvent(char_code); |
+ } else { |
+ ui_channel_->Send(new MetroViewerHostMsg_Character( |
+ char_code, status.RepeatCount, status.ScanCode, |
+ GetKeyboardEventFlags())); |
+ } |
return S_OK; |
} |