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

Side by Side Diff: remoting/client/plugin/normalizing_input_filter_cros.h

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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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/input_filter.h"
6
7 #include "remoting/proto/event.pb.h"
8
9 namespace remoting {
10
11 // NormalizingInputFilterCros addresses the problems generated by key rewritings
12 // such as Down->PageDown, 1->F1, etc, when keys are pressed in combination with
13 // the OSKey (aka Search). Rewriting OSKey+Down, for example, causes us to
14 // receive the following:
15 //
16 // keydown OSKey
17 // keydown PageDown
18 // keyup PageDown
19 // keyup OSKey
20 //
21 // The host system will therefore behave as if OSKey+PageDown were pressed,
22 // rather than PageDown alone.
23 class NormalizingInputFilterCros : public protocol::InputFilter {
24 public:
25 explicit NormalizingInputFilterCros(protocol::InputStub* input_stub);
26 ~NormalizingInputFilterCros() override;
27
28 // InputFilter overrides.
29 void InjectKeyEvent(const protocol::KeyEvent& event) override;
30 void InjectMouseEvent(const protocol::MouseEvent& event) override;
31
32 private:
33 void ProcessKeyDown(const protocol::KeyEvent& event);
34 void ProcessKeyUp(const protocol::KeyEvent& event);
35
36 void SwitchRewritingKeyToModifying();
37
38 // Holds the keydown event for the most recent OSKey to have been pressed,
39 // while it is Rewriting, or we are not yet sure whether it is Normal,
40 // Rewriting or Modifying. The event is sent on if we switch to Modifying, or
41 // discarded if the OSKey is released while in Rewriting mode.
42 protocol::KeyEvent deferred_keydown_event_;
43
44 // True while the |rewrite_keydown_event_| key is Rewriting, i.e. was followed
45 // by one or more Rewritten key events, and not by any Modified events.
46 bool deferred_key_is_rewriting_;
47
48 // Stores the code of the OSKey while it is pressed for use as a Modifier.
49 uint32 modifying_key_;
50
51 // True if the left Alt key is pressed.
52 bool left_alt_is_pressed_;
53
54 // Previous mouse coordinates.
55 int previous_mouse_x_;
56 int previous_mouse_y_;
57
58 DISALLOW_COPY_AND_ASSIGN(NormalizingInputFilterCros);
59 };
60
61 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/plugin/empty_cursor_filter_unittest.cc ('k') | remoting/client/plugin/normalizing_input_filter_cros.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698