Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "remoting/protocol/key_event_tracker.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 #include "remoting/proto/event.pb.h" | |
| 9 | |
| 10 namespace remoting { | |
| 11 | |
|
Sergey Ulanov
2011/12/20 00:05:35
remove this line
Wez
2011/12/20 07:14:14
Done.
| |
| 12 namespace protocol { | |
| 13 | |
| 14 KeyEventTracker::KeyEventTracker(InputStub* input_stub) | |
| 15 : input_stub_(input_stub) | |
| 16 { | |
|
Sergey Ulanov
2011/12/20 00:05:35
must be on the previous line.
Wez
2011/12/20 07:14:14
Done.
| |
| 17 } | |
| 18 | |
| 19 KeyEventTracker::~KeyEventTracker() { | |
| 20 DCHECK(pressed_keys_.empty()); | |
| 21 } | |
| 22 | |
| 23 void KeyEventTracker::InjectKeyEvent(const KeyEvent& event) { | |
| 24 DCHECK(event.has_pressed()); | |
| 25 DCHECK(event.has_keycode()); | |
| 26 if (event.pressed()) { | |
| 27 pressed_keys_.insert(event.keycode()); | |
| 28 } else { | |
| 29 pressed_keys_.erase(event.keycode()); | |
| 30 } | |
| 31 input_stub_->InjectKeyEvent(event); | |
| 32 } | |
| 33 | |
| 34 void KeyEventTracker::InjectMouseEvent(const MouseEvent& event) { | |
| 35 input_stub_->InjectMouseEvent(event); | |
| 36 } | |
| 37 | |
| 38 void KeyEventTracker::ReleaseAllKeys() { | |
| 39 std::set<int>::iterator i; | |
| 40 for (i = pressed_keys_.begin(); i != pressed_keys_.end(); ++i) { | |
| 41 KeyEvent event; | |
| 42 event.set_keycode(*i); | |
| 43 event.set_pressed(false); | |
| 44 input_stub_->InjectKeyEvent(event); | |
| 45 } | |
| 46 pressed_keys_.clear(); | |
| 47 } | |
| 48 | |
| 49 } // namespace protocol | |
| 50 | |
| 51 } // namespace remoting | |
| OLD | NEW |