| Index: remoting/client/normalizing_input_filter_win.cc
|
| diff --git a/remoting/client/normalizing_input_filter_win.cc b/remoting/client/normalizing_input_filter_win.cc
|
| deleted file mode 100644
|
| index 2fca24253a6793a0ae9cb0b75c17f33ac7cb8021..0000000000000000000000000000000000000000
|
| --- a/remoting/client/normalizing_input_filter_win.cc
|
| +++ /dev/null
|
| @@ -1,108 +0,0 @@
|
| -// Copyright 2015 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/normalizing_input_filter_win.h"
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include "base/logging.h"
|
| -#include "ui/events/keycodes/dom/dom_code.h"
|
| -
|
| -namespace remoting {
|
| -
|
| -static bool IsLeftControl(uint32_t code) {
|
| - return code == static_cast<uint32_t>(ui::DomCode::CONTROL_LEFT);
|
| -}
|
| -
|
| -static bool IsRightAlt(uint32_t code) {
|
| - return code == static_cast<uint32_t>(ui::DomCode::ALT_RIGHT);
|
| -}
|
| -
|
| -NormalizingInputFilterWin::NormalizingInputFilterWin(
|
| - protocol::InputStub* input_stub)
|
| - : protocol::InputFilter(input_stub) {}
|
| -
|
| -NormalizingInputFilterWin::~NormalizingInputFilterWin() {}
|
| -
|
| -void NormalizingInputFilterWin::InjectKeyEvent(
|
| - const protocol::KeyEvent& event) {
|
| - DCHECK(event.has_usb_keycode());
|
| - DCHECK(event.has_pressed());
|
| -
|
| - if (event.pressed()) {
|
| - ProcessKeyDown(event);
|
| - } else {
|
| - ProcessKeyUp(event);
|
| - }
|
| -}
|
| -
|
| -void NormalizingInputFilterWin::InjectMouseEvent(
|
| - const protocol::MouseEvent& event) {
|
| - FlushDeferredKeydownEvent();
|
| - InputFilter::InjectMouseEvent(event);
|
| -}
|
| -
|
| -void NormalizingInputFilterWin::ProcessKeyDown(
|
| - const protocol::KeyEvent& event) {
|
| - if (IsRightAlt(event.usb_keycode())) {
|
| - // If there's a deferred LeftControl event then treat it as part of an
|
| - // AltGr press, so swallow it.
|
| - if (deferred_control_keydown_.has_usb_keycode()) {
|
| - altgr_is_pressed_ = true;
|
| - deferred_control_keydown_ = protocol::KeyEvent();
|
| - }
|
| - }
|
| -
|
| - // If a keydown for something other than RightAlt is received while there
|
| - // is a deferred LeftControl event then treat it as an actual LeftControl
|
| - // event, and flush it.
|
| - FlushDeferredKeydownEvent();
|
| -
|
| - if (IsLeftControl(event.usb_keycode())) {
|
| - // If AltGr is pressed then ignore the LeftControl keydown repeat.
|
| - if (altgr_is_pressed_)
|
| - return;
|
| -
|
| - // If LeftControl is not already pressed then defer the event.
|
| - if (!left_control_is_pressed_) {
|
| - deferred_control_keydown_ = event;
|
| - return;
|
| - }
|
| - }
|
| -
|
| - InputFilter::InjectKeyEvent(event);
|
| -}
|
| -
|
| -void NormalizingInputFilterWin::ProcessKeyUp(const protocol::KeyEvent& event) {
|
| - if (IsLeftControl(event.usb_keycode())) {
|
| - // If we treated the LeftControl as part of AltGr, and never sent the
|
| - // keydown, then ignore the keyup as well.
|
| - if (altgr_is_pressed_) {
|
| - altgr_is_pressed_ = false;
|
| - return;
|
| - }
|
| -
|
| - // If there is still a deferred event then flush it, so that LeftControl
|
| - // press-and-release works.
|
| - FlushDeferredKeydownEvent();
|
| -
|
| - left_control_is_pressed_ = false;
|
| - }
|
| -
|
| - InputFilter::InjectKeyEvent(event);
|
| -}
|
| -
|
| -void NormalizingInputFilterWin::FlushDeferredKeydownEvent() {
|
| - if (!deferred_control_keydown_.has_usb_keycode())
|
| - return;
|
| -
|
| - DCHECK_EQ(static_cast<uint32_t>(ui::DomCode::CONTROL_LEFT),
|
| - deferred_control_keydown_.usb_keycode());
|
| -
|
| - left_control_is_pressed_ = true;
|
| - InputFilter::InjectKeyEvent(deferred_control_keydown_);
|
| - deferred_control_keydown_ = protocol::KeyEvent();
|
| -}
|
| -
|
| -} // namespace remoting
|
|
|