OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 5 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
6 #define REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 6 #define REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 | 9 |
10 namespace pp { | 10 namespace pp { |
(...skipping 22 matching lines...) Expand all Loading... |
33 // Enable or disable sending mouse input when the plugin does not have input | 33 // Enable or disable sending mouse input when the plugin does not have input |
34 // focus. | 34 // focus. |
35 void set_send_mouse_input_when_unfocused(bool send) { | 35 void set_send_mouse_input_when_unfocused(bool send) { |
36 send_mouse_input_when_unfocused_ = send; | 36 send_mouse_input_when_unfocused_ = send; |
37 } | 37 } |
38 | 38 |
39 void set_send_mouse_move_deltas(bool enable) { | 39 void set_send_mouse_move_deltas(bool enable) { |
40 send_mouse_move_deltas_ = enable; | 40 send_mouse_move_deltas_ = enable; |
41 } | 41 } |
42 | 42 |
| 43 // Enable or disable detection of stuck modifier keys. |
| 44 void set_detect_stuck_modifiers(bool detect) { |
| 45 detect_stuck_modifiers_ = detect; |
| 46 } |
| 47 |
43 // Processes PPAPI events and dispatches them to |input_stub_|. | 48 // Processes PPAPI events and dispatches them to |input_stub_|. |
44 bool HandleInputEvent(const pp::InputEvent& event); | 49 bool HandleInputEvent(const pp::InputEvent& event); |
45 | 50 |
46 // Must be called when the plugin receives or loses focus. | 51 // Must be called when the plugin receives or loses focus. |
47 void DidChangeFocus(bool has_focus); | 52 void DidChangeFocus(bool has_focus); |
48 | 53 |
49 private: | 54 private: |
50 // Check for any missed "keyup" events for modifiers. These can sometimes be | 55 // Check for any missed "keyup" events for modifiers. These can sometimes be |
51 // missed due to OS-level keyboard shortcuts such as "lock screen" that cause | 56 // missed due to OS-level keyboard shortcuts such as "lock screen" that cause |
52 // focus to switch to another application. If any modifier keys are held that | 57 // focus to switch to another application. If any modifier keys are held that |
(...skipping 16 matching lines...) Expand all Loading... |
69 // True if the plugin should include mouse move deltas, in addition to | 74 // True if the plugin should include mouse move deltas, in addition to |
70 // absolute position information, in mouse events. | 75 // absolute position information, in mouse events. |
71 bool send_mouse_move_deltas_; | 76 bool send_mouse_move_deltas_; |
72 | 77 |
73 // Accumulated sub-pixel and sub-tick deltas from wheel events. | 78 // Accumulated sub-pixel and sub-tick deltas from wheel events. |
74 float wheel_delta_x_; | 79 float wheel_delta_x_; |
75 float wheel_delta_y_; | 80 float wheel_delta_y_; |
76 float wheel_ticks_x_; | 81 float wheel_ticks_x_; |
77 float wheel_ticks_y_; | 82 float wheel_ticks_y_; |
78 | 83 |
| 84 // Whether or not to check for stuck modifier keys on keyboard input events. |
| 85 bool detect_stuck_modifiers_; |
| 86 |
79 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); | 87 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); |
80 }; | 88 }; |
81 | 89 |
82 } // namespace remoting | 90 } // namespace remoting |
83 | 91 |
84 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 92 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
OLD | NEW |