// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_CLIENT_INPUT_NORMALIZING_INPUT_FILTER_WIN_H_ #define REMOTING_CLIENT_INPUT_NORMALIZING_INPUT_FILTER_WIN_H_ #include "remoting/proto/event.pb.h" #include "remoting/protocol/input_filter.h" namespace remoting { // NormalizingInputFilterWin works around a quirk in Windows' handling of the // AltGr key. When using a layout that treats RightAlt as AltGr, Windows // generates the following for an AltGr keydown/keyup cycle: // // keydown LeftControl // keydown RightAlt // keyup LeftControl // keyup RightAlt // // In a layout without AltGr the key will generate only RightAlt events. // // This filter captures LeftControl keydown events and defers them until // some other event occurs; if the next event is a RightAlt keydown then // the LeftControl is ignored and neither keydown nor keyup will be sent // for it. class NormalizingInputFilterWin : public protocol::InputFilter { … }; } // namespace remoting #endif // REMOTING_CLIENT_INPUT_NORMALIZING_INPUT_FILTER_WIN_H_