Index: remoting/client/plugin/pepper_input_handler.cc |
diff --git a/remoting/client/plugin/pepper_input_handler.cc b/remoting/client/plugin/pepper_input_handler.cc |
index 452668e58231e2ba261bbc11c4e81583a77efc16..cdc21b0f8d83ff2825f20771a5a194da4041ee83 100644 |
--- a/remoting/client/plugin/pepper_input_handler.cc |
+++ b/remoting/client/plugin/pepper_input_handler.cc |
@@ -27,6 +27,11 @@ void PepperInputHandler::Initialize() { |
void PepperInputHandler::HandleKeyEvent(bool keydown, |
const PP_InputEvent_Key& event) { |
+ if (keydown) { |
+ pressed_keys_.insert(event.key_code); |
+ } else { |
+ pressed_keys_.erase(event.key_code); |
+ } |
SendKeyEvent(keydown, event.key_code); |
} |
@@ -61,4 +66,12 @@ void PepperInputHandler::HandleMouseButtonEvent( |
} |
} |
+void PepperInputHandler::ReleaseAllKeys() { |
+ std::set<int>::iterator i; |
+ for (i = pressed_keys_.begin(); i != pressed_keys_.end(); ++i) { |
+ SendKeyEvent(false, *i); |
+ } |
+ pressed_keys_.clear(); |
+} |
+ |
} // namespace remoting |