| Index: ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc
|
| diff --git a/ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc b/ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc
|
| index a6d0b64d196bb75d36d121ca319e83cfbbcd8581..41f484916454655a529bdfca24c40508c6b0f1b5 100644
|
| --- a/ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc
|
| +++ b/ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc
|
| @@ -18,10 +18,11 @@ ScopedDisableInternalMouseAndKeyboardOzone::
|
| ScopedDisableInternalMouseAndKeyboardOzone() {
|
| ui::InputController* input_controller =
|
| ui::OzonePlatform::GetInstance()->GetInputController();
|
| - if (input_controller->HasTouchpad()) {
|
| + if (input_controller->HasTouchpad() &&
|
| + input_controller->IsInternalTouchpadEnabled()) {
|
| + should_ignore_touch_pad_ = false;
|
| input_controller->SetInternalTouchpadEnabled(false);
|
| - aura::client::GetCursorClient(Shell::GetInstance()->GetPrimaryRootWindow())
|
| - ->HideCursor();
|
| + Shell::GetInstance()->cursor_manager()->HideCursor();
|
| }
|
|
|
| // Allow the acccessible keys present on the side of some devices to continue
|
| @@ -38,7 +39,12 @@ ScopedDisableInternalMouseAndKeyboardOzone::
|
| ~ScopedDisableInternalMouseAndKeyboardOzone() {
|
| ui::InputController* input_controller =
|
| ui::OzonePlatform::GetInstance()->GetInputController();
|
| - input_controller->SetInternalTouchpadEnabled(true);
|
| +
|
| + if (!should_ignore_touch_pad_) {
|
| + input_controller->SetInternalTouchpadEnabled(true);
|
| + Shell::GetInstance()->cursor_manager()->ShowCursor();
|
| + }
|
| +
|
| input_controller->SetInternalKeyboardFilter(false /* enable_filter */,
|
| std::vector<ui::DomCode>());
|
| }
|
|
|