Chromium Code Reviews| 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 #include "remoting/client/plugin/pepper_input_handler.h" | 5 #include "remoting/client/plugin/pepper_input_handler.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "ppapi/c/dev/ppb_keyboard_input_event_dev.h" | 8 #include "ppapi/c/dev/ppb_keyboard_input_event_dev.h" |
| 9 #include "ppapi/cpp/input_event.h" | 9 #include "ppapi/cpp/input_event.h" |
| 10 #include "ppapi/cpp/module_impl.h" | 10 #include "ppapi/cpp/module_impl.h" |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 uint32_t GetUsbKeyCode(pp::KeyboardInputEvent pp_key_event) { | 28 uint32_t GetUsbKeyCode(pp::KeyboardInputEvent pp_key_event) { |
| 29 const PPB_KeyboardInputEvent_Dev* key_event_interface = | 29 const PPB_KeyboardInputEvent_Dev* key_event_interface = |
| 30 reinterpret_cast<const PPB_KeyboardInputEvent_Dev*>( | 30 reinterpret_cast<const PPB_KeyboardInputEvent_Dev*>( |
| 31 pp::Module::Get()->GetBrowserInterface( | 31 pp::Module::Get()->GetBrowserInterface( |
| 32 PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE)); | 32 PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE)); |
| 33 if (!key_event_interface) | 33 if (!key_event_interface) |
| 34 return 0; | 34 return 0; |
| 35 return key_event_interface->GetUsbKeyCode(pp_key_event.pp_resource()); | 35 return key_event_interface->GetUsbKeyCode(pp_key_event.pp_resource()); |
| 36 } | 36 } |
| 37 | 37 |
| 38 bool PepperInputHandler::HandleInputEvent(const pp::InputEvent& event) { | 38 bool PepperInputHandler::HandleInputEvent(const pp::InputEvent& event, |
| 39 bool mouse_locked) { | |
| 39 switch (event.GetType()) { | 40 switch (event.GetType()) { |
| 40 case PP_INPUTEVENT_TYPE_CONTEXTMENU: { | 41 case PP_INPUTEVENT_TYPE_CONTEXTMENU: { |
| 41 // We need to return true here or else we'll get a local (plugin) context | 42 // We need to return true here or else we'll get a local (plugin) context |
| 42 // menu instead of the mouseup event for the right click. | 43 // menu instead of the mouseup event for the right click. |
| 43 return true; | 44 return true; |
| 44 } | 45 } |
| 45 | 46 |
| 46 case PP_INPUTEVENT_TYPE_KEYDOWN: | 47 case PP_INPUTEVENT_TYPE_KEYDOWN: |
| 47 case PP_INPUTEVENT_TYPE_KEYUP: { | 48 case PP_INPUTEVENT_TYPE_KEYUP: { |
| 48 pp::KeyboardInputEvent pp_key_event(event); | 49 pp::KeyboardInputEvent pp_key_event(event); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 return true; | 92 return true; |
| 92 } | 93 } |
| 93 | 94 |
| 94 case PP_INPUTEVENT_TYPE_MOUSEMOVE: | 95 case PP_INPUTEVENT_TYPE_MOUSEMOVE: |
| 95 case PP_INPUTEVENT_TYPE_MOUSEENTER: | 96 case PP_INPUTEVENT_TYPE_MOUSEENTER: |
| 96 case PP_INPUTEVENT_TYPE_MOUSELEAVE: { | 97 case PP_INPUTEVENT_TYPE_MOUSELEAVE: { |
| 97 pp::MouseInputEvent pp_mouse_event(event); | 98 pp::MouseInputEvent pp_mouse_event(event); |
| 98 protocol::MouseEvent mouse_event; | 99 protocol::MouseEvent mouse_event; |
| 99 mouse_event.set_x(pp_mouse_event.GetPosition().x()); | 100 mouse_event.set_x(pp_mouse_event.GetPosition().x()); |
| 100 mouse_event.set_y(pp_mouse_event.GetPosition().y()); | 101 mouse_event.set_y(pp_mouse_event.GetPosition().y()); |
| 102 if (mouse_locked) { | |
| 103 pp::Point delta = pp_mouse_event.GetMovement(); | |
| 104 mouse_event.set_delta_x(delta.x()); | |
| 105 mouse_event.set_delta_y(delta.y()); | |
| 106 } | |
| 101 input_stub_->InjectMouseEvent(mouse_event); | 107 input_stub_->InjectMouseEvent(mouse_event); |
| 102 return true; | 108 return true; |
| 103 } | 109 } |
| 104 | 110 |
| 105 case PP_INPUTEVENT_TYPE_WHEEL: { | 111 case PP_INPUTEVENT_TYPE_WHEEL: { |
| 106 pp::WheelInputEvent pp_wheel_event(event); | 112 pp::WheelInputEvent pp_wheel_event(event); |
| 107 | 113 |
| 108 // Don't handle scroll-by-page events, for now. | 114 // Don't handle scroll-by-page events, for now..\admin2 |
|
Wez
2013/09/05 20:24:45
Ctrl+V fail ;)
alexeypa (please no reviews)
2013/09/06 20:00:17
At least it wasn't the password. :-)
| |
| 109 if (pp_wheel_event.GetScrollByPage()) | 115 if (pp_wheel_event.GetScrollByPage()) |
| 110 return false; | 116 return false; |
| 111 | 117 |
| 112 // Add this event to our accumulated sub-pixel deltas and clicks. | 118 // Add this event to our accumulated sub-pixel deltas and clicks. |
| 113 pp::FloatPoint delta = pp_wheel_event.GetDelta(); | 119 pp::FloatPoint delta = pp_wheel_event.GetDelta(); |
| 114 wheel_delta_x_ += delta.x(); | 120 wheel_delta_x_ += delta.x(); |
| 115 wheel_delta_y_ += delta.y(); | 121 wheel_delta_y_ += delta.y(); |
| 116 pp::FloatPoint ticks = pp_wheel_event.GetTicks(); | 122 pp::FloatPoint ticks = pp_wheel_event.GetTicks(); |
| 117 wheel_ticks_x_ += ticks.x(); | 123 wheel_ticks_x_ += ticks.x(); |
| 118 wheel_ticks_y_ += ticks.y(); | 124 wheel_ticks_y_ += ticks.y(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 153 default: { | 159 default: { |
| 154 LOG(INFO) << "Unhandled input event: " << event.GetType(); | 160 LOG(INFO) << "Unhandled input event: " << event.GetType(); |
| 155 break; | 161 break; |
| 156 } | 162 } |
| 157 } | 163 } |
| 158 | 164 |
| 159 return false; | 165 return false; |
| 160 } | 166 } |
| 161 | 167 |
| 162 } // namespace remoting | 168 } // namespace remoting |
| OLD | NEW |