[keyboard] Captured key input should not be dispatched.
This change prevents captured key input by shells to be
delivered to current view in focus. Keyboard capture
is a critical need of shells (session or story) to
provide keyboard based shell functionality.
Testing: manual
Change-Id: I04edd772aa33365789b28dd24d1bc7ee233d2c02
diff --git a/garnet/bin/ui/root_presenter/presentation1.cc b/garnet/bin/ui/root_presenter/presentation1.cc
index 9d72ddd..2a16b54 100644
--- a/garnet/bin/ui/root_presenter/presentation1.cc
+++ b/garnet/bin/ui/root_presenter/presentation1.cc
@@ -682,6 +682,7 @@
fuchsia::ui::input::KeyboardEvent clone;
fidl::Clone(kbd, &clone);
captured_keybindings_[i].listener->OnEvent(std::move(clone));
+ dispatch_event = false;
}
}
}
diff --git a/garnet/bin/ui/root_presenter/presentation2.cc b/garnet/bin/ui/root_presenter/presentation2.cc
index 647a137..215d195 100644
--- a/garnet/bin/ui/root_presenter/presentation2.cc
+++ b/garnet/bin/ui/root_presenter/presentation2.cc
@@ -652,6 +652,7 @@
fuchsia::ui::input::KeyboardEvent clone;
fidl::Clone(kbd, &clone);
captured_keybindings_[i].listener->OnEvent(std::move(clone));
+ dispatch_event = false;
}
}
}