| 80 | } // namespace |
| 81 | |
| 82 | TEST_F(InputControllerFocusTest, CameraViewHotkeysDoNotBypassGuiKeyboardCapture) { |
| 83 | Viewport viewport(200, 200); |
| 84 | InputController controller(nullptr, viewport); |
| 85 | input::InputRouter router; |
| 86 | router.setInputController(&controller); |
| 87 | controller.setInputRouter(&router); |
| 88 | |
| 89 | lfs::event::ScopedHandler handlers; |
| 90 | int goto_cam_view_count = 0; |
| 91 | handlers.subscribe<core::events::cmd::GoToCamView>( |
| 92 | [&](const auto&) { ++goto_cam_view_count; }); |
| 93 | |
| 94 | auto& focus = gui::guiFocusState(); |
| 95 | focus.want_capture_keyboard = true; |
| 96 | |
| 97 | controller.handleKey(input::KEY_RIGHT, input::ACTION_PRESS, input::KEYMOD_NONE); |
| 98 | |
| 99 | EXPECT_EQ(goto_cam_view_count, 0); |
| 100 | } |
| 101 | |
| 102 | TEST_F(InputControllerFocusTest, RebindingKeyCaptureBypassesPythonKeyboardCapture) { |
| 103 | Viewport viewport(200, 200); |
nothing calls this directly
no test coverage detected