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..63be6eca1cbc04e9b24d254c2c5144399ceea7a1 100644 |
--- a/win8/metro_driver/chrome_app_view_ash.cc |
+++ b/win8/metro_driver/chrome_app_view_ash.cc |
@@ -1267,10 +1267,15 @@ 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, status.RepeatCount, status.ScanCode, |
+ GetKeyboardEventFlags())); |
+ } else { |
+ ui_channel_->Send(new MetroViewerHostMsg_Character( |
+ char_code, status.RepeatCount, status.ScanCode, |
+ GetKeyboardEventFlags())); |
+ } |
return S_OK; |
} |