Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Unified Diff: remoting/client/plugin/normalizing_input_filter_mac.cc

Issue 1228333004: Move code that doesn't depend on PPAPI out of remoting/client/plugin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/client/plugin/normalizing_input_filter_mac.cc
diff --git a/remoting/client/plugin/normalizing_input_filter_mac.cc b/remoting/client/plugin/normalizing_input_filter_mac.cc
deleted file mode 100644
index ca2fa4b3c517ce3fd3cd526176c754ee8d5a1348..0000000000000000000000000000000000000000
--- a/remoting/client/plugin/normalizing_input_filter_mac.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "remoting/client/plugin/normalizing_input_filter_mac.h"
-
-#include <map>
-#include <vector>
-
-#include "base/logging.h"
-#include "remoting/proto/event.pb.h"
-#include "remoting/protocol/usb_key_codes.h"
-
-namespace remoting {
-
-NormalizingInputFilterMac::NormalizingInputFilterMac(
- protocol::InputStub* input_stub)
- : protocol::InputFilter(input_stub) {
-}
-
-NormalizingInputFilterMac::~NormalizingInputFilterMac() {}
-
-void NormalizingInputFilterMac::InjectKeyEvent(const protocol::KeyEvent& event)
-{
- DCHECK(event.has_usb_keycode());
-
- bool is_special_key = event.usb_keycode() == kUsbLeftControl ||
- event.usb_keycode() == kUsbLeftShift ||
- event.usb_keycode() == kUsbLeftAlt ||
- event.usb_keycode() == kUsbRightControl ||
- event.usb_keycode() == kUsbRightShift ||
- event.usb_keycode() == kUsbRightAlt ||
- event.usb_keycode() == kUsbTab;
-
- bool is_cmd_key = event.usb_keycode() == kUsbLeftOs ||
- event.usb_keycode() == kUsbRightOs;
-
- if (event.usb_keycode() == kUsbCapsLock) {
- // Mac OS X generates keydown/keyup on lock-state transitions, rather than
- // when the key is pressed & released, so fake keydown/keyup on each event.
- protocol::KeyEvent newEvent(event);
-
- newEvent.set_pressed(true);
- InputFilter::InjectKeyEvent(newEvent);
- newEvent.set_pressed(false);
- InputFilter::InjectKeyEvent(newEvent);
-
- return;
- } else if (!is_cmd_key && !is_special_key) {
- // Track keydown/keyup events for non-modifiers, so we can release them if
- // necessary (see below).
- if (event.pressed()) {
- key_pressed_map_[event.usb_keycode()] = event;
- } else {
- key_pressed_map_.erase(event.usb_keycode());
- }
- }
-
- if (is_cmd_key && !event.pressed()) {
- // Mac OS X will not generate release events for keys pressed while Cmd is
- // pressed, so release all pressed keys when Cmd is released.
- GenerateKeyupEvents();
- }
-
- InputFilter::InjectKeyEvent(event);
-}
-
-void NormalizingInputFilterMac::GenerateKeyupEvents() {
- for (KeyPressedMap::iterator i = key_pressed_map_.begin();
- i != key_pressed_map_.end(); ++i) {
- // The generated key up event will have the same key code and lock states
- // as the original key down event.
- protocol::KeyEvent event = i->second;
- event.set_pressed(false);
- InputFilter::InjectKeyEvent(event);
- }
-
- // Clearing the map now that we have released all the pressed keys.
- key_pressed_map_.clear();
-}
-
-} // namespace remoting
« no previous file with comments | « remoting/client/plugin/normalizing_input_filter_mac.h ('k') | remoting/client/plugin/normalizing_input_filter_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698